@charset "UTF-8";
/* ----- VENDOR IMPORTS ----- */
@import url("https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700");
html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

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

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after 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/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 when focused and also mouse hovered in all browsers.
 */
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 {
  -moz-box-sizing: content-box;
  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: default; }

/**
 * 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
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

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

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }

.select2-container .select2-selection--single {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-selection--single .select2-selection__clear {
  position: relative; }

.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px; }

.select2-container .select2-selection--multiple {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline-block;
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-search--inline {
  float: left; }

.select2-container .select2-search--inline .select2-search__field {
  box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  padding: 0; }

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

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

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none; }

.select2-results__option[aria-selected] {
  cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  box-sizing: border-box; }

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-search--dropdown.select2-search--hide {
  display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold; }

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px; }

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0 5px;
  width: 100%; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
  list-style: none; }

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  color: #999;
  margin-top: 5px;
  float: left; }

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 10px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #999;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px; }

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  color: #888;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

.fancybox-enabled {
  overflow: hidden; }

.fancybox-enabled body {
  overflow: visible;
  height: 100%; }

.fancybox-is-hidden {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

/* Make sure that the first one is on the top */
.fancybox-container ~ .fancybox-container {
  z-index: 99992; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.fancybox-outer {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: 0.87;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption-wrap {
  position: absolute;
  direction: ltr;
  z-index: 99997;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, visibility 0s linear .25s;
  box-sizing: border-box; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1;
  visibility: visible;
  transition: opacity .25s, visibility 0s; }

.fancybox-infobar {
  top: 0;
  left: 50%;
  margin-left: -79px; }

.fancybox-infobar__body {
  display: inline-block;
  width: 70px;
  line-height: 44px;
  font-size: 13px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  text-align: center;
  color: #ddd;
  background-color: rgba(30, 30, 30, 0.7);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased; }

.fancybox-toolbar {
  top: 0;
  right: 0; }

.fancybox-stage {
  overflow: hidden;
  direction: ltr;
  z-index: 99994;
  -webkit-transform: translate3d(0, 0, 0); }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch;
  display: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--image {
  overflow: visible; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video iframe {
  background: #000; }

.fancybox-slide--map .fancybox-content,
.fancybox-slide--map iframe {
  background: #E5E3DF; }

.fancybox-slide--next {
  z-index: 99995; }

.fancybox-slide > div {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  box-sizing: border-box; }

.fancybox-slide .fancybox-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-can-zoomOut .fancybox-image-wrap {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-image-wrap {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-can-drag .fancybox-image-wrap {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-dragging .fancybox-image-wrap {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--iframe .fancybox-content {
  padding: 0;
  width: 80%;
  height: 80%;
  max-width: calc(100% - 100px);
  max-height: calc(100% - 88px);
  overflow: visible;
  background: #fff; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-error {
  margin: 0;
  padding: 40px;
  width: 100%;
  max-width: 380px;
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }

.fancybox-close-small {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  z-index: 10;
  cursor: pointer; }

.fancybox-close-small:after {
  content: '×';
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
  font: 20px/30px Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  border-radius: 50%;
  border-width: 0;
  background: #fff;
  transition: background .25s;
  box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus:after {
  outline: 1px dotted #888; }

.fancybox-close-small:hover:after {
  color: #555;
  background: #eee; }

.fancybox-slide--iframe .fancybox-close-small {
  top: 0;
  right: -44px; }

.fancybox-slide--iframe .fancybox-close-small:after {
  background: transparent;
  font-size: 35px;
  color: #aaa; }

.fancybox-slide--iframe .fancybox-close-small:hover:after {
  color: #fff; }

/* Caption */
.fancybox-caption-wrap {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0 30px;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  pointer-events: none; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button,
.fancybox-caption select {
  pointer-events: all; }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Buttons */
.fancybox-button {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  width: 44px;
  height: 44px;
  line-height: 44px;
  text-align: center;
  background: transparent;
  color: #ddd;
  border-radius: 0;
  cursor: pointer;
  vertical-align: top;
  outline: none; }

.fancybox-button[disabled] {
  cursor: default;
  pointer-events: none; }

.fancybox-infobar__body, .fancybox-button {
  background: rgba(30, 30, 30, 0.6); }

.fancybox-button:hover:not([disabled]) {
  color: #fff;
  background: rgba(0, 0, 0, 0.8); }

.fancybox-button::before,
.fancybox-button::after {
  content: '';
  pointer-events: none;
  position: absolute;
  background-color: currentColor;
  color: currentColor;
  opacity: 0.9;
  box-sizing: border-box;
  display: inline-block; }

.fancybox-button[disabled]::before,
.fancybox-button[disabled]::after {
  opacity: 0.3; }

.fancybox-button--left::after,
.fancybox-button--right::after {
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor; }

.fancybox-button--left::after {
  left: 20px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.fancybox-button--right::after {
  right: 20px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--left {
  border-bottom-left-radius: 5px; }

.fancybox-button--right {
  border-bottom-right-radius: 5px; }

.fancybox-button--close::before, .fancybox-button--close::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px); }

.fancybox-button--close::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--close::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* Navigation arrows */
.fancybox-arrow {
  position: absolute;
  top: 50%;
  margin: -50px 0 0 0;
  height: 100px;
  width: 54px;
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  cursor: pointer;
  z-index: 99995;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: opacity .25s; }

.fancybox-arrow::after {
  content: '';
  position: absolute;
  top: 28px;
  width: 44px;
  height: 44px;
  background-color: rgba(30, 30, 30, 0.8);
  background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 24px 24px; }

.fancybox-arrow--right {
  right: 0; }

.fancybox-arrow--left {
  left: 0;
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1); }

.fancybox-arrow--right::after,
.fancybox-arrow--left::after {
  left: 0; }

.fancybox-show-nav .fancybox-arrow {
  opacity: 0.6; }

.fancybox-show-nav .fancybox-arrow[disabled] {
  opacity: 0.3; }

/* Loading indicator */
.fancybox-slide > .fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1; }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  -webkit-transform: rotate(-360deg);
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--next {
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--current {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 1; }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--next {
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1); }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-infobar {
    left: 0;
    margin-left: 0; }
  .fancybox-button--left,
  .fancybox-button--right {
    display: none !important; }
  .fancybox-caption {
    padding: 20px 0;
    margin: 0; } }

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: calc(50% - 7px);
  top: calc(50% - 6px);
  border: 2px solid;
  background: none; }

/* Slideshow button */
.fancybox-button--play::before,
.fancybox-button--pause::before {
  top: calc(50% - 6px);
  left: calc(50% - 4px);
  background: transparent; }

.fancybox-button--play::before {
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  border-radius: 1px; }

.fancybox-button--pause::before {
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px; }

/* Thumbs */
.fancybox-thumbs {
  display: none; }

.fancybox-button--thumbs {
  display: none; }

@media all and (min-width: 800px) {
  .fancybox-button--thumbs {
    display: inline-block; }
  .fancybox-button--thumbs span {
    font-size: 23px; }
  .fancybox-button--thumbs::before {
    width: 3px;
    height: 3px;
    top: calc(50% - 2px);
    left: calc(50% - 2px);
    box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; }
  .fancybox-thumbs {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 220px;
    margin: 0;
    padding: 5px 5px 0 0;
    background: #fff;
    word-break: normal;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    box-sizing: border-box;
    z-index: 99995; }
  .fancybox-show-thumbs .fancybox-thumbs {
    display: block; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 220px; }
  .fancybox-thumbs > ul {
    list-style: none;
    position: absolute;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 0; }
  .fancybox-thumbs > ul > li {
    float: left;
    overflow: hidden;
    max-width: 50%;
    padding: 0;
    margin: 0;
    width: 105px;
    height: 75px;
    position: relative;
    cursor: pointer;
    outline: none;
    border: 5px solid transparent;
    border-top-width: 0;
    border-right-width: 0;
    -webkit-tap-highlight-color: transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-sizing: border-box; }
  li.fancybox-thumbs-loading {
    background: rgba(0, 0, 0, 0.1); }
  .fancybox-thumbs > ul > li > img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    max-height: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .fancybox-thumbs > ul > li:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 2px;
    border: 4px solid #4ea7f9;
    z-index: 99991;
    opacity: 0;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
    opacity: 1; } }

/* ----- THEME IMPORTS ----- */
/* ----- Add any extra _*.scss files here ----- */
/* ----- PUT ALL YOUR AMAZING VARIABLES IN HERE ----- */
/* ----- PUT ALL YOUR AMAZING MIXINS IN HERE ----- */
@font-face {
  font-family: "iconfont";
  src: url("iconfont.eot");
  src: url("iconfont.ttf") format("truetype"), url("iconfont.eot?#iefix") format("embedded-opentype"), url("iconfont.woff") format("woff"), url("iconfont.svg#svgiconfont") format("svg");
  font-weight: normal;
  font-style: normal; }

.icon:before {
  display: inline-block;
  font-family: "iconfont";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-lg {
  font-size: 1.3333333333333333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.icon-2x {
  font-size: 2em; }

.icon-3x {
  font-size: 3em; }

.icon-4x {
  font-size: 4em; }

.icon-5x {
  font-size: 5em; }

.icon-fw {
  width: 1.2857142857142858em;
  text-align: center; }

body {
  font-family: "Poppins", sans-serif;
  color: #3B3535;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  zoom: 0.9; }
  body.locked {
    overflow: hidden; }

table {
  margin: 30px 0;
  width: 100%; }
  table th {
    border: 0; }
  table td,
  table th {
    padding: 10px 0; }
  table tr.even,
  table tr.odd {
    background: none;
    border: 0;
    border-bottom: 1px solid #EAE9EC; }
  table tbody {
    border-top: 1px solid #EAE9EC; }
  table th {
    font-size: 0.6875rem;
    color: #666262;
    font-weight: 400; }

fieldset {
  margin: 0; }

section.breadcrumb-container {
  background: #EFEFEF; }
  section.breadcrumb-container .breadcrumb {
    align-items: center;
    display: flex;
    float: unset;
    height: 2.9375rem;
    margin: 0 auto;
    max-width: 75rem;
    position: initial;
    text-transform: capitalize;
    width: 100%; }
    @media screen and (max-width: 1200px) {
      section.breadcrumb-container .breadcrumb {
        padding-left: 1.5rem; } }
    @media screen and (max-width: 680px) {
      section.breadcrumb-container .breadcrumb {
        padding-left: 0.75rem; } }
    section.breadcrumb-container .breadcrumb a {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.5;
      text-decoration-line: underline; }
      @media screen and (max-width: 680px) {
        section.breadcrumb-container .breadcrumb a {
          font-size: 0.5rem; } }
    section.breadcrumb-container .breadcrumb .separator {
      background-image: url("../../images/build/angle-right.svg");
      background-size: 6px;
      background-repeat: no-repeat;
      width: 10px;
      height: 12px;
      margin: 0 8px; }
    section.breadcrumb-container .breadcrumb .active-trail {
      color: #10487a;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.5; }

iframe[title="recaptcha challenge expires in two minutes"] {
  height: 645px !important; }

iframe[title="reCAPTCHA"] {
  width: 422px !important; }

p {
  margin: 0 0 1em; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin: 0 0 1em; }

a,
.fake-link {
  outline: none;
  color: #3B3535;
  text-decoration: none;
  -webkit-appearance: none; }

.main-with-sidebar a:not([class]),
.main-with-sidebar a[class=""] {
  color: #F2743A; }
  .main-with-sidebar a:not([class]):hover,
  .main-with-sidebar a[class=""]:hover {
    text-decoration: underline; }

.main-with-sidebar p {
  font-size: 0.875rem; }

button.no-style {
  background: none;
  border: 0;
  color: #F2743A; }

ul {
  margin: 0;
  padding: 0; }
  ul li {
    list-style: none; }

.main-with-sidebar .text ul {
  font-size: 0.875rem;
  margin: 25px 0;
  list-style-type: none;
  list-style-image: none; }
  .main-with-sidebar .text ul li {
    margin-bottom: 12px;
    padding-left: 20px;
    font-weight: 500;
    position: relative;
    list-style-type: none;
    list-style-image: none;
    background: none; }
    .main-with-sidebar .text ul li:before {
      content: '';
      background: #BBBDBF;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      display: inline-block;
      vertical-align: middle;
      margin-right: 10px;
      position: absolute;
      left: 0;
      top: 10px; }

div.addeventatc {
  box-shadow: none !important; }

header {
  z-index: 20;
  position: fixed;
  top: 0;
  width: 100%;
  background: #FFF; }
  header.fixed .desktop-menu .top {
    padding-bottom: 8px; }
  header.fixed .desktop-menu .logo {
    width: 340px; }
  header.fixed .desktop-menu .bottom ul li {
    padding-top: 12px; }
  header .content-wrapper {
    position: relative;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear;
    box-shadow: 0 0 60px 0 rgba(234, 233, 236, 0.4); }
    header .content-wrapper ul {
      list-style: none;
      padding: 0;
      margin: 0; }
    @media screen and (max-width: 768px) {
      header .content-wrapper {
        padding: 13px 20px; } }
  header .mobile-menu .top::after {
    clear: both;
    content: "";
    display: table; }
  header .mobile-menu .menu-toggle div {
    position: relative;
    margin: 6px 0;
    height: 1.5px;
    width: 100%;
    -webkit-transition: all 444ms ease-out;
    -moz-transition: all 444ms ease-out;
    transition: all 444ms ease-out;
    background: #545151;
    border-radius: 3px; }
    header .mobile-menu .menu-toggle div:before, header .mobile-menu .menu-toggle div:after {
      content: '';
      border-radius: 3px;
      height: 1.5px;
      width: 100%;
      background: #545151;
      -webkit-transition: all 444ms ease-out;
      -moz-transition: all 444ms ease-out;
      transition: all 444ms ease-out; }
    header .mobile-menu .menu-toggle div:before {
      position: absolute;
      top: -6px;
      left: 0; }
    header .mobile-menu .menu-toggle div:after {
      position: absolute;
      bottom: -6px;
      left: 0; }
  header .mobile-menu .aside {
    z-index: 10;
    position: fixed;
    top: 0;
    right: -500px;
    -webkit-transition: all 444ms ease-out;
    -moz-transition: all 444ms ease-out;
    transition: all 444ms ease-out;
    height: 100%;
    width: 262px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
    min-height: 100vh;
    overflow: scroll;
    background: #FFF;
    padding-bottom: 35px; }
  header .mobile-menu .menu-search {
    height: auto;
    width: 100%;
    padding: 12px 20px 9px 40px;
    background: #F3F3F4; }
    header .mobile-menu .menu-search input {
      display: inline-block;
      vertical-align: middle;
      outline: none;
      -webkit-appearance: inherit; }
    header .mobile-menu .menu-search input[type="search"] {
      background: transparent;
      border: 0;
      box-shadow: none;
      font-size: 0.6875em;
      letter-spacing: 2.8px;
      line-height: 1;
      padding: 8px 6px;
      color: #666262;
      width: calc(100% - 50px);
      margin-right: 10px; }
      header .mobile-menu .menu-search input[type="search"]::-webkit-input-placeholder {
        text-transform: uppercase; }
      header .mobile-menu .menu-search input[type="search"]::-moz-placeholder {
        text-transform: uppercase; }
      header .mobile-menu .menu-search input[type="search"]:-moz-placeholder {
        text-transform: uppercase; }
      header .mobile-menu .menu-search input[type="search"]:-ms-input-placeholder {
        text-transform: uppercase; }
    header .mobile-menu .menu-search input[type="submit"] {
      font-size: 0;
      border: 0;
      height: 15px;
      width: 15px;
      cursor: pointer;
      background: url("../../html_prototype/images/search.svg") no-repeat center;
      background-size: 100% auto; }
  header .mobile-menu .main-menu {
    padding: 30px 8px 29.5px 34px;
    background: #FFF;
    margin-bottom: 46.5px; }
    header .mobile-menu .main-menu li:not(.extra) {
      position: relative;
      cursor: pointer;
      line-height: 0.9;
      margin-bottom: 25px;
      padding: 2px 0 1px 11px;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      header .mobile-menu .main-menu li:not(.extra):before {
        content: '';
        opacity: 0;
        background: #F2743A;
        height: 100%;
        width: 2px;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: opacity 333ms ease-out;
        -moz-transition: opacity 333ms ease-out;
        transition: opacity 333ms ease-out; }
      header .mobile-menu .main-menu li:not(.extra) a {
        font-size: 0.84375rem;
        color: #545151;
        font-weight: 500; }
      header .mobile-menu .main-menu li:not(.extra):hover:before, header .mobile-menu .main-menu li:not(.extra).active-trail:before {
        opacity: 1; }
      header .mobile-menu .main-menu li:not(.extra):hover a, header .mobile-menu .main-menu li:not(.extra).active-trail a {
        font-weight: 600;
        color: #545151; }
      header .mobile-menu .main-menu li:not(.extra):last-of-type {
        margin-bottom: 0; }
  header .mobile-menu .extra-menu {
    font-size: 0.6875em;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 2.8px;
    padding: 13.5px 8px 13.5px 34px; }
    header .mobile-menu .extra-menu.have-sub-menu .extra-menu-text {
      display: inline-block;
      padding-right: 12px;
      background: url("../../images/build/sub-menu-arrow.svg") no-repeat right 6px;
      background-size: 6.5px auto; }
    header .mobile-menu .extra-menu:hover:not(.sub-menu) {
      color: #FC682D; }
    header .mobile-menu .extra-menu.e-login {
      background: url("../../html_prototype/images/profile.svg") no-repeat 34px 17px;
      background-size: 11px auto; }
    header .mobile-menu .extra-menu.e-lang {
      background: url("../../html_prototype/images/language.svg") no-repeat 34px 17px;
      background-size: 12px auto; }
    header .mobile-menu .extra-menu.e-access {
      background: url("../../html_prototype/images/accessibility.svg") no-repeat 34px 17px;
      background-size: 9px auto; }
      header .mobile-menu .extra-menu.e-access .sub-menu li {
        display: inline-block;
        margin-right: 30px;
        color: #545151;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
        header .mobile-menu .extra-menu.e-access .sub-menu li:hover {
          color: #FC682D; }
      header .mobile-menu .extra-menu.e-access .sub-menu #default {
        font-size: 14px; }
      header .mobile-menu .extra-menu.e-access .sub-menu #bigger {
        font-size: 16px; }
    header .mobile-menu .extra-menu.have-sub-menu {
      cursor: pointer; }
    header .mobile-menu .extra-menu li {
      padding-left: 30px; }
    header .mobile-menu .extra-menu .sub-menu {
      display: none;
      padding: 20px 0 0; }
      header .mobile-menu .extra-menu .sub-menu li {
        padding-left: 0;
        margin-bottom: 13px;
        font-size: 0.75rem;
        line-height: 2;
        letter-spacing: 0;
        text-transform: capitalize; }
        header .mobile-menu .extra-menu .sub-menu li a {
          color: #545151; }
        header .mobile-menu .extra-menu .sub-menu li.active {
          font-weight: 500; }
        header .mobile-menu .extra-menu .sub-menu li:last-of-type {
          margin-bottom: 0; }
  header .mobile-menu.toggled .menu-toggle {
    right: 260px; }
    header .mobile-menu.toggled .menu-toggle div {
      background: transparent; }
      header .mobile-menu.toggled .menu-toggle div:before {
        -webkit-transform: rotate(45deg) translateX(4px) translateY(4px);
        -moz-transform: rotate(45deg) translateX(4px) translateY(4px);
        -ms-transform: rotate(45deg) translateX(4px) translateY(4px);
        -o-transform: rotate(45deg) translateX(4px) translateY(4px);
        transform: rotate(45deg) translateX(4px) translateY(4px); }
      header .mobile-menu.toggled .menu-toggle div:after {
        -webkit-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        -moz-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        -ms-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        -o-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        transform: rotate(-45deg) translateX(4px) translateY(-5px); }
  header .mobile-menu.toggled .aside {
    right: 0; }
  header .desktop-menu {
    display: block;
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto;
    clear: both; }
    header .desktop-menu::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 768px) {
      header .desktop-menu {
        display: none; } }
    header .desktop-menu .top {
      padding-bottom: 16px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      header .desktop-menu .top::after {
        clear: both;
        content: "";
        display: table; }
    header .desktop-menu .logo {
      float: left;
      width: 406px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      header .desktop-menu .logo img {
        width: 100%;
        display: block; }
    header .desktop-menu .extra {
      float: right; }
      header .desktop-menu .extra li {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 0 31px;
        padding: 1px 0 0 18px;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 2.8px;
        cursor: pointer;
        -webkit-transition: all 113ms linear;
        -moz-transition: all 113ms linear;
        transition: all 113ms linear; }
        header .desktop-menu .extra li a {
          font-size: 0.75rem;
          -webkit-transition: all 113ms linear;
          -moz-transition: all 113ms linear;
          transition: all 113ms linear; }
        header .desktop-menu .extra li.profile {
          background: url("../../images/build/profile.svg") no-repeat left 3px;
          background-size: auto 68%; }
        header .desktop-menu .extra li.language {
          background: url("../../images/build/language.svg") no-repeat left 3px;
          background-size: auto 68%; }
        header .desktop-menu .extra li.search {
          background: url("../../images/build/search.svg") no-repeat left 3px;
          background-size: auto 68%; }
        header .desktop-menu .extra li:hover {
          color: #FC682D; }
          header .desktop-menu .extra li:hover a {
            color: #FC682D; }
          header .desktop-menu .extra li:hover.profile {
            background: url("../../images/build/profile-active.svg") no-repeat left 3px;
            background-size: auto 68%; }
            header .desktop-menu .extra li:hover.profile .sub-menu {
              opacity: 1;
              visibility: visible; }
          header .desktop-menu .extra li:hover.language {
            background: url("../../images/build/language-active.svg") no-repeat left 3px;
            background-size: auto 68%;
            z-index: 15; }
            header .desktop-menu .extra li:hover.language .sub-menu {
              opacity: 1;
              visibility: visible; }
          header .desktop-menu .extra li:hover.search {
            background: url("../../images/build/search-active-2.png") no-repeat left 3px;
            background-size: auto 68%; }
      header .desktop-menu .extra .sub-menu {
        opacity: 0;
        visibility: hidden;
        min-width: 118px;
        position: absolute;
        top: 35px;
        left: 0;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear;
        background: #FBF9F8;
        border: 1px solid #EAE9EC;
        border-radius: 3px;
        z-index: 10;
        padding: 1px; }
        header .desktop-menu .extra .sub-menu:after {
          content: '';
          background: url("../../images/build/lang-arrow.svg") no-repeat center;
          background-size: 20px auto;
          height: 13px;
          width: 20px;
          position: absolute;
          top: -12.5px;
          right: 0;
          left: 0;
          margin: auto; }
        header .desktop-menu .extra .sub-menu li {
          width: 100%;
          text-align: center;
          margin: 0;
          color: #474545;
          text-transform: capitalize;
          letter-spacing: 0;
          padding: 9px 0;
          -webkit-transition: all 333ms linear;
          -moz-transition: all 333ms linear;
          transition: all 333ms linear; }
          header .desktop-menu .extra .sub-menu li a {
            font-size: 0.75rem;
            color: #545151;
            -webkit-transition: all 333ms linear;
            -moz-transition: all 333ms linear;
            transition: all 333ms linear; }
          header .desktop-menu .extra .sub-menu li:last-of-type {
            margin-bottom: 0; }
          header .desktop-menu .extra .sub-menu li.current-lang {
            font-weight: bold; }
          header .desktop-menu .extra .sub-menu li:hover {
            background: #F2743A; }
            header .desktop-menu .extra .sub-menu li:hover a {
              color: #FFF;
              -webkit-transition: all 333ms linear;
              -moz-transition: all 333ms linear;
              transition: all 333ms linear; }
    header .desktop-menu .bottom ul {
      position: relative;
      height: 2.8125rem;
      text-align: justify;
      width: 100%;
      list-style: none;
      margin: 0;
      padding: 0;
      overflow: hidden; }
      header .desktop-menu .bottom ul:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        height: 2px;
        width: 100%;
        background: #EAE9EC; }
      header .desktop-menu .bottom ul:after {
        content: '';
        display: inline-block;
        width: 100%;
        height: 0; }
      header .desktop-menu .bottom ul li {
        display: inline-block;
        position: relative;
        padding-top: 18px;
        overflow: hidden;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
        header .desktop-menu .bottom ul li:hover a:after, header .desktop-menu .bottom ul li.active-trail a:after {
          left: 0; }
      header .desktop-menu .bottom ul a {
        font-size: 0.875rem;
        color: #3B3535; }
        header .desktop-menu .bottom ul a:after {
          content: '';
          height: 2px;
          width: 20px;
          background: #F2743A;
          position: absolute;
          top: 0;
          left: -20px;
          -webkit-transition: all 111ms linear;
          -moz-transition: all 111ms linear;
          transition: all 111ms linear; }
        @media screen and (max-width: 1200px) {
          header .desktop-menu .bottom ul a {
            font-size: 0.8125rem; } }
  header .accessibility {
    height: 31px;
    display: block;
    position: relative;
    position: absolute;
    right: 0;
    bottom: -31px;
    left: 0;
    margin: auto;
    padding: 0; }
    .locked header .accessibility {
      opacity: 0;
      pointer-events: none; }
    header .accessibility.cart-visible {
      background: #FBF9F8; }
    header .accessibility .accessibility-inner {
      max-width: 1200px;
      padding: 0 20px;
      margin: 0 auto;
      clear: both; }
      header .accessibility .accessibility-inner::after {
        clear: both;
        content: "";
        display: table; }
    header .accessibility.have-cart-quantity:before {
      content: '';
      z-index: -1;
      height: 31px;
      width: 9999px;
      position: absolute;
      top: 0;
      left: -50%;
      background: rgba(255, 255, 255, 0.88); }
    header .accessibility.have-cart-quantity .accessibility-menu {
      background: none; }
    header .accessibility .accessibility-menu {
      z-index: 10;
      float: right;
      position: relative;
      background: rgba(255, 255, 255, 0.88);
      padding: 3px 12px;
      display: flex;
      gap: 0 10px;
      align-items: center;
      border-radius: 0 0 5px 5px; }
      header .accessibility .accessibility-menu li {
        display: inline-flex;
        align-items: center;
        text-align: center; }
        header .accessibility .accessibility-menu li:last-of-type {
          margin-right: 0; }
        header .accessibility .accessibility-menu li:hover a {
          color: #FC682D; }
      header .accessibility .accessibility-menu a {
        color: #999;
        line-height: 1;
        cursor: pointer;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
        header .accessibility .accessibility-menu a#fontSmall {
          font-size: 13px;
          font-weight: 600; }
        header .accessibility .accessibility-menu a#fontDefault {
          font-size: 18px;
          font-weight: 600; }
        header .accessibility .accessibility-menu a#fontLarge {
          font-size: 23px;
          font-weight: 600; }
        header .accessibility .accessibility-menu a.current-access {
          color: #FC682D; }

.campaign-header {
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .campaign-header:before {
    content: '';
    border-radius: 50%;
    z-index: -1;
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateX(-25%) translateY(-33%);
    -moz-transform: translateX(-25%) translateY(-33%);
    -ms-transform: translateX(-25%) translateY(-33%);
    -o-transform: translateX(-25%) translateY(-33%);
    transform: translateX(-25%) translateY(-33%); }
  .campaign-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
    overflow: hidden; }
    .campaign-header .background::after {
      clear: both;
      content: "";
      display: table; }
    .campaign-header .background .flipped,
    .campaign-header .background .unflipped {
      float: left;
      z-index: -3;
      overflow: hidden;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
    .campaign-header .background .unflipped {
      height: 100%;
      width: 40%; }
    .campaign-header .background .flipped {
      margin: -60px;
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(42px);
      filter: blur(42px);
      height: calc(100% + 120px);
      width: calc(60% + 120px); }
    @media screen and (max-width: 680px) {
      .campaign-header .background .flipped {
        display: none; }
      .campaign-header .background .unflipped {
        width: 100%; } }
  .campaign-header .wrapper {
    padding: 20px 0 154px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .campaign-header .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .campaign-header .wrapper {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .campaign-header .wrapper {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .campaign-header .wrapper {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .campaign-header .wrapper {
        padding: 20px 20px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
  .campaign-header .content {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .campaign-header .content:last-child {
      margin-right: 0; }
  .campaign-header h1 {
    font-size: 3.0625em;
    line-height: 1.06;
    letter-spacing: -1.46px;
    margin: 70px 0 20px;
    text-transform: capitalize; }
  .campaign-header .category {
    color: #999;
    font-size: 0.9375em;
    line-height: 1.67;
    letter-spacing: -0.35px;
    font-weight: 600;
    text-transform: capitalize; }
  .campaign-header .logo {
    height: 160px;
    width: 160px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 55%;
    background: #FFF;
    border-radius: 50%;
    margin: auto; }
    .campaign-header .logo img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      max-width: 95%; }
  @media screen and (max-width: 768px) {
    .campaign-header:before {
      height: 85vw;
      width: 85vw;
      min-width: 800px;
      min-height: 800px; } }
  @media screen and (max-width: 680px) {
    .campaign-header:before {
      height: 836px;
      width: 836px;
      -webkit-transform: translateX(-30%) translateY(5%);
      -moz-transform: translateX(-30%) translateY(5%);
      -ms-transform: translateX(-30%) translateY(5%);
      -o-transform: translateX(-30%) translateY(5%);
      transform: translateX(-30%) translateY(5%); }
    .campaign-header .content {
      width: 100%; }
    .campaign-header .breadcrumbs {
      display: none; }
    .campaign-header h1 {
      font-size: 1.625em;
      line-height: 1.15;
      letter-spacing: -0.87px;
      margin: 104px 0 15px; }
    .campaign-header .category {
      font-size: 0.8125em; }
    .campaign-header .logo {
      height: 91px;
      width: 91px;
      position: absolute;
      top: 20px;
      right: 20px;
      bottom: inherit;
      left: inherit; }
      .campaign-header .logo img {
        max-width: 70%; } }

.homepage-header {
  position: relative;
  margin-bottom: 89px; }
  .homepage-header.animation .left .heading,
  .homepage-header.animation .left .sub-heading {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  .homepage-header.animation .right:after {
    opacity: 1;
    -webkit-transform: scale(55);
    -moz-transform: scale(55);
    -ms-transform: scale(55);
    -o-transform: scale(55);
    transform: scale(55); }
    @media screen and (max-width: 1200px) {
      .homepage-header.animation .right:after {
        -webkit-transform: scale(50);
        -moz-transform: scale(50);
        -ms-transform: scale(50);
        -o-transform: scale(50);
        transform: scale(50); } }
    @media screen and (max-width: 680px) {
      .homepage-header.animation .right:after {
        -webkit-transform: scale(2);
        -moz-transform: scale(2);
        -ms-transform: scale(2);
        -o-transform: scale(2);
        transform: scale(2); } }
  .homepage-header.animation .right .container {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  .homepage-header.animation .btn-arrow {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
    .homepage-header.animation .btn-arrow .arrow {
      animation-name: header-arrow-animation;
      animation-duration: 2s;
      animation-delay: 1.5s;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
      animation-timing-function: ease-out; }
    .homepage-header.animation .btn-arrow .background {
      animation-name: header-arrow-bg-animation;
      animation-duration: 2s;
      animation-delay: 1.5s;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
      animation-timing-function: ease-out; }
  .homepage-header .bg-wrapper {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%; }
    .homepage-header .bg-wrapper .background {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 100%;
      filter: blur(6px);
      z-index: -1;
      background-size: cover;
      background-position: center; }
      .homepage-header .bg-wrapper .background:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: rgba(255, 255, 255, 0.8); }
  .homepage-header .wrapper {
    overflow: hidden;
    padding: 146px 0 101px; }
    @media screen and (max-width: 1200px) {
      .homepage-header .wrapper {
        padding: 104px 0 80px; } }
    @media screen and (max-width: 768px) {
      .homepage-header .wrapper {
        padding: 69px 0 92px; } }
    @media screen and (max-width: 680px) {
      .homepage-header .wrapper {
        padding: 15% 0 0; } }
  .homepage-header .content {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    .homepage-header .content::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .homepage-header .content {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .homepage-header .content {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .homepage-header .content {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .homepage-header .content {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
  .homepage-header .left {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    padding-top: 18px; }
    .homepage-header .left:last-child {
      margin-right: 0; }
    .homepage-header .left .heading {
      font-size: 3.875em;
      line-height: 1.08;
      letter-spacing: -1.66px;
      margin-bottom: 16px;
      opacity: 0;
      -webkit-transform: translateY(15%);
      -moz-transform: translateY(15%);
      -ms-transform: translateY(15%);
      -o-transform: translateY(15%);
      transform: translateY(15%);
      -webkit-transition: all 555ms ease-out 111ms;
      -moz-transition: all 555ms ease-out 111ms;
      transition: all 555ms ease-out 111ms; }
    .homepage-header .left .sub-heading {
      font-size: 1.375em;
      line-height: 1.36;
      letter-spacing: -0.23px;
      color: #474545;
      font-weight: normal;
      opacity: 0;
      -webkit-transform: translateY(15%);
      -moz-transform: translateY(15%);
      -ms-transform: translateY(15%);
      -o-transform: translateY(15%);
      transform: translateY(15%);
      -webkit-transition: all 555ms ease-out 555ms;
      -moz-transition: all 555ms ease-out 555ms;
      transition: all 555ms ease-out 555ms; }
    @media screen and (max-width: 1440px) {
      .homepage-header .left .heading {
        font-size: 3.4375em;
        margin-bottom: 12px; }
      .homepage-header .left .sub-heading {
        font-size: 1.25em; } }
    @media screen and (max-width: 1200px) {
      .homepage-header .left {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 65.95745%; }
        .homepage-header .left:last-child {
          margin-right: 0; }
        .homepage-header .left .heading {
          font-size: 2.9375em;
          line-height: 1.19;
          letter-spacing: -1.26px;
          margin-bottom: 12px; }
        .homepage-header .left .sub-heading {
          font-size: 1.0625em;
          line-height: 1.47;
          letter-spacing: -0.18px; } }
    @media screen and (max-width: 768px) {
      .homepage-header .left {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 61.70213%; }
        .homepage-header .left:last-child {
          margin-right: 0; }
        .homepage-header .left .heading {
          font-size: 2.8125em;
          line-height: 1.06;
          letter-spacing: -1.21px;
          margin-bottom: 13px; }
        .homepage-header .left .sub-heading {
          font-size: 1em;
          line-height: 1.56;
          letter-spacing: -0.17px; } }
    @media screen and (max-width: 680px) {
      .homepage-header .left {
        width: 100%;
        margin: 0;
        padding: 0 20px 15%; }
        .homepage-header .left .heading {
          font-size: 1.8125em;
          line-height: 1.03;
          letter-spacing: -0.97px;
          margin-bottom: 12px; }
        .homepage-header .left .sub-heading {
          font-size: 0.75em;
          line-height: 1.125;
          font-weight: 500; } }
  .homepage-header .right {
    position: relative;
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 23.40426%; }
    .homepage-header .right:last-child {
      margin-right: 0; }
    .homepage-header .right:after {
      content: '';
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.63);
      margin: auto;
      opacity: 0;
      z-index: -1;
      height: 20px;
      width: 20px;
      position: absolute;
      top: 0;
      right: -45%;
      bottom: 0;
      -webkit-transition: all 666ms ease-out 777ms;
      -moz-transition: all 666ms ease-out 777ms;
      transition: all 666ms ease-out 777ms; }
      @media screen and (max-width: 1200px) {
        .homepage-header .right:after {
          right: -55%; } }
      @media screen and (max-width: 680px) {
        .homepage-header .right:after {
          opacity: 1;
          height: 414px;
          width: 414px;
          -webkit-transform: scale(2);
          -moz-transform: scale(2);
          -ms-transform: scale(2);
          -o-transform: scale(2);
          transform: scale(2);
          position: absolute;
          top: inherit;
          right: 0;
          bottom: -414px;
          left: 250px; } }
    .homepage-header .right .container {
      opacity: 0;
      -webkit-transform: translateY(20%);
      -moz-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
      -webkit-transition: all 555ms ease-out 1221ms;
      -moz-transition: all 555ms ease-out 1221ms;
      transition: all 555ms ease-out 1221ms; }
    .homepage-header .right .nav-title {
      font-size: 0.6875em;
      text-transform: uppercase;
      letter-spacing: 2.8px;
      line-height: 1.1;
      margin-bottom: 18px;
      font-weight: normal; }
    @media screen and (max-width: 1200px) {
      .homepage-header .right {
        margin-left: 8.51064%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 23.40426%; }
        .homepage-header .right:last-child {
          margin-right: 0; }
        .homepage-header .right .nav-title {
          margin-bottom: 21px; } }
    @media screen and (max-width: 768px) {
      .homepage-header .right {
        margin-left: 4.25532%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 31.91489%; }
        .homepage-header .right:last-child {
          margin-right: 0; }
        .homepage-header .right .nav-title {
          margin-bottom: 20px; } }
    @media screen and (max-width: 680px) {
      .homepage-header .right {
        width: 100%;
        margin: 0;
        padding: 13px 20px 8px;
        background: #FBF9F8; }
        .homepage-header .right .nav-title {
          display: none; } }
  .homepage-header .header-nav .header-current-option {
    position: relative;
    font-size: 0.75em;
    font-weight: 600;
    color: #474545;
    letter-spacing: -0.35px;
    text-transform: capitalize;
    display: none; }
    .homepage-header .header-nav .header-current-option:before {
      content: '';
      position: absolute;
      bottom: -10px;
      left: 0;
      height: 2px;
      width: 14px;
      background: #FC682D; }
  .homepage-header .header-nav ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .homepage-header .header-nav .nav-item {
    cursor: pointer;
    position: relative;
    margin-bottom: 29px;
    padding-left: 9px; }
    .homepage-header .header-nav .nav-item:before {
      content: '';
      border-radius: 30px;
      height: 100%;
      width: 2px;
      position: absolute;
      top: 0;
      left: 0;
      background: #FC682D; }
    .homepage-header .header-nav .nav-item h3 {
      font-size: 1.0625em;
      font-weight: 600;
      line-height: 1.23;
      margin-bottom: 0;
      letter-spacing: -0.47px;
      color: #474545; }
    .homepage-header .header-nav .nav-item h4 {
      font-size: 1em;
      font-weight: 500;
      line-height: 1.31;
      margin-bottom: 0;
      letter-spacing: -0.47px;
      color: #474545; }
    .homepage-header .header-nav .nav-item:last-of-type {
      margin-bottom: 0; }
  @media screen and (max-width: 1200px) {
    .homepage-header .header-nav .nav-item {
      margin-bottom: 21px; }
      .homepage-header .header-nav .nav-item h3 {
        font-size: 1em;
        line-height: 1.31;
        letter-spacing: -0.47px; }
      .homepage-header .header-nav .nav-item h4 {
        font-size: 0.9375em;
        line-height: 1.4; } }
  @media screen and (max-width: 768px) {
    .homepage-header .header-nav .nav-item {
      margin-bottom: 26px; }
      .homepage-header .header-nav .nav-item h3 {
        font-size: 0.9375em;
        line-height: 1.2; }
      .homepage-header .header-nav .nav-item h4 {
        font-size: 0.875em;
        line-height: 1.29; } }
  @media screen and (max-width: 680px) {
    .homepage-header .header-nav ul {
      display: none;
      padding: 25px 0; }
    .homepage-header .header-nav .nav-item {
      margin-bottom: 12px; }
      .homepage-header .header-nav .nav-item:before {
        height: 15px;
        top: 6px; }
      .homepage-header .header-nav .nav-item h3,
      .homepage-header .header-nav .nav-item h4 {
        display: inline-block;
        font-size: 0.75em;
        font-weight: 600;
        letter-spacing: -0.35px;
        line-height: 1.25; }
    .homepage-header .header-nav .btn-more,
    .homepage-header .header-nav .header-current-option {
      display: inline-block; } }
  .homepage-header .btn-arrow {
    opacity: 0;
    margin: auto;
    height: 51.7px;
    width: 51.7px;
    position: absolute;
    right: 0;
    bottom: -25.85px;
    left: 0;
    -webkit-transform: translateY(40%);
    -moz-transform: translateY(40%);
    -ms-transform: translateY(40%);
    -o-transform: translateY(40%);
    transform: translateY(40%);
    -webkit-transition: all 444ms ease-out 1.5s;
    -moz-transition: all 444ms ease-out 1.5s;
    transition: all 444ms ease-out 1.5s; }
    .homepage-header .btn-arrow .arrow {
      height: 47px;
      width: 47px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: url("../../html_prototype/images/arrow-header.svg") no-repeat center #FC682D;
      background-size: 18px auto;
      border-radius: 47px;
      cursor: pointer; }
    .homepage-header .btn-arrow .background {
      height: 10px;
      width: 10px;
      border-radius: 10px;
      background: rgba(252, 104, 45, 0.5);
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
      -moz-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
      -o-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
      margin: auto;
      z-index: -1; }
    @media screen and (max-width: 680px) {
      .homepage-header .btn-arrow {
        height: 50px;
        width: 50px;
        bottom: -70px; }
        .homepage-header .btn-arrow .arrow {
          height: 39px;
          width: 39px;
          border-radius: 39px;
          background-size: 15px auto; }
        .homepage-header .btn-arrow .background {
          height: 8px;
          width: 8px;
          border-radius: 8px; } }

@keyframes header-arrow-animation {
  50%,
  100% {
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -ms-transform: scale(1.15);
    -o-transform: scale(1.15);
    transform: scale(1.15); } }

@keyframes header-arrow-bg-animation {
  0%,
  100% {
    opacity: 0; }
  50% {
    opacity: 0.5; }
  100% {
    -webkit-transform: translateX(-50%) translateY(-50%) scale(10);
    -moz-transform: translateX(-50%) translateY(-50%) scale(10);
    -ms-transform: translateX(-50%) translateY(-50%) scale(10);
    -o-transform: translateX(-50%) translateY(-50%) scale(10);
    transform: translateX(-50%) translateY(-50%) scale(10); } }

.focus-area-header {
  min-height: 400px;
  position: relative;
  padding: 12px 0 41px;
  overflow: hidden;
  z-index: 1; }
  .focus-area-header:before, .focus-area-header:after {
    content: '';
    border-radius: 50%;
    z-index: -1; }
  .focus-area-header:before {
    height: 1176px;
    width: 1176px;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 75%;
    left: -175px;
    -webkit-transform: translateY(-75%);
    -moz-transform: translateY(-75%);
    -ms-transform: translateY(-75%);
    -o-transform: translateY(-75%);
    transform: translateY(-75%); }
    @media screen and (max-width: 1200px) {
      .focus-area-header:before {
        height: 900px;
        width: 900px; } }
    @media screen and (max-width: 768px) {
      .focus-area-header:before {
        height: 850px;
        width: 850px; } }
    @media screen and (max-width: 680px) {
      .focus-area-header:before {
        height: 650px;
        width: 650px;
        top: 50%;
        left: inherit;
        right: 20%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        background: rgba(255, 255, 255, 0.7); } }
  .focus-area-header:after {
    height: 85px;
    width: 85px;
    background: rgba(242, 116, 58, 0.7);
    position: absolute;
    right: -42.5px;
    bottom: 77.5px; }
    @media screen and (max-width: 680px) {
      .focus-area-header:after {
        height: 37px;
        width: 37px;
        bottom: inherit;
        top: 50%;
        right: -18.5px; } }
  .focus-area-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2; }
    .focus-area-header .background::after {
      clear: both;
      content: "";
      display: table; }
    .focus-area-header .background:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 100%;
      background: rgba(255, 255, 255, 0.5); }
    .focus-area-header .background .flipped,
    .focus-area-header .background .unflipped {
      float: left;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      z-index: -3; }
    .focus-area-header .background .unflipped {
      height: 100%;
      width: 50%; }
    .focus-area-header .background .flipped {
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(11px);
      filter: blur(11px);
      overflow: hidden;
      margin: -12px;
      height: calc(100% + 24px);
      width: calc(50% + 24px); }
    @media screen and (max-width: 680px) {
      .focus-area-header .background .flipped {
        display: none; }
      .focus-area-header .background .unflipped {
        width: 100%; } }
  .focus-area-header .container {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .focus-area-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .focus-area-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .focus-area-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .focus-area-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .focus-area-header .container {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: 100%;
        width: 100%; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .focus-area-header .content {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    margin-top: 60px; }
    .focus-area-header .content:last-child {
      margin-right: 0; }
    @media screen and (max-width: 1200px) {
      .focus-area-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 61.70213%; }
        .focus-area-header .content:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 768px) {
      .focus-area-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 74.46809%; }
        .focus-area-header .content:last-child {
          margin-right: 0; } }
  .focus-area-header h1 {
    font-size: 3.0625em;
    line-height: 1.2;
    letter-spacing: -1.46px;
    margin: 0 0 15px;
    max-width: 500px; }
  .focus-area-header p {
    font-size: 0.875em;
    font-weight: 500;
    letter-spacing: -0.41px;
    line-height: 1.42;
    max-width: 390px;
    margin-bottom: 0; }
    .focus-area-header p a {
      color: #F2743A; }
  @media screen and (max-width: 768px) {
    .focus-area-header {
      min-height: 300px; }
      .focus-area-header h1 {
        font-size: 2.1875em; } }
  @media screen and (max-width: 680px) {
    .focus-area-header {
      padding: 20px;
      min-height: inherit; }
      .focus-area-header .btn-back {
        position: absolute; }
      .focus-area-header .breadcrumbs {
        display: none; }
      .focus-area-header .content {
        float: none;
        width: 70%;
        min-width: 185px;
        margin: 0;
        padding: 60px 0; }
      .focus-area-header h1 {
        font-size: 1.5em;
        line-height: 1.25;
        letter-spacing: -0.8px;
        margin-bottom: 5px; }
      .focus-area-header p {
        display: none; } }

.about-us-header {
  min-height: 520px;
  position: relative;
  padding: 233px 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  overflow: hidden; }
  .about-us-header:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, 0.2);
    z-index: -1; }
  .about-us-header .wrapper {
    position: relative;
    background: url("../../images/build/header-overlay.svg") no-repeat center top;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      .about-us-header .wrapper {
        background: url("../../images/build/header-overlay-tablet.png") no-repeat center top;
        background-size: cover; } }
    @media screen and (min-width: 769px) {
      .about-us-header .wrapper {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0; } }
    .about-us-header .wrapper:after {
      content: '';
      position: absolute;
      top: 0;
      left: 15%;
      height: 50px;
      width: 50px;
      background: rgba(251, 118, 63, 0.89);
      border-radius: 50%; }
      @media screen and (max-width: 1200px) {
        .about-us-header .wrapper:after {
          top: -10px; } }
      @media screen and (max-width: 680px) {
        .about-us-header .wrapper:after {
          height: 32.5px;
          width: 32.5px;
          top: 0; } }
  .about-us-header .container {
    padding: 85px 0 40px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .about-us-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .about-us-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .about-us-header .container {
        padding: 92.5px 0 40px;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .about-us-header .container {
        padding: 90px 0 54px;
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .about-us-header .container {
        padding: 65.5px 20px 38px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .about-us-header h1 {
    font-size: 2.9375em;
    line-height: 1.125;
    letter-spacing: -1.96px;
    margin: 0;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%;
    text-transform: capitalize; }
    .about-us-header h1:last-child {
      margin-right: 0; }
  .about-us-header p {
    font-size: 0.9375em;
    line-height: 1.6;
    margin-left: 8.51064%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    color: #545151;
    margin-right: 0;
    margin-bottom: 0; }
    .about-us-header p:last-child {
      margin-right: 0; }
    .about-us-header p strong {
      font-weight: normal; }
  .about-us-header .header-nav {
    width: 100%;
    display: inline-block;
    margin-top: 45px; }
    .about-us-header .header-nav ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .about-us-header .header-nav li {
      position: relative;
      font-size: 0.9375em;
      line-height: 1.4;
      letter-spacing: -0.4px;
      font-weight: 500;
      color: #545151;
      text-transform: capitalize;
      margin-right: 6.5%;
      padding-left: 9px;
      display: inline-block; }
      .about-us-header .header-nav li:last-of-type {
        margin-right: 0; }
      .about-us-header .header-nav li:after {
        content: '';
        position: absolute;
        top: 3px;
        left: 0;
        height: 14px;
        width: 2px;
        margin: auto;
        background: #FC682D;
        border-radius: 30px; }
  @media screen and (max-width: 1440px) {
    .about-us-header {
      min-height: 440px; }
      .about-us-header .header-nav li {
        margin-right: 4%; } }
  @media screen and (max-width: 1200px) {
    .about-us-header h1 {
      font-size: 2.625em; }
    .about-us-header p {
      font-size: 0.875em; }
    .about-us-header .header-nav {
      margin-top: 41px; }
      .about-us-header .header-nav li {
        font-size: 0.8125em;
        margin-right: 3%; }
        .about-us-header .header-nav li:after {
          top: 0; } }
  @media screen and (max-width: 768px) {
    .about-us-header {
      min-height: inherit; }
      .about-us-header h1 {
        font-size: 2.1875em;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 36.17021%; }
        .about-us-header h1:last-child {
          margin-right: 0; }
      .about-us-header p {
        font-size: 0.8125em;
        margin-left: 4.25532%; }
      .about-us-header .header-nav {
        display: none; } }
  @media screen and (max-width: 680px) {
    .about-us-header {
      padding: 113px 0 0; }
      .about-us-header h1 {
        float: none;
        width: 100%;
        font-size: 1.8125em;
        margin-bottom: 10px; }
      .about-us-header p {
        float: none;
        width: 90%;
        margin: 0;
        font-size: 0.75em;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: -0.28px; } }

.event-header {
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1; }
  .event-header.no-slider:after {
    background: rgba(234, 233, 236, 0.58); }
  .event-header.no-slider:before {
    content: '';
    z-index: -1;
    border-radius: 50%;
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
  .event-header.no-slider .container {
    padding: 100px 0; }
  .event-header.no-slider .content {
    position: relative;
    top: inherit;
    right: inherit;
    bottom: inherit;
    left: inherit;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  @media screen and (max-width: 680px) {
    .event-header.no-slider .container {
      padding: 0; }
    .event-header.no-slider:before {
      content: none; } }
  .event-header:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(234, 233, 236, 0.9);
    z-index: -1; }
  .event-header .container {
    position: relative;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .event-header .container::after {
      clear: both;
      content: "";
      display: table; }
    .event-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .event-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .event-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .event-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .event-header .container {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .event-header .content {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 40.42553%; }
    .event-header .content:last-child {
      margin-right: 0; }
    .event-header .content .title {
      font-size: 3.5rem;
      line-height: 1;
      letter-spacing: -1.96px;
      margin-bottom: 8px; }
    .event-header .content .text {
      font-size: 0.875rem;
      line-height: 1.43;
      letter-spacing: -0.41px;
      font-weight: 500;
      color: #545151; }
      .event-header .content .text:last-of-type {
        margin-bottom: 0; }
  .event-header .slider {
    position: relative;
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 40.42553%;
    float: right; }
    .event-header .slider:last-child {
      margin-right: 0; }
    .event-header .slider:before {
      content: '';
      display: block;
      padding-top: 100%; }
    .event-header .slider .slick-list,
    .event-header .slider .slick-track {
      height: 100% !important; }
    .event-header .slider .header-slick {
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    .event-header .slider .item {
      position: relative;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      z-index: 1;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear;
      display: inline-block;
      height: 100%;
      width: 100%; }
      .event-header .slider .item.image-only {
        padding: 30px; }
      .event-header .slider .item.image-with-content {
        padding: 70px 30px; }
        .event-header .slider .item.image-with-content:after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          height: 100%;
          width: 100%;
          background: rgba(242, 116, 58, 0.9);
          z-index: -1; }
      .event-header .slider .item .detail {
        width: 80%;
        margin: auto;
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); }
      .event-header .slider .item .date {
        font-size: 1.25em;
        font-weight: 600;
        letter-spacing: -0.47px;
        line-height: 1.25;
        color: #FFF;
        text-transform: uppercase;
        margin-bottom: 24px; }
      .event-header .slider .item .category {
        font-size: 0.6875em;
        letter-spacing: 2.8px;
        line-height: 1.1;
        color: #FFF;
        text-transform: uppercase;
        margin-bottom: 2px; }
      .event-header .slider .item .title {
        font-size: 1.5em;
        letter-spacing: -0.7px;
        line-height: 1.25;
        color: #FFF;
        text-transform: capitalize;
        margin-bottom: 19px; }
      .event-header .slider .item p {
        font-size: 0.75em;
        letter-spacing: -0.3px;
        line-height: 1.58;
        color: #FFF; }
        .event-header .slider .item p:last-of-type {
          margin-bottom: 0; }
    .event-header .slider .slick-slider {
      margin-bottom: 0 !important; }
    .event-header .slider .slick-list {
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .event-header .slider .slick-dots {
      bottom: 19px; }
      .event-header .slider .slick-dots li {
        height: 6.25px;
        width: 6.25px;
        padding: 0;
        margin: 0 9px 0 0; }
        .event-header .slider .slick-dots li button {
          height: 6.25px;
          width: 6.25px;
          background: rgba(255, 255, 255, 0.4);
          border-radius: 50%;
          padding: 0; }
          .event-header .slider .slick-dots li button:before {
            content: none; }
        .event-header .slider .slick-dots li.slick-active button {
          background: #FFF; }
    .event-header .slider .slick-arrow {
      height: 30px;
      width: 30px;
      border-radius: 50%;
      z-index: 1; }
      .event-header .slider .slick-arrow:before {
        content: none; }
      .event-header .slider .slick-arrow:hover {
        background: #FFF; }
      .event-header .slider .slick-arrow.slick-next {
        right: -15px;
        background: url("../../html_prototype/images/slide-arrow-next-2.png") no-repeat center #FFF;
        background-size: 7.7px auto; }
      .event-header .slider .slick-arrow.slick-prev {
        left: -15px;
        background: url("../../html_prototype/images/slide-arrow-prev-2.png") no-repeat center #FFF;
        background-size: 7.7px auto; }
  .event-header .header-nav {
    margin-top: 45px; }
    .event-header .header-nav::after {
      clear: both;
      content: "";
      display: table; }
    .event-header .header-nav .nav-item {
      position: relative;
      width: 50%;
      float: left;
      margin-bottom: 7px;
      padding-left: 8px; }
      .event-header .header-nav .nav-item:before {
        content: '';
        position: absolute;
        top: 5px;
        left: 0;
        height: 14px;
        width: 2px;
        background: #FC682D;
        border-radius: 30px; }
      .event-header .header-nav .nav-item a {
        color: #474545;
        font-size: 0.9375rem;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: -0.42px; }
  @media screen and (max-width: 1200px) {
    .event-header .content {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .event-header .content:last-child {
        margin-right: 0; }
    .event-header .slider {
      margin-left: 8.51064%;
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 40.42553%;
      float: right; }
      .event-header .slider:last-child {
        margin-right: 0; }
      .event-header .slider .item .title {
        font-size: 1.25rem;
        margin-bottom: 8px; }
    .event-header .header-nav {
      margin-top: 20px; } }
  @media screen and (max-width: 768px) {
    .event-header .content {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .event-header .content:last-child {
        margin-right: 0; }
      .event-header .content .title {
        font-size: 2.5rem; }
    .event-header .header-nav {
      display: none; } }
  @media screen and (max-width: 680px) {
    .event-header:before {
      content: none; }
    .event-header .wrapper {
      min-height: inherit; }
    .event-header .content {
      margin: 0;
      float: none;
      width: 100%;
      overflow: hidden;
      padding: 139px 20px 25px;
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0);
      position: relative;
      top: inherit;
      right: inherit;
      bottom: inherit;
      left: inherit; }
      .event-header .content .title {
        font-size: 1.625em;
        line-height: 1.15;
        letter-spacing: -0.87px;
        max-width: 320px; }
      .event-header .content .text {
        font-size: 0.75em;
        font-weight: 500;
        letter-spacing: -0.28px;
        line-height: 1.5;
        max-width: 85%;
        min-width: 320px; }
      .event-header .content:before {
        content: '';
        z-index: -1;
        border-radius: 50%;
        height: 180vw;
        width: 180vw;
        position: absolute;
        top: 22%;
        left: 75%;
        -webkit-transform: translateX(-75%) translateY(0);
        -moz-transform: translateX(-75%) translateY(0);
        -ms-transform: translateX(-75%) translateY(0);
        -o-transform: translateX(-75%) translateY(0);
        transform: translateX(-75%) translateY(0);
        background: rgba(255, 255, 255, 0.7); }
    .event-header .slider {
      float: none;
      width: 100%;
      margin: 0;
      padding: 8.5px 0 17.5px; }
      .event-header .slider:before {
        padding-top: 75%; }
      .event-header .slider .item {
        margin: 0;
        opacity: 0.2;
        -webkit-transform: scale(0.9);
        -moz-transform: scale(0.9);
        -ms-transform: scale(0.9);
        -o-transform: scale(0.9);
        transform: scale(0.9); }
        .event-header .slider .item .title {
          font-size: 0.9375em;
          font-weight: 600;
          margin-bottom: 5px; }
        .event-header .slider .item.image-only, .event-header .slider .item.image-with-content {
          padding: 20px; }
        .event-header .slider .item.slick-current {
          opacity: 1;
          -webkit-transform: scale(1);
          -moz-transform: scale(1);
          -ms-transform: scale(1);
          -o-transform: scale(1);
          transform: scale(1); }
      .event-header .slider .slick-arrow.slick-next {
        right: 10px; }
      .event-header .slider .slick-arrow.slick-prev {
        left: 10px; } }

.event-single-header {
  position: relative;
  overflow: hidden;
  z-index: 1;
  min-height: 400px;
  padding: 106px 0 119px; }
  .event-single-header:after {
    content: '';
    border-radius: 50%;
    height: 384px;
    width: 384px;
    z-index: -1;
    background: rgba(242, 116, 58, 0.5);
    position: absolute;
    top: 88%;
    right: 20%; }
    @media screen and (max-width: 768px) {
      .event-single-header:after {
        right: 13%; } }
    @media screen and (max-width: 680px) {
      .event-single-header:after {
        content: none; } }
  .event-single-header .btn-back {
    color: #3B3535; }
  .event-single-header .circle {
    z-index: 0;
    border-radius: 50%;
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.85);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
    @media screen and (max-width: 680px) {
      .event-single-header .circle {
        height: 1200px;
        width: 1200px;
        background: rgba(255, 255, 255, 0.85);
        position: absolute;
        top: 20%;
        left: 40%;
        -webkit-transform: translateY(0%) translateX(-50%);
        -moz-transform: translateY(0%) translateX(-50%);
        -ms-transform: translateY(0%) translateX(-50%);
        -o-transform: translateY(0%) translateX(-50%);
        transform: translateY(0%) translateX(-50%); }
        .event-single-header .circle:before {
          content: '';
          border-radius: 50%;
          height: 30px;
          width: 30px;
          background: rgba(242, 116, 58, 0.65);
          position: absolute;
          top: 5px;
          right: 36%; } }
  .event-single-header .container {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .event-single-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .event-single-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .event-single-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .event-single-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .event-single-header .container {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .event-single-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
    overflow: hidden; }
    .event-single-header .background::after {
      clear: both;
      content: "";
      display: table; }
    .event-single-header .background .flipped,
    .event-single-header .background .unflipped {
      float: left;
      overflow: hidden;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
    .event-single-header .background .unflipped {
      height: 100%;
      width: 50%; }
    .event-single-header .background .flipped {
      margin: -60px;
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(42px);
      filter: blur(42px);
      height: calc(100% + 120px);
      width: calc(50% + 120px); }
    @media screen and (max-width: 680px) {
      .event-single-header .background .flipped {
        display: none; }
      .event-single-header .background .unflipped {
        width: 100%; } }
  .event-single-header .content {
    position: relative;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .event-single-header .content:last-child {
      margin-right: 0; }
    .event-single-header .content .date {
      font-size: 1.125rem;
      font-weight: 600;
      color: #999;
      letter-spacing: -0.42px;
      line-height: 1.39;
      margin-bottom: 3px; }
    .event-single-header .content .title {
      font-size: 3.0625rem;
      font-weight: bold;
      line-height: 1.06;
      letter-spacing: -1.49px;
      text-transform: capitalize;
      margin-bottom: 15px; }
    .event-single-header .content p {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.54;
      letter-spacing: -0.38px;
      margin: 0;
      color: #545151; }
    .event-single-header .content .sponsors-title {
      font-size: 0.625rem;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      margin-top: 35px;
      margin-bottom: 5px;
      font-weight: 500; }
    .event-single-header .content .sponsors-logos {
      margin-bottom: -55px; }
      .event-single-header .content .sponsors-logos img {
        display: inline-block;
        max-height: 150px; }
      .event-single-header .content .sponsors-logos.two-lines .sponsors-logo {
        display: block;
        text-align: left; }
      @media screen and (max-width: 680px) {
        .event-single-header .content .sponsors-logos {
          margin: 0; } }
    .event-single-header .content .sponsors-logo {
      display: inline-block;
      vertical-align: middle;
      text-align: center;
      margin-right: 30px;
      margin-top: 20px; }
    .event-single-header .content .sponsor-logo-title {
      font-size: 0.625rem;
      text-transform: uppercase;
      letter-spacing: 0.25em; }
    @media screen and (max-width: 1440px) {
      .event-single-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 65.95745%; }
        .event-single-header .content:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 1200px) {
      .event-single-header .content .title {
        font-size: 2.25rem; } }
    @media screen and (max-width: 768px) {
      .event-single-header .content .title {
        font-size: 1.875rem; } }
    @media screen and (max-width: 680px) {
      .event-single-header .content {
        width: 100%; }
        .event-single-header .content .date {
          font-size: 0.8125em;
          letter-spacing: -0.31px;
          line-height: 1.15;
          margin-bottom: 7px; }
        .event-single-header .content p {
          margin-top: 7px; }
        .event-single-header .content .title {
          font-size: 1.625em;
          line-height: 1.15;
          letter-spacing: -0.87px;
          margin-bottom: 0;
          max-width: 350px; } }
  @media screen and (max-width: 1200px) {
    .event-single-header {
      min-height: inherit; } }
  @media screen and (max-width: 680px) {
    .event-single-header {
      padding: 145px 20px 30px; }
      .event-single-header .btn-back {
        position: absolute;
        top: 15px; } }

.news-single-header {
  padding: 15px 0 70px;
  min-height: 400px;
  position: relative;
  overflow: hidden;
  z-index: 1; }
  @media screen and (max-width: 680px) {
    .news-single-header {
      min-height: inherit;
      padding: 30px 25px; }
      .news-single-header .btn-back {
        margin-bottom: 15px; } }
  .news-single-header .container {
    position: relative;
    padding-top: 45px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .news-single-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .news-single-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .news-single-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .news-single-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .news-single-header .container {
        padding-top: 0;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .news-single-header .content {
    position: relative;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .news-single-header .content:last-child {
      margin-right: 0; }
    .news-single-header .content .date {
      font-size: 0.9375rem;
      font-weight: 600;
      color: #999;
      text-transform: uppercase;
      letter-spacing: -0.35px;
      line-height: 1.67;
      margin-bottom: 15px; }
    .news-single-header .content .title {
      font-size: 2.1875rem;
      font-weight: bold;
      line-height: 1.2;
      letter-spacing: -1.23px;
      margin-bottom: 15px;
      min-height: 150px; }
    .news-single-header .content p {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: -0.41px;
      color: #545151; }
      .news-single-header .content p:last-of-type {
        margin-bottom: 0; }
    @media screen and (max-width: 1440px) {
      .news-single-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .news-single-header .content:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 1200px) {
      .news-single-header .content .title {
        font-size: 1.5625rem;
        min-height: inherit; } }
    @media screen and (max-width: 680px) {
      .news-single-header .content {
        width: 100%;
        margin-top: 100px; }
        .news-single-header .content .date {
          font-size: 0.8125em;
          letter-spacing: -0.31px;
          line-height: 1.15;
          margin-bottom: 5px; }
        .news-single-header .content .title {
          font-size: 1.375em;
          line-height: 1.15;
          letter-spacing: -0.87px;
          margin-bottom: 10px;
          min-height: inherit;
          max-width: 250px; }
        .news-single-header .content p {
          width: 90%; } }
  .news-single-header.circle-overlay:before, .news-single-header.circle-overlay:after {
    content: '';
    border-radius: 50%;
    z-index: -1; }
  .news-single-header.circle-overlay:before {
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
  .news-single-header.circle-overlay:after {
    height: 384px;
    width: 384px;
    background: rgba(242, 116, 58, 0.65);
    position: absolute;
    top: 85%;
    right: 22%; }
  @media screen and (max-width: 680px) {
    .news-single-header.circle-overlay:before {
      height: 180vw;
      width: 180vw;
      position: absolute;
      top: 20%;
      right: -15%;
      -webkit-transform: translateY(0) translateX(0);
      -moz-transform: translateY(0) translateX(0);
      -ms-transform: translateY(0) translateX(0);
      -o-transform: translateY(0) translateX(0);
      transform: translateY(0) translateX(0); }
    .news-single-header.circle-overlay:after {
      content: none; } }
  .news-single-header.circle-overlay .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2; }
    .news-single-header.circle-overlay .background::after {
      clear: both;
      content: "";
      display: table; }
    .news-single-header.circle-overlay .background .flipped,
    .news-single-header.circle-overlay .background .unflipped {
      float: left;
      z-index: -3;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
    .news-single-header.circle-overlay .background .unflipped {
      height: 100%;
      width: 50%; }
    .news-single-header.circle-overlay .background .flipped {
      margin: -60px;
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(42px);
      filter: blur(42px);
      height: calc(100% + 120px);
      width: calc(50% + 120px);
      overflow: hidden; }
    @media screen and (max-width: 680px) {
      .news-single-header.circle-overlay .background .flipped {
        display: none; }
      .news-single-header.circle-overlay .background .unflipped {
        width: 100%; } }
  .news-single-header.no-overlay {
    background: #F1F1F2; }
    .news-single-header.no-overlay:before {
      content: '';
      z-index: -1;
      border-radius: 50%;
      height: 770px;
      width: 770px;
      background: rgba(242, 116, 58, 0.13);
      position: absolute;
      right: -200px;
      bottom: -535px; }
    .news-single-header.no-overlay .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    .news-single-header.no-overlay .wrapper:before {
      content: '';
      z-index: -1;
      border-radius: 50%;
      height: 468px;
      width: 468px;
      background: rgba(255, 255, 255, 0.36);
      position: absolute;
      top: -432px;
      left: 33%; }
    .news-single-header.no-overlay .image {
      float: right;
      height: 228px;
      width: 400px;
      margin: 30px 0 0 0; }
      .news-single-header.no-overlay .image img {
        height: 100%;
        margin: auto;
        display: block; }
    @media screen and (max-width: 1200px) {
      .news-single-header.no-overlay .image {
        position: relative;
        width: 40%;
        height: 300px;
        max-width: 300px;
        margin: 0; }
        .news-single-header.no-overlay .image::after {
          clear: both;
          content: "";
          display: table; }
        .news-single-header.no-overlay .image img {
          width: 75%;
          height: auto;
          position: absolute;
          top: 50%;
          right: 0;
          left: 0;
          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          transform: translateY(-50%); } }
    @media screen and (max-width: 680px) {
      .news-single-header.no-overlay:before {
        height: 360px;
        width: 360px;
        background: rgba(255, 255, 255, 0.9);
        position: absolute;
        right: inherit;
        bottom: -168px;
        left: -65px; }
      .news-single-header.no-overlay .wrapper:before {
        height: 305px;
        width: 305px;
        background: rgba(252, 104, 45, 0.08);
        position: absolute;
        top: -240px;
        right: -60px; }
      .news-single-header.no-overlay .image {
        float: none;
        width: 85%;
        height: auto;
        margin: 20px auto 21px;
        text-align: center;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; }
        .news-single-header.no-overlay .image img {
          width: 100%;
          max-width: 350px;
          margin: 0 auto;
          position: relative;
          top: inherit;
          right: inherit;
          bottom: inherit;
          left: inherit;
          -webkit-transform: translateY(0%);
          -moz-transform: translateY(0%);
          -ms-transform: translateY(0%);
          -o-transform: translateY(0%);
          transform: translateY(0%); }
      .news-single-header.no-overlay .content {
        margin-top: 0;
        width: 100%; }
        .news-single-header.no-overlay .content .title {
          margin-bottom: 5px;
          max-width: 100%; }
        .news-single-header.no-overlay .content p {
          width: 100%; } }

.network-application-header {
  z-index: 2;
  position: relative;
  min-height: 400px;
  overflow: hidden;
  padding: 21px 0 80px; }
  .network-application-header:before, .network-application-header:after {
    content: '';
    z-index: 0;
    border-radius: 50%; }
  .network-application-header:before {
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-45%);
    -moz-transform: translateY(-50%) translateX(-45%);
    -ms-transform: translateY(-50%) translateX(-45%);
    -o-transform: translateY(-50%) translateX(-45%);
    transform: translateY(-50%) translateX(-45%); }
  .network-application-header:after {
    height: 318px;
    width: 318px;
    background: rgba(252, 104, 45, 0.4);
    position: absolute;
    right: 25%;
    bottom: -215px; }
  .network-application-header .background {
    position: relative;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0.94;
    z-index: -1; }
    .network-application-header .background .image {
      margin: -6px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      -webkit-filter: blur(5px);
      filter: blur(5px);
      position: absolute;
      top: 0;
      left: 0;
      height: calc(100% + 12px);
      width: calc(100% + 12px); }
  .network-application-header .wrapper {
    z-index: 1;
    position: relative;
    padding-top: 60px;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 74.46809%; }
    .network-application-header .wrapper:last-child {
      margin-right: 0; }
    .network-application-header .wrapper .text-wrap {
      float: left;
      display: block;
      margin-right: 2.85714%;
      width: 65.71429%; }
      .network-application-header .wrapper .text-wrap:last-child {
        margin-right: 0; }
      .network-application-header .wrapper .text-wrap h1 {
        font-size: 3.0625em;
        line-height: 1.1;
        letter-spacing: -1.71px;
        margin: 0 0 14px; }
      .network-application-header .wrapper .text-wrap .text {
        font-size: 0.875em;
        color: #545151;
        font-weight: 500;
        line-height: 1.42; }
    .network-application-header .wrapper .logo-wrap {
      position: absolute;
      top: 50%;
      right: 10px;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      height: 160px;
      width: 160px;
      border-radius: 50%;
      background: #FFF;
      overflow: hidden; }
      .network-application-header .wrapper .logo-wrap img {
        width: 90%;
        height: auto;
        margin: auto;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        position: absolute;
        top: 50%;
        right: 0;
        left: 0; }
      @media (min-width: 1290px) {
        .network-application-header .wrapper .logo-wrap {
          right: -50px; } }
  @media screen and (max-width: 680px) {
    .network-application-header {
      padding-bottom: 50px;
      min-height: 280px; }
      .network-application-header .btn-back {
        position: absolute;
        top: 0;
        left: 20px;
        z-index: 5; }
      .network-application-header .wrapper {
        padding-left: 20px; }
        .network-application-header .wrapper .text-wrap {
          float: left;
          display: block;
          margin-right: 2.12766%;
          width: 82.97872%; }
          .network-application-header .wrapper .text-wrap:last-child {
            margin-right: 0; }
          .network-application-header .wrapper .text-wrap h1 {
            font-size: 2.125rem; }
        .network-application-header .wrapper .logo-wrap {
          width: 90px;
          height: 90px;
          top: 27%;
          right: -22%; }
      .network-application-header:before {
        height: 150vw;
        width: 150vw;
        right: -200px; }
      .network-application-header:after {
        right: -45%; } }

.network-details-header {
  position: relative;
  overflow: hidden;
  z-index: 1;
  min-height: 400px;
  padding: 119px 0 123px; }
  .network-details-header:before, .network-details-header:after {
    content: '';
    border-radius: 50%;
    z-index: -1; }
  .network-details-header:before {
    height: 595px;
    width: 595px;
    background: rgba(252, 104, 45, 0.4);
    position: absolute;
    right: 14%;
    bottom: -450px; }
  .network-details-header:after {
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
  .network-details-header .wrapper {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .network-details-header .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .network-details-header .wrapper {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .network-details-header .wrapper {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .network-details-header .wrapper {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .network-details-header .wrapper {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
  .network-details-header .breadcrumbs {
    position: absolute;
    top: 12px;
    left: 0;
    width: 100%; }
    .network-details-header .breadcrumbs span,
    .network-details-header .breadcrumbs a {
      text-transform: lowercase; }
  .network-details-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    z-index: -2; }
  .network-details-header .content {
    position: relative;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 65.95745%; }
    .network-details-header .content:last-child {
      margin-right: 0; }
    .network-details-header .content .title {
      font-size: 3.0625rem;
      font-weight: bold;
      line-height: 1.06;
      letter-spacing: -1.49px;
      margin-bottom: 10px;
      max-width: 620px; }
    .network-details-header .content .sub-title {
      margin: 0;
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.54;
      letter-spacing: -0.38px;
      color: #545151;
      max-width: 470px; }
    @media screen and (max-width: 768px) {
      .network-details-header .content .title {
        font-size: 2.1875em; } }
    @media screen and (max-width: 680px) {
      .network-details-header .content {
        float: none;
        min-width: 195px;
        padding: 35px 0 31px; }
        .network-details-header .content .title {
          font-size: 1.5em; }
        .network-details-header .content .sub-title {
          font-size: 0.75em; } }
  @media screen and (max-width: 768px) {
    .network-details-header:before {
      height: 400px;
      width: 400px;
      bottom: -300px;
      right: 10%; } }
  @media screen and (max-width: 680px) {
    .network-details-header {
      padding: 20px;
      min-height: inherit; }
      .network-details-header:before {
        height: 235px;
        width: 235px;
        bottom: -150px;
        right: -60px; }
      .network-details-header:after {
        height: 650px;
        width: 650px;
        top: 50%;
        left: inherit;
        right: 20%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        background: rgba(255, 255, 255, 0.7); } }

.mobile-header-nav {
  display: none;
  background: rgba(251, 249, 248, 0.96);
  padding: 8px 0 6px;
  z-index: 10; }
  .mobile-header-nav .header-current-option {
    display: inline-block;
    position: relative;
    font-size: 0.75em;
    font-weight: 600;
    color: #474545;
    letter-spacing: -0.35px;
    text-transform: capitalize; }
    .mobile-header-nav .header-current-option:before {
      content: '';
      position: absolute;
      bottom: -8px;
      left: 0;
      height: 2px;
      width: 14px;
      background: #FC682D; }
  .mobile-header-nav ul {
    display: none;
    padding: 0;
    margin: 15px 0 5px; }
    .mobile-header-nav ul li {
      padding: 5px 0;
      font-size: 0.8125em; }
      .mobile-header-nav ul li:hover, .mobile-header-nav ul li.active {
        font-weight: 500; }
  @media screen and (max-width: 768px) {
    .mobile-header-nav {
      display: block; }
      .mobile-header-nav .btn-more {
        display: inline-block; } }
  @media screen and (max-width: 680px) {
    .mobile-header-nav {
      padding: 8px 20px 6px; } }

.desktop-fixed-nav {
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 35px;
  padding: 5px 0 0;
  background: rgba(251, 249, 248, 0.97);
  position: fixed;
  top: -50px;
  left: 0;
  -webkit-transition: all 666ms ease-out;
  -moz-transition: all 666ms ease-out;
  transition: all 666ms ease-out; }
  .desktop-fixed-nav.trigger {
    z-index: 5;
    opacity: 1;
    visibility: visible; }
  .desktop-fixed-nav .nav-item {
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
    margin-right: 73px;
    overflow: hidden; }
    .desktop-fixed-nav .nav-item:last-of-type {
      margin-right: 0; }
    .desktop-fixed-nav .nav-item:before {
      content: '';
      position: absolute;
      bottom: 0;
      left: -30px;
      height: 2px;
      width: 15px;
      background: #FC682D;
      -webkit-transition: all 113ms linear;
      -moz-transition: all 113ms linear;
      transition: all 113ms linear; }
    .desktop-fixed-nav .nav-item:hover:before, .desktop-fixed-nav .nav-item.active:before {
      left: 0; }
    .desktop-fixed-nav .nav-item:hover a, .desktop-fixed-nav .nav-item.active a {
      font-weight: 600;
      color: #3B3535; }
  .desktop-fixed-nav a {
    font-size: 0.8125rem;
    color: #999;
    font-weight: 500;
    -webkit-transition: all 113ms linear;
    -moz-transition: all 113ms linear;
    transition: all 113ms linear; }
  @media screen and (max-width: 768px) {
    .desktop-fixed-nav {
      display: none !important; } }

#content-header {
  position: relative;
  z-index: 2; }

#content-area {
  position: relative;
  z-index: 1; }

.breadcrumb-wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 20px; }

.breadcrumb {
  z-index: 1;
  padding: 0;
  font-size: 12px;
  text-transform: lowercase;
  color: #666262;
  position: relative;
  top: 5px;
  float: left;
  margin-left: 100px; }
  .breadcrumb a,
  .breadcrumb span {
    font-size: 12px;
    color: #666262; }
  .breadcrumb a {
    margin-right: 4px; }
  .breadcrumb span {
    margin: 0 4px; }
  @media screen and (max-width: 680px) {
    .breadcrumb {
      display: none; } }

.cart-visible .breadcrumb {
  margin-left: 0; }

.cart-quantity {
  height: 31px;
  float: left; }
  .cart-quantity a {
    font-size: 0.875rem; }

#edit-save-selected-currency {
  display: none; }

.block-commerce-multicurrency {
  float: left;
  margin-right: 15px;
  line-height: 1.8; }
  .block-commerce-multicurrency .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: -1px; }
  .block-commerce-multicurrency #commerce-multicurrency-selector-form .select2-selection {
    background: none;
    border: 0;
    padding: 0;
    font-size: 0.75rem; }
  .block-commerce-multicurrency #commerce-multicurrency-selector-form .form-item {
    margin: 0; }

.cart-quantity-inner {
  display: flex;
  align-items: center; }
  .cart-quantity-inner a {
    display: inline-block;
    font-size: 0.75rem;
    margin-right: 15px;
    text-transform: capitalize; }

.header-flag {
  text-align: center;
  background-color: #10487a;
  padding: 5px 0 4px;
  display: none; }
  @media screen and (max-width: 768px) {
    .header-flag {
      display: none; } }

.header-desc {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 300;
  margin-bottom: 0; }

.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 40px 14px; }
  .logged-in .header-top {
    padding: 40px 40px 14px; }
  @media screen and (max-width: 1200px) {
    .header-top {
      padding: 14px 15px 14px; } }
  @media screen and (max-width: 768px) {
    .header-top {
      display: none; } }

.header-logo {
  width: 120px;
  flex-shrink: 0; }
  .header-logo img {
    width: 100%;
    display: block; }

.header-buttons {
  display: flex;
  gap: 0.625rem; }
  @media screen and (max-width: 1200px) {
    .header-buttons {
      gap: 0.125rem; } }
  @media screen and (max-width: 1200px) {
    .header-buttons .cta {
      font-size: 0.75rem;
      padding: 3px 8px; } }

.header-action-list {
  display: flex;
  align-items: center;
  gap: 0 16px; }
  @media screen and (max-width: 1200px) {
    .header-action-list {
      gap: 0 5px; } }
  .header-action-list-inner {
    position: absolute;
    bottom: -97px;
    right: 0;
    z-index: 11;
    white-space: nowrap;
    text-align: right;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
    background-color: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.15); }

.header-action-item {
  display: flex;
  align-items: center;
  position: relative;
  padding: 5px 0; }
  .header-action-item:hover .header-action-list-inner {
    opacity: 1;
    pointer-events: auto; }
  .header-action-item a {
    display: flex; }
  .header-action-item-inner {
    width: 100%; }
    .header-action-item-inner:not(:last-child) {
      border-bottom: 1px solid #dce4ec; }
    .header-action-item-inner a {
      display: block;
      width: 121px;
      padding: 12px 19px;
      text-align: left;
      font-size: 1rem;
      transition: color 0.3s ease-in-out; }
      .header-action-item-inner a:hover {
        color: #10487a; }

.header-action-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  cursor: pointer; }
  .header-action-icon svg {
    display: block;
    width: 100%;
    height: 100%; }

.header-mobile {
  display: none;
  position: relative; }
  @media screen and (max-width: 768px) {
    .header-mobile {
      display: block; } }
  .header-mobile.toggled .header-mobile-logo {
    opacity: 0;
    translate: -20px 0; }
  .header-mobile-logo {
    width: 106px;
    transition-property: opacity, translate;
    transition-duration: 444ms;
    transition-timing-function: ease-in-out; }
    .header-mobile-logo img {
      width: 100%;
      display: block; }
  .header-mobile-toggle {
    cursor: pointer;
    height: 12px;
    width: 21px;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    -webkit-transition: all 444ms ease-out;
    -moz-transition: all 444ms ease-out;
    transition: all 444ms ease-out; }
    .header-mobile-toggle.toggled {
      right: 260px; }

.header-section-anchor {
  background-color: #dce4ec;
  display: none; }

.header-section-inner {
  text-align: center;
  padding: 11px 0 14px; }

.header-section-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 300;
  margin: 0 12px;
  color: #10487a;
  position: relative; }
  .header-section-link:hover::before {
    opacity: 1;
    translate: 0 0; }
  .header-section-link::before {
    pointer-events: none;
    opacity: 0;
    translate: 0 10px;
    position: absolute;
    width: 100%;
    content: '';
    left: 0;
    bottom: 3px;
    height: 1px;
    background-color: #10487a;
    transition-property: translate, opacity;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out; }

#content-header > .tabs {
  margin: 42px 0 0; }

.footer {
  background-color: #fff;
  padding: 60px 0 16px; }
  @media screen and (max-width: 680px) {
    .footer {
      padding: 32px 0 16px; } }
  .footer-top {
    display: flex;
    gap: 0 135px;
    margin-bottom: 82px; }
    @media screen and (max-width: 680px) {
      .footer-top {
        flex-direction: column;
        margin-bottom: 2.5rem; } }
    .footer-top-left {
      display: flex;
      flex-direction: column;
      gap: 53px 0; }
      @media screen and (max-width: 680px) {
        .footer-top-left {
          flex-direction: row;
          justify-content: space-between;
          margin-bottom: 40px;
          align-items: baseline; } }
  .footer-nav {
    margin-top: -3px; }
    @media screen and (max-width: 768px) {
      .footer-nav {
        margin-top: 0; } }
    .footer-nav > ul {
      column-count: 2;
      column-gap: 156px; }
      @media screen and (max-width: 680px) {
        .footer-nav > ul {
          column-gap: 20px; } }
      .footer-nav > ul li {
        margin-bottom: 15px;
        list-style: none; }
        @media screen and (max-width: 768px) {
          .footer-nav > ul li {
            margin-bottom: 5px;
            margin-left: 0; } }
        @media screen and (max-width: 680px) {
          .footer-nav > ul li {
            line-height: 1.18; } }
      .footer-nav > ul a {
        font-size: 1.125rem;
        font-weight: 600;
        color: #10487a;
        position: relative; }
        @media screen and (max-width: 680px) {
          .footer-nav > ul a {
            font-size: 0.875rem;
            line-height: inherit; } }
        .footer-nav > ul a.active::before, .footer-nav > ul a:hover::before {
          opacity: 1;
          translate: 0 0; }
        .footer-nav > ul a::before {
          pointer-events: none;
          opacity: 0;
          content: '';
          width: 100%;
          height: 1px;
          background-color: #10487a;
          position: absolute;
          bottom: 3px;
          left: 0;
          translate: 0 5px;
          transition-property: opacity, translate;
          transition-duration: 0.3s;
          transition-timing-function: ease-in-out; }
  .footer-logo {
    width: 170px;
    display: block;
    flex-shrink: 0; }
    @media screen and (max-width: 768px) {
      .footer-logo {
        width: 137px; } }
    .footer-logo img {
      display: block;
      width: 100%; }
  .footer-bottom #block-bean-social-links-block {
    display: none; }
  .footer-useful-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 20px;
    margin-bottom: 6px; }
    @media screen and (max-width: 680px) {
      .footer-useful-links {
        flex-direction: column;
        align-items: flex-start; } }
    .footer-useful-links-label {
      color: #10487a;
      font-weight: 900;
      font-size: 0.875rem; }
    .footer-useful-links ul {
      display: flex;
      align-items: center;
      gap: 0 17px; }
      .footer-useful-links ul li {
        list-style: none;
        margin: 0;
        padding: 0; }
      .footer-useful-links ul a {
        color: #10487a;
        font-size: 0.75rem;
        font-weight: 300;
        text-decoration: underline; }
      @media screen and (max-width: 680px) {
        .footer-useful-links ul {
          flex-direction: column;
          align-items: flex-start;
          margin-bottom: 2.25rem; }
          .footer-useful-links ul li {
            margin-left: 0; } }
  .footer .block-copyright-block {
    text-align: center; }
    .footer .block-copyright-block p {
      text-transform: uppercase;
      color: #10487a;
      font-size: 0.75rem;
      margin-bottom: 0; }
    @media screen and (max-width: 680px) {
      .footer .block-copyright-block {
        text-align: left; }
        .footer .block-copyright-block p {
          font-size: 0.625rem; } }
    .footer .block-copyright-block a {
      color: #10487a; }

.mobile-overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(71, 69, 69, 0.7);
  z-index: 1;
  display: none; }

body {
  padding-top: 66px;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  body.thinner {
    padding-top: 98px; }
  body.node-type-homepage {
    padding-top: 66px; }
    @media screen and (max-width: 768px) {
      body.node-type-homepage {
        padding-top: 60px; } }
  @media screen and (min-width: 769px) {
    body.have-cart-quantity {
      padding-top: 161px; }
    body.thinner.have-cart-quantity {
      padding-top: 128px; } }
  @media screen and (max-width: 768px) {
    body {
      padding-top: 60px; }
      body.thinner {
        padding-top: 44px; }
        body.thinner .mobile-menu .menu-search {
          padding: 7px 20px 4px 40px; } }

html,
body {
  height: 100%; }
  html #page > #main,
  body #page > #main {
    position: relative; }

.container {
  position: relative;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto; }
  .container::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 1440px) {
    .container {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 1200px) {
    .container {
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .container {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .container {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }

.header-container {
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
  clear: both; }
  .header-container::after {
    clear: both;
    content: "";
    display: table; }

.main-container {
  background-size: 100% auto; }
  .main-container.main-container-consulting {
    background: none; }

.main-wrapper {
  max-width: 1230px;
  margin-left: auto;
  margin-right: auto;
  padding: 105px 30px 100px; }
  .main-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .page-profile .main-wrapper {
    padding: 105px 15px 100px; }
    @media screen and (max-width: 768px) {
      .page-profile .main-wrapper {
        padding: 0 0 100px; } }
  .main-wrapper.main-wrapper-consulting {
    max-width: 1230px;
    margin-left: auto;
    margin-right: auto;
    padding: 66px 15px 100px; }
    .main-wrapper.main-wrapper-consulting::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 680px) {
      .main-wrapper.main-wrapper-consulting {
        padding: 0; } }
  @media screen and (max-width: 768px) {
    .main-wrapper {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;
      padding: 40px 0; }
      .main-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .main-wrapper {
      padding: 0;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .main-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  .main-wrapper h1 {
    font-size: 0.75em;
    text-transform: uppercase; }
  .main-wrapper .row {
    border-bottom: 1px dashed #FC572D; }
    .main-wrapper .row::after {
      clear: both;
      content: "";
      display: table; }
    .main-wrapper .row.full .desc-area,
    .main-wrapper .row.full .container-white,
    .main-wrapper .row.full .container-dark {
      height: auto; }
    .main-wrapper .row.full .container-white {
      width: 80%; }
  .main-wrapper .desc-area,
  .main-wrapper .container-white,
  .main-wrapper .container-dark {
    float: left;
    height: 180px; }
    .main-wrapper .desc-area.desc-area,
    .main-wrapper .container-white.desc-area,
    .main-wrapper .container-dark.desc-area {
      padding: 30px 5px 20px 0;
      background-color: #FFF;
      width: 20%; }
    .main-wrapper .desc-area.container-white,
    .main-wrapper .container-white.container-white,
    .main-wrapper .container-dark.container-white {
      padding: 30px 5px 20px 20px;
      background: #FFF;
      border-left: 1px solid #999;
      width: 40%; }
    .main-wrapper .desc-area.container-dark,
    .main-wrapper .container-white.container-dark,
    .main-wrapper .container-dark.container-dark {
      padding: 30px 5px 20px 20px;
      background: #3B3535;
      width: 40%; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out;
  background: rgba(71, 69, 69, 0.9);
  z-index: 10;
  opacity: 0;
  visibility: hidden; }
  .overlay.active {
    opacity: 1;
    visibility: visible; }

.current-width {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: rgba(0, 0, 255, 0.5);
  padding: 10px;
  z-index: 9999;
  font-size: 18px;
  text-align: center;
  width: 100px; }

#map {
  height: 600px;
  width: 800px; }

#atlwdg-trigger {
  z-index: 100; }

.archive-page-trigger,
.main-with-sidebar-trigger {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: transparent;
  z-index: 100;
  margin: auto; }

.sidebar {
  top: 155px;
  min-height: 20px;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%; }
  .sidebar:last-child {
    margin-right: 0; }
  .main-wrapper-consulting .sidebar {
    width: 24%; }
  .sidebar:not(.not-sticky) {
    position: sticky; }
  .sidebar li {
    font-size: 0.9375rem;
    color: #545151; }
  .sidebar .sidebar-remark {
    font-size: 0.6875em;
    text-transform: uppercase;
    margin-bottom: 42px;
    color: #474545;
    letter-spacing: 2.8px; }
  @media screen and (max-width: 768px) {
    .sidebar {
      top: 85px; }
      .sidebar li {
        font-size: 0.875rem;
        max-width: 185px; } }
  @media screen and (max-width: 680px) {
    .sidebar {
      float: none;
      width: 100%;
      display: none; } }

.mobile-sidebar {
  display: none;
  background: rgba(251, 249, 248, 0.96);
  padding: 8px 20px 6px;
  z-index: 10; }
  .mobile-sidebar .header-current-option {
    display: inline-block;
    position: relative;
    font-size: 0.75em;
    font-weight: 600;
    color: #474545;
    letter-spacing: -0.35px;
    text-transform: capitalize; }
    .mobile-sidebar .header-current-option:before {
      content: '';
      position: absolute;
      bottom: -8px;
      left: 0;
      height: 2px;
      width: 14px;
      background: #FC682D; }
  .mobile-sidebar ul {
    display: none;
    padding: 0;
    margin: 15px 0 5px; }
    .mobile-sidebar ul li {
      padding: 5px 0;
      font-size: 0.8125em; }
      .mobile-sidebar ul li:hover {
        font-weight: 500; }
  @media screen and (max-width: 680px) {
    .mobile-sidebar {
      display: block; }
      .mobile-sidebar .btn-more {
        display: inline-block; } }

.main-with-sidebar {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 74.46809%; }
  .main-with-sidebar:last-child {
    margin-right: 0; }
  .main-wrapper-consulting .main-with-sidebar {
    width: 70.5%; }
    @media screen and (max-width: 680px) {
      .main-wrapper-consulting .main-with-sidebar {
        width: 100%;
        padding: 40px 20px 45px; } }
  @media screen and (min-width: 681px) {
    .main-with-sidebar {
      float: right; } }
  .main-with-sidebar .text {
    font-size: 0.875em;
    color: #666262; }
    .main-with-sidebar .text p:last-of-type {
      margin-bottom: 0; }
  .main-with-sidebar h2 {
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: bold;
    margin-bottom: 15px; }
  .main-with-sidebar .card-horizontal-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 680px) {
    .main-with-sidebar {
      float: none;
      width: 100%;
      padding: 40px 20px 45px; }
      .main-with-sidebar .text {
        font-size: 0.8125rem; }
      .main-with-sidebar h2 {
        font-size: 1.25rem; }
      .main-with-sidebar .paragraph {
        padding: 27px 0 18px; }
        .main-with-sidebar .paragraph:first-of-type {
          padding: 0 0 18px; } }

.border-left {
  border-left: 1px solid #EAE9EC;
  padding-left: 15px;
  position: relative; }
  .border-left:before {
    content: '';
    width: 3px;
    height: 15px;
    background: #F2743A;
    position: absolute;
    top: 0;
    left: -1.5px;
    display: none; }

.sidebar-menu .menu {
  margin: 0;
  padding: 0; }
  .sidebar-menu .menu li {
    list-style-type: none;
    list-style-image: none;
    margin: 0;
    padding: 0; }
  .sidebar-menu .menu ul {
    margin-bottom: 50px; }
    .sidebar-menu .menu ul li {
      margin: 22px 0;
      line-height: 1.2; }
      .sidebar-menu .menu ul li.active a, .sidebar-menu .menu ul li.active-trail a {
        font-weight: 600;
        color: #474545; }
  .sidebar-menu .menu .nolink {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.2em; }

.orange-overlay {
  position: relative;
  color: #FFF;
  padding: 55px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  .orange-overlay:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(242, 116, 58, 0.94);
    z-index: 1; }
  .orange-overlay .container {
    position: relative;
    z-index: 2; }

.my-cart-section {
  padding: 9px 0 7px;
  background: #FBF9F8; }

.box-link {
  display: block; }

.wrapper {
  padding: 0 20px;
  max-width: 1220px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .wrapper {
      padding: 0 30px; } }
  .is-firefox .wrapper {
    max-width: 1120px; }

.slick-dots > li > button {
  background: #B6B6B6 !important;
  border-radius: 50%; }

.slick-dots > li.slick-active > button {
  background: #10487a !important; }

.slick-track {
  display: flex !important; }

.slick-slide {
  height: inherit !important;
  margin-bottom: 0;
  object-fit: cover; }

.title {
  font-size: 2.1875rem;
  letter-spacing: normal;
  color: #10487a;
  margin-bottom: 0; }
  @media screen and (max-width: 768px) {
    .title {
      font-size: 1.75rem; } }

.cta {
  color: #fff;
  font-size: 0.875rem;
  border-radius: 50px;
  padding: 3px 14px;
  border-width: 1px;
  border-style: solid;
  font-weight: 300;
  display: inline-block;
  position: relative;
  transition-property: color, background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out; }
  .cta::after {
    transition-property: box-shadow;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out; }
  .cta.is-blue {
    background-color: #10487a;
    border-color: #10487a; }
    @media screen and (min-width: 1201px) {
      .cta.is-blue:hover {
        background-color: #fff;
        color: #10487a; }
        .cta.is-blue:hover::after {
          box-shadow: 1.5px -1.5px 0 0 #10487a; } }
  .cta.is-orange {
    background-color: #f37324;
    border-color: #f37324; }
    @media screen and (min-width: 1201px) {
      .cta.is-orange:hover {
        background-color: #fff;
        color: #f37324; }
        .cta.is-orange:hover::after {
          box-shadow: 1.5px -1.5px 0 0 #f37324; } }
  .cta.is-white {
    background-color: #fff;
    color: #10487a;
    border-color: #fff; }
    @media screen and (min-width: 1201px) {
      .cta.is-white:hover {
        color: #fff;
        background-color: #10487a;
        border-color: #fff; }
        .cta.is-white:hover::after {
          box-shadow: 1.5px -1.5px 0 0 #fff; } }
  .cta.is-orange-border {
    background-color: transparent;
    border-color: #f37324;
    color: #f37324; }
    .cta.is-orange-border:after {
      box-shadow: 1.5px -1.5px 0 0 #f37324; }
    .cta.is-orange-border:hover {
      background-color: #f37324;
      color: #fff; }
      .cta.is-orange-border:hover:after {
        box-shadow: 1.5px -1.5px 0 0 #fff; }

input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"],
textarea,
.select2-container .select2-selection--multiple {
  border: 1px solid #EAE9EC;
  border-radius: 3px;
  background: #FFF;
  color: #545151;
  padding: 7px 13px;
  font-size: 14px;
  width: 100%;
  outline: none;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  input[type="email"]:focus, input[type="email"].not-empty, input[type="number"]:focus, input[type="number"].not-empty, input[type="password"]:focus, input[type="password"].not-empty, input[type="search"]:focus, input[type="search"].not-empty, input[type="tel"]:focus, input[type="tel"].not-empty, input[type="text"]:focus, input[type="text"].not-empty, input[type="url"]:focus, input[type="url"].not-empty, input[type="color"]:focus, input[type="color"].not-empty, input[type="date"]:focus, input[type="date"].not-empty, input[type="datetime"]:focus, input[type="datetime"].not-empty, input[type="datetime-local"]:focus, input[type="datetime-local"].not-empty, input[type="month"]:focus, input[type="month"].not-empty, input[type="time"]:focus, input[type="time"].not-empty, input[type="week"]:focus, input[type="week"].not-empty,
  textarea:focus,
  textarea.not-empty,
  .select2-container .select2-selection--multiple:focus,
  .select2-container .select2-selection--multiple.not-empty {
    background: #FBF9F8; }

textarea {
  resize: none;
  font-size: 14px;
  padding: 10px 13px;
  background: #FFF;
  border: 1px solid #EAE9EC;
  outline: none;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  textarea:focus {
    background: #FBF9F8; }

.form-submit {
  text-align: center;
  border: 1px solid #10487a;
  border-radius: 40px;
  padding: 12px 22px 11px;
  background: #10487a;
  font-size: 0.875em;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.44px;
  line-height: 1;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .form-submit:hover {
    background: #FC572D;
    border: 1px solid #FC572D;
    color: #FFF;
    box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
  @media screen and (max-width: 768px) {
    .form-submit {
      padding: 12px 18px 10px;
      font-size: 0.75em; } }

select {
  visibility: hidden; }

.select2-container {
  display: inline-block !important; }
  .select2-container .select2-selection {
    outline: none; }

.basic-sort-select {
  position: relative;
  background: #FFF;
  box-sizing: border-box;
  overflow: hidden;
  display: inline-block;
  min-width: 200px;
  padding: 19px 26px 10px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .basic-sort-select:before {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    height: 3px;
    width: 100%;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out;
    background: #FC682D; }
  .basic-sort-select.focus {
    background: #FFF !important; }
    .basic-sort-select.focus:before {
      top: 3px; }
    .basic-sort-select.focus .sort-container {
      opacity: 0.6; }
  .basic-sort-select:hover {
    background: #F3F3F4; }
  .basic-sort-select .title {
    font-size: 0.625em;
    letter-spacing: 1.6px;
    line-height: 1.4;
    text-transform: uppercase;
    margin: 0 0 2px; }
  .basic-sort-select .sort-container {
    font-size: 0.8125em;
    line-height: 1.9;
    letter-spacing: 0.38px;
    font-weight: 500;
    background: url("../../html_prototype/images/sort-arrow.svg") no-repeat right center;
    background-size: 6.5px auto;
    cursor: pointer;
    padding: 2px 24px 2px 2px; }
  .basic-sort-select .sort-select {
    position: relative;
    display: none; }
  .basic-sort-select ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .basic-sort-select ul li {
      font-size: 0.75em;
      line-height: 1.25;
      margin: 10px 0;
      cursor: pointer; }

.basic-sort-input {
  position: relative;
  display: inline-block;
  background: #FFF;
  overflow: hidden;
  padding: 24px 19px 21px 29px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .basic-sort-input:before {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    height: 3px;
    width: 100%;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out;
    background: #FC682D; }
  .basic-sort-input.focus {
    background: #FFF !important; }
    .basic-sort-input.focus:before {
      top: 3px; }
  .basic-sort-input:hover {
    background: #F3F3F4; }
  .basic-sort-input input,
  .basic-sort-input .search {
    display: inline-block;
    vertical-align: middle; }
  .basic-sort-input input {
    font-size: 0.8125em;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: -0.38px;
    min-width: 200px; }
  .basic-sort-input .search {
    cursor: pointer;
    height: 11px;
    width: 11px;
    background: url("../../html_prototype/images/search.svg") no-repeat center;
    background-size: 11px; }

.search-input {
  position: relative;
  background: #FBF9F8;
  border: 1px solid #EAEAEA;
  border-radius: 3px;
  display: inline-block;
  padding: 11px 19px 11px 16px; }
  .search-input input,
  .search-input .search {
    display: inline-block;
    vertical-align: middle; }
  .search-input input {
    min-width: 200px;
    line-height: 1.7;
    font-size: 0.8125em;
    font-weight: 600;
    color: #545151; }
    .search-input input::-webkit-input-placeholder {
      font-size: 0.9375em;
      color: #666262; }
    .search-input input::-moz-placeholder {
      font-size: 0.9375em;
      color: #666262; }
    .search-input input:-moz-placeholder {
      font-size: 0.9375em;
      color: #666262; }
    .search-input input:-ms-input-placeholder {
      font-size: 0.9375em;
      color: #666262; }
  .search-input .search {
    cursor: pointer;
    height: 18px;
    width: 18px;
    background: url("../../html_prototype/images/search.svg") no-repeat center;
    background-size: 15px;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out; }
    .search-input .search:hover {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }

.login-form {
  text-align: left; }
  .login-form label {
    font-size: 0.75em;
    color: #545151;
    padding-left: 10px;
    line-height: 1.25; }
  .login-form .login-input {
    width: 100%;
    border-radius: 3px;
    font-size: 0.75em;
    color: #958E9C;
    padding: 7px 19px;
    border: 1px solid #EAE9EC;
    margin-bottom: 33px; }
    .login-form .login-input:last-of-type {
      margin-bottom: 0; }
  .login-form .btn-login {
    display: block;
    text-align: center;
    width: 90px;
    margin: 72px auto 19px; }

.entityform .select2-container.select2-container--focus .select2-selection {
  background: #FBF9F8; }

.entityform .select2-container .select2-selection {
  outline: none;
  padding: 9px 14px 6px 11px;
  background: #FFF;
  height: auto;
  border: 1px solid #EAE9EC; }
  .entityform .select2-container .select2-selection .select2-selection__rendered {
    font-size: 0.875em;
    line-height: 1.64;
    padding: 0;
    color: #666262; }
  .entityform .select2-container .select2-selection .select2-selection__arrow {
    position: absolute;
    top: 0;
    right: 13px;
    bottom: 0;
    margin: auto; }

.entityform label {
  padding-left: 10px;
  font-size: 0.6875em;
  color: #666262;
  font-weight: normal; }
  .entityform label .form-required {
    color: #666262; }

.entityform .grippie {
  display: none; }

.entityform .form-actions {
  text-align: center;
  margin: 30px 0 0; }

form .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #FFF;
  border-radius: 22px;
  border: 0;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 300;
  padding: 5px 12px;
  margin-right: 10px;
  letter-spacing: 0.25em; }

.captcha {
  text-align: center;
  margin-top: -30px;
  margin-bottom: 30px; }
  .captcha .g-recaptcha {
    display: inline-block; }

.primary-call-action {
  position: relative;
  display: inline-block;
  font-size: 0.875em;
  font-weight: 600;
  color: #FC572D;
  line-height: 1;
  letter-spacing: -0.44px;
  text-transform: capitalize;
  border: 0;
  box-shadow: inset 0 0 0 1px #FC572D;
  border-radius: 40px;
  overflow: hidden;
  z-index: 1;
  box-sizing: border-box;
  background: none;
  cursor: pointer;
  outline: none;
  margin: 1px;
  padding: 14px 19px 12px;
  -webkit-transition: all 130ms ease-out;
  -moz-transition: all 130ms ease-out;
  transition: all 130ms ease-out; }
  .primary-call-action:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -1%;
    border-radius: 40px;
    background: #FC572D;
    height: 102%;
    width: 0;
    -webkit-transition: all 130ms ease-out;
    -moz-transition: all 130ms ease-out;
    transition: all 130ms ease-out;
    z-index: -1; }
  @media screen and (max-width: 768px) {
    .primary-call-action {
      padding: 12px 18px 10px;
      font-size: 0.75em; } }
  .primary-call-action.white {
    color: #FFF;
    box-shadow: inset 0 0 0 1px #FFF; }
    .primary-call-action.white:before {
      background: #FFF; }
  .primary-call-action.orange {
    background: #FC682D;
    color: #FFF; }
  .primary-call-action.grey {
    box-shadow: inset 0 0 0 1px #999;
    color: #999; }
  .primary-call-action:hover {
    color: #FFF;
    box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .primary-call-action:hover.white {
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12);
      color: #FC572D; }
    .primary-call-action:hover:before {
      height: 102%;
      width: 102%; }

input.primary-call-action:hover.white {
  background: #FFF; }

input.primary-call-action:hover.grey {
  color: #3B3535;
  background: #FFF;
  box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }

.secondary-call-action, .company-header .form-submit, .view-commerce-cart-form #edit-coupon-code .form-submit,
.view-commerce-cart-form #edit-coupon-code--2 .form-submit {
  position: relative;
  display: inline-block;
  font-size: 0.75em;
  min-width: 60px;
  font-weight: 600;
  color: #FC572D;
  line-height: 1.167;
  letter-spacing: -0.38px;
  text-transform: capitalize;
  border: 0;
  box-shadow: inset 0 0 0 1px #FC572D;
  border-radius: 40px;
  overflow: hidden;
  z-index: 1;
  text-align: center;
  background: transparent;
  cursor: pointer;
  padding: 10px 14px 8px;
  -webkit-transition: all 130ms ease-out;
  -moz-transition: all 130ms ease-out;
  transition: all 130ms ease-out;
  margin: 1px; }
  .secondary-call-action:before, .company-header .form-submit:before, .view-commerce-cart-form #edit-coupon-code .form-submit:before,
  .view-commerce-cart-form #edit-coupon-code--2 .form-submit:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -10px;
    border-radius: 40px;
    background: #FC572D;
    border: 1px solid #FC572D;
    height: 100%;
    width: 0;
    -webkit-transition: all 130ms ease-out;
    -moz-transition: all 130ms ease-out;
    transition: all 130ms ease-out;
    z-index: -1; }
  .secondary-call-action.white, .company-header .white.form-submit, .view-commerce-cart-form #edit-coupon-code .white.form-submit,
  .view-commerce-cart-form #edit-coupon-code--2 .white.form-submit {
    color: #FFF;
    box-shadow: inset 0 0 0 1px #FFF; }
    .secondary-call-action.white:before, .company-header .white.form-submit:before, .view-commerce-cart-form #edit-coupon-code .white.form-submit:before,
    .view-commerce-cart-form #edit-coupon-code--2 .white.form-submit:before {
      background: #FFF; }
  .secondary-call-action:hover, .company-header .form-submit:hover, .view-commerce-cart-form #edit-coupon-code .form-submit:hover,
  .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover {
    color: #FFF;
    font-weight: 500;
    box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .secondary-call-action:hover.white, .company-header .form-submit:hover.white, .view-commerce-cart-form #edit-coupon-code .form-submit:hover.white,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover.white {
      color: #FC572D;
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .secondary-call-action:hover:before, .company-header .form-submit:hover:before, .view-commerce-cart-form #edit-coupon-code .form-submit:hover:before,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover:before {
      height: 100%;
      width: calc(100% + 10px); }
  .secondary-call-action:active, .company-header .form-submit:active, .view-commerce-cart-form #edit-coupon-code .form-submit:active,
  .view-commerce-cart-form #edit-coupon-code--2 .form-submit:active {
    font-weight: 500; }
    .secondary-call-action:active.white:before, .company-header .form-submit:active.white:before, .view-commerce-cart-form #edit-coupon-code .form-submit:active.white:before,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:active.white:before {
      background: #DDD; }
    .secondary-call-action:active:before, .company-header .form-submit:active:before, .view-commerce-cart-form #edit-coupon-code .form-submit:active:before,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:active:before {
      background: #F2743A; }

.ticket-call-action {
  position: relative;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #FC572D;
  line-height: 1;
  letter-spacing: -0.44px;
  text-transform: capitalize;
  border: 1px solid #FC572D;
  border-right: 0;
  overflow: hidden;
  z-index: 1;
  cursor: pointer;
  padding: 14px 40px 12px 20px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  @media screen and (max-width: 680px) {
    .ticket-call-action {
      font-size: 0.8125rem;
      padding: 10px 30px 8px 15px; } }
  .ticket-call-action:before {
    content: '';
    position: absolute;
    top: 0;
    right: 20px;
    background-image: linear-gradient(to bottom, #FC572D 50%, #FFF 50%);
    background-position: left 2.5px;
    background-size: 1px 10px;
    background-repeat: repeat-y;
    height: 100%;
    width: 1px;
    z-index: -1; }
  .ticket-call-action:after {
    content: '';
    position: absolute;
    bottom: -1%;
    left: -1%;
    background: #FC572D;
    height: 102%;
    width: 0;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out;
    z-index: -2; }
  .ticket-call-action .circle {
    position: absolute;
    top: 0;
    right: -11px;
    bottom: 0;
    height: 19px;
    width: 19px;
    margin: auto 0;
    background: transparent;
    border: 1px solid #FC572D;
    border-radius: 50%;
    z-index: 2; }
    .ticket-call-action .circle:before, .ticket-call-action .circle:after {
      content: '';
      height: 100px;
      width: 1px;
      margin: auto;
      background: #FC572D; }
    .ticket-call-action .circle:before {
      position: absolute;
      top: -100px;
      left: 6px; }
    .ticket-call-action .circle:after {
      position: absolute;
      bottom: -100px;
      left: 6px; }
  .ticket-call-action.white {
    color: #FFF;
    border-color: #FFF; }
    .ticket-call-action.white .circle {
      background: transparent;
      border-color: #FFF; }
      .ticket-call-action.white .circle:before, .ticket-call-action.white .circle:after {
        background: transparent; }
    .ticket-call-action.white:before {
      background-image: linear-gradient(to bottom, #FFF 50%, #3B3535 50%);
      background-position: left 2.5px;
      background-size: 1px 10px;
      background-repeat: repeat-y; }
    .ticket-call-action.white:after {
      background: transparent; }
  .ticket-call-action:hover {
    color: #FFF; }
    .ticket-call-action:hover .circle {
      background: #FFF !important; }
    .ticket-call-action:hover.white {
      color: #FC572D; }
    .ticket-call-action:hover.hightlight {
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .ticket-call-action:hover:after {
      height: 102%;
      width: 102%; }

.tertiary-call-action {
  position: relative;
  font-weight: 500;
  font-size: 0.75em;
  color: #545151;
  line-height: 1.25;
  cursor: pointer;
  padding: 0 15px 0 9px; }
  .tertiary-call-action:after {
    content: '';
    background-repeat: no-repeat;
    position: absolute;
    top: 5px;
    right: 0;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out; }
  .tertiary-call-action:before {
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    height: 10px;
    width: 2px;
    background: #FC682D; }
  .tertiary-call-action.dir-left:after {
    height: 8px;
    width: 11.5px;
    background-image: url("../../images/build/arrow-left.svg");
    background-position: -12px center;
    background-size: 11.5px auto; }
  .tertiary-call-action.dir-left.white {
    color: #FFF; }
    .tertiary-call-action.dir-left.white:after {
      background-image: url("../../images/build/arrow-left-white.svg"); }
  .tertiary-call-action.dir-down:after {
    height: 11.5px;
    width: 8px;
    background-image: url("../../images/build/arrow-down.svg");
    background-position: center 15px;
    background-size: 7px auto; }
  .tertiary-call-action.dir-down.white {
    color: #FFF; }
    .tertiary-call-action.dir-down.white:after {
      background-image: url("../../images/build/arrow-down-white.svg"); }
  .tertiary-call-action:hover.dir-left:after {
    background-position: center; }
  .tertiary-call-action:hover.dir-down:after {
    background-position: center -1px; }

.link-normal {
  position: relative;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.25;
  cursor: pointer;
  color: #FC682D;
  padding: 0 2px 4px;
  text-transform: lowercase; }
  .link-normal:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    height: 1px;
    width: 100%;
    opacity: 0;
    background: #FC682D;
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .link-normal.white:after {
    height: 2px;
    width: 100%;
    background: #4F4F4F; }
  .link-normal:hover:after {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }

.link-underline {
  position: relative;
  font-size: 0.75em;
  color: #3B3535;
  line-height: 1.25;
  cursor: pointer;
  text-transform: capitalize;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #3B3535 50%);
  background-size: 200% 100%;
  background-position: 100%;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .link-underline:after {
    content: '';
    height: 1px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #3B3535 50%);
    background-size: 201% 100%;
    background-position: 99.9%;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .link-underline.white {
    background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #FFF 50%); }
    .link-underline.white:after {
      background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #FFF 50%); }
  .link-underline:hover, .link-underline:active {
    background-position: 0; }
    .link-underline:hover:after, .link-underline:active:after {
      background-position: 0; }

.btn-back {
  width: 100%;
  font-size: 0.75em;
  color: #474545;
  line-height: 1.25;
  padding-left: 13px;
  background: url("../../html_prototype/images/back-arrow.svg") no-repeat left center;
  background-size: 4.5px auto;
  cursor: pointer;
  display: none; }
  @media screen and (max-width: 680px) {
    .btn-back {
      display: inline-block; } }

.btn-more {
  display: none;
  float: right;
  text-align: right;
  width: 50px;
  font-size: 0.75em;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.32px;
  padding-right: 15px;
  margin-top: 6px;
  cursor: pointer;
  background: url("../../images/build/more-arrow.png") no-repeat right center;
  background-size: 9px auto; }

button {
  outline: none; }

.profile-tab-link {
  font-size: 1rem;
  font-weight: 400;
  text-transform: capitalize;
  padding: 7px 23px 7px 15px; }
  .profile-tab-link::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  @media screen and (max-width: 680px) {
    .profile-tab-link {
      position: absolute;
      bottom: 0;
      left: 0; } }
  .profile-tab-link::after {
    margin-left: 8px; }

.bean-our-partners {
  position: relative;
  padding: 104px 0 88px;
  background: #FBF9F8; }
  .bean-our-partners .text-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .bean-our-partners .text-wrap:last-child {
      margin-right: 0; }
  .bean-our-partners .partners-wrap {
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 23.40426%; }
    .bean-our-partners .partners-wrap:last-child {
      margin-right: 0; }
  .bean-our-partners .partners-list {
    margin: 0;
    padding: 0; }
    .bean-our-partners .partners-list li {
      list-style: none;
      margin-bottom: 34px; }
      .bean-our-partners .partners-list li:last-of-type {
        margin-bottom: 0; }
    .bean-our-partners .partners-list .image {
      margin-bottom: 11px; }
      .bean-our-partners .partners-list .image img {
        zoom: 50%; }
    .bean-our-partners .partners-list .text {
      font-size: 12px;
      color: #666262;
      line-height: 1.5; }
  .bean-our-partners strong {
    font-size: 14px;
    color: #545151;
    line-height: 1.43; }
  .bean-our-partners h3 {
    font-size: 11px;
    color: #474545;
    margin-bottom: 37px;
    text-transform: uppercase;
    letter-spacing: 2.8px;
    font-weight: normal; }
  .bean-our-partners .secondary-call-action, .bean-our-partners .company-header .form-submit, .company-header .bean-our-partners .form-submit, .bean-our-partners .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .bean-our-partners .form-submit,
  .bean-our-partners .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .bean-our-partners .form-submit {
    margin-top: 10px; }
  @media screen and (max-width: 768px) {
    .bean-our-partners {
      padding: 60px 0 46px; }
      .bean-our-partners .text-wrap {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 57.44681%;
        margin-bottom: 35px; }
        .bean-our-partners .text-wrap:last-child {
          margin-right: 0; }
      .bean-our-partners .partners-wrap {
        margin-left: 0%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 65.95745%; }
        .bean-our-partners .partners-wrap:last-child {
          margin-right: 0; }
      .bean-our-partners .partners-list li {
        position: relative;
        float: left;
        display: block;
        margin-right: 3.22581%;
        width: 48.3871%; }
        .bean-our-partners .partners-list li:last-child {
          margin-right: 0; }
      .bean-our-partners .partners-list .image {
        height: 40px; }
      .bean-our-partners p {
        margin-bottom: 6px; }
      .bean-our-partners h3 {
        margin-bottom: 15px; } }
  @media screen and (max-width: 680px) {
    .bean-our-partners {
      padding: 40px 20px; }
      .bean-our-partners:before {
        content: '';
        height: 84px;
        width: 84px;
        position: absolute;
        top: -42px;
        right: -42px;
        background: rgba(252, 104, 45, 0.13);
        border-radius: 50%; }
      .bean-our-partners .text-wrap {
        float: none;
        width: 100%;
        margin: 0 0 30px; }
      .bean-our-partners .partners-wrap {
        float: none;
        width: 100%; }
      .bean-our-partners .partners-list li {
        display: inline-block;
        width: auto;
        margin: 0 26px 0 0; }
        .bean-our-partners .partners-list li:first-of-type {
          margin-left: 6px; }
      .bean-our-partners .partners-list .image {
        margin-bottom: 0; }
      .bean-our-partners .partners-list .text {
        display: none; } }

.anchor-tab {
  position: relative; }
  @media (min-width: 681px) {
    .anchor-tab {
      max-height: calc(100vh - 214px);
      overflow: auto; } }
  .anchor-tab h2 {
    font-size: 0.6875em;
    text-transform: uppercase;
    margin-bottom: 42px;
    color: #474545;
    letter-spacing: 2.8px;
    font-weight: normal; }
  .anchor-tab ul {
    list-style: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box; }
    .anchor-tab ul.focus li {
      color: #999; }
      .anchor-tab ul.focus li.active {
        color: #474545; }
    .anchor-tab ul li {
      position: relative;
      font-size: 0.9375rem;
      line-height: 1.7;
      text-transform: capitalize;
      color: #545151;
      cursor: pointer;
      padding: 0 0 18px 0;
      -webkit-transition: all 113ms linear;
      -moz-transition: all 113ms linear;
      transition: all 113ms linear; }
      .anchor-tab ul li:last-of-type {
        padding-bottom: 0; }
      .anchor-tab ul li.active {
        font-weight: 600;
        color: #474545; }
  .anchor-tab .anchor-nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 25px;
    background: #FC682D;
    -webkit-transition: all 113ms ease-out;
    -moz-transition: all 113ms ease-out;
    transition: all 113ms ease-out;
    opacity: 0; }

.item-list ul {
  margin-bottom: 0; }

.item-list .pager li {
  padding: 0 7px;
  margin: 0 5px;
  color: #999;
  font-weight: 500;
  font-size: 0.9375rem;
  height: 25px;
  width: 25px;
  display: inline-block;
  vertical-align: middle; }
  .item-list .pager li a {
    color: #999;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  .item-list .pager li.pager-current,
  .item-list .pager li:hover a {
    color: #FC682D;
    font-weight: 600; }

.item-list .pager .pager-item,
.item-list .pager .pager-current {
  margin-top: 1px; }

.item-list .pager .pager-first,
.item-list .pager .pager-previous,
.item-list .pager .pager-ellipsis,
.item-list .pager .pager-next,
.item-list .pager .pager-last {
  color: transparent; }
  .item-list .pager .pager-first a,
  .item-list .pager .pager-previous a,
  .item-list .pager .pager-ellipsis a,
  .item-list .pager .pager-next a,
  .item-list .pager .pager-last a {
    height: 0;
    overflow: hidden;
    display: block;
    padding-top: 30px; }
  .item-list .pager .pager-first:not(.pager-ellipsis),
  .item-list .pager .pager-previous:not(.pager-ellipsis),
  .item-list .pager .pager-ellipsis:not(.pager-ellipsis),
  .item-list .pager .pager-next:not(.pager-ellipsis),
  .item-list .pager .pager-last:not(.pager-ellipsis) {
    cursor: pointer; }

.item-list .pager .pager-first {
  background: url("../../images/build/pager-aw-first.png") no-repeat center;
  background-size: 11px auto; }

.item-list .pager .pager-previous {
  background: url("../../images/build/pager-aw-prev.png") no-repeat center;
  background-size: 5px auto; }

.item-list .pager .pager-ellipsis {
  background: url("../../images/build/pager-ellipsis.png") no-repeat center;
  background-size: 9px auto; }

.item-list .pager .pager-next {
  background: url("../../images/build/pager-aw-next.png") no-repeat center;
  background-size: 5px auto; }

.item-list .pager .pager-last {
  background: url("../../images/build/pager-aw-last.png") no-repeat center;
  background-size: 11px auto; }

@media screen and (max-width: 680px) {
  .item-list .pager {
    margin: 0 0 40px; }
    .item-list .pager li {
      margin: 0 3px; }
    .item-list .pager .pager-first,
    .item-list .pager .pager-last {
      display: none; } }

.card {
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  overflow: hidden;
  border-radius: 20px;
  height: 100%;
  transition: translate 0.3s cubic-bezier(0.38, 0.18, 0.43, 1); }
  .card:hover {
    translate: 0 -10px; }
    .card:hover .card-picture {
      scale: 1; }
  .card-content {
    padding: 11px 14px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%; }
  .card-frame {
    overflow: hidden;
    flex-shrink: 0;
    position: relative; }
    .card-frame .image {
      position: relative;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      min-height: 169px; }
    .card-frame .price {
      position: absolute;
      top: 0;
      right: 0;
      background: #F2743A;
      color: #FFF;
      z-index: 2;
      font-size: 0.75rem;
      padding: 6px 10px 3px;
      font-weight: 500;
      letter-spacing: 0.92px;
      line-height: 1.41;
      text-transform: capitalize; }
  .card-picture {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 169px;
    scale: 1.05;
    transition: scale 0.3s cubic-bezier(0.38, 0.18, 0.43, 1); }
  .card .topic {
    position: absolute;
    top: 8px;
    right: 0;
    background: #F2743A;
    color: #FFF;
    padding: 3px 10px;
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 5;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    font-weight: 500; }
  .card-title {
    font-size: 0.9375rem;
    letter-spacing: -0.03em;
    line-height: 1.33;
    font-weight: 600;
    margin-bottom: 9px;
    color: #10487a; }
  .card-date {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    line-height: normal;
    font-weight: 600;
    color: #474545;
    text-transform: uppercase;
    margin-bottom: 7px; }
  .card .created-date {
    font-size: 0.6875em;
    font-weight: normal;
    margin-bottom: 5px;
    color: #666262; }
  .card .category-wrapper {
    width: 100%;
    margin-bottom: 15px; }
  .card .category {
    font-size: 0;
    margin-bottom: 8px; }
    .card .category span {
      font-size: 0.6875rem;
      text-transform: uppercase;
      font-weight: 400;
      color: #666262;
      position: relative;
      display: inline-block;
      line-height: 1.5; }
      .card .category span:not(:last-of-type) {
        margin-right: 10px; }
        .card .category span:not(:last-of-type)::before {
          position: absolute;
          top: 0;
          right: -7px;
          content: '|'; }
  .card .more-category {
    float: left;
    font-size: 0.625em;
    letter-spacing: 1.6px;
    line-height: 1.4;
    margin: 0 7px 3px 0;
    font-weight: 500;
    color: #999; }
  .card-desc {
    margin: 0 0 18px;
    font-size: 0.75rem;
    letter-spacing: -0.3px;
    line-height: 1.58;
    color: #666262;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden; }
  .card-cta {
    font-size: 1rem;
    font-weight: 400;
    padding: 8px 24px 6px 16px;
    margin-top: auto; }
    .card-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .card-cta::after {
      margin-left: 8px; }

.card-horizontal {
  cursor: pointer;
  position: relative;
  width: 100%;
  max-width: 385px;
  margin: 30px 0;
  background: #FAF8F7;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .card-horizontal .date-wrapper {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 40px; }
    .card-horizontal .date-wrapper .date {
      font-size: 1.125em;
      font-weight: 600;
      -webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      -moz-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      -ms-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      -o-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      margin: 0 0 0 20px;
      position: absolute;
      top: 50%;
      text-align: center;
      color: #999;
      min-width: 100px;
      text-transform: uppercase; }
  .card-horizontal .content {
    position: relative;
    margin-left: 40px;
    min-height: 180px;
    padding: 26px 44px 18px 24px; }
  .card-horizontal .image-wrapper {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }
    .card-horizontal .image-wrapper .image {
      position: relative;
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      .card-horizontal .image-wrapper .image:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: #FFF;
        opacity: 0.95;
        -webkit-transition: all 333ms ease-out;
        -moz-transition: all 333ms ease-out;
        transition: all 333ms ease-out; }
  .card-horizontal .network {
    margin-bottom: 6px;
    font-size: 0.625em;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    line-height: 1.4;
    position: relative;
    color: #474545; }
  .card-horizontal .title {
    font-size: 1.125em;
    font-weight: 600;
    letter-spacing: -0.53px;
    line-height: 1.3;
    margin-bottom: 12px;
    position: relative;
    color: #3B3535; }
  .card-horizontal p {
    font-size: 0.75em;
    letter-spacing: -0.3px;
    line-height: 1.58;
    color: #666262;
    margin-bottom: 11px;
    position: relative; }
  .card-horizontal:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 30px 40px 0 rgba(0, 0, 0, 0.12); }
    .card-horizontal:hover a {
      text-decoration: none !important; }
    .card-horizontal:hover .image {
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2); }
      .card-horizontal:hover .image:after {
        opacity: 0.9; }
  @media screen and (max-width: 680px) {
    .card-horizontal {
      margin: 15px 0; }
      .card-horizontal .content {
        padding: 16px 20px 15px; }
      .card-horizontal .network {
        margin-bottom: 3px; }
      .card-horizontal .title {
        font-size: 0.9375em;
        margin-bottom: 5px; }
      .card-horizontal p {
        margin-bottom: 27px; } }

.card-square {
  position: relative;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%;
  text-align: center;
  margin-bottom: 20px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out;
  cursor: pointer; }
  .card-square:last-child {
    margin-right: 0; }
  .card-square:after {
    content: '';
    display: block;
    padding-top: 100%;
    background: #FBF9F8; }
  .card-square .content {
    padding: 25px;
    margin: auto;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
  .card-square .icon {
    width: 25px;
    margin: 0 auto 20px; }
    .card-square .icon img {
      width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
  .card-square .title {
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: -0.53px;
    line-height: 1.3;
    margin-bottom: 17px; }
  .card-square p {
    font-size: 0.75rem;
    color: #666262;
    letter-spacing: 0;
    line-height: 1.58;
    margin-bottom: 0; }
  .card-square:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 30px 20px 0 rgba(0, 0, 0, 0.08); }
  @media screen and (max-width: 1200px) {
    .card-square .content {
      padding: 12px; }
    .card-square .icon {
      width: 20px;
      margin: 0 auto 7px; }
    .card-square .title {
      font-size: 0.9375rem;
      letter-spacing: -0.44px;
      line-height: 1.6;
      margin-bottom: 10px; }
    .card-square p {
      font-size: 0.6875rem;
      line-height: 1.45; } }
  @media screen and (max-width: 768px) {
    .card-square .content {
      padding: 25px; }
    .card-square .icon {
      width: 30px;
      margin-bottom: 17px; }
    .card-square .title {
      font-size: 0.9375em;
      margin-bottom: 0;
      height: 45px; }
    .card-square p {
      display: none; } }
  @media screen and (max-width: 680px) {
    .card-square {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%;
      margin-bottom: 15px; }
      .card-square:nth-child(4n) {
        margin-right: 2.12766%; }
      .card-square:nth-child(4n+1) {
        clear: none; }
      .card-square:last-child {
        margin-right: 0; }
      .card-square:nth-child(2n) {
        margin-right: 0; }
      .card-square:nth-child(2n+1) {
        clear: left; }
      .card-square .title {
        font-size: 0.875rem; } }

.card-login {
  cursor: pointer;
  width: 225px;
  position: relative;
  padding: 34px 20px 33px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .card-login:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #F2743A;
    opacity: 0.93;
    z-index: -1; }
  .card-login .title {
    font-size: 1.125em;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.53px;
    color: #FFF; }
  .card-login .sub-title {
    font-size: 0.6875em;
    color: #FFF;
    text-transform: lowercase; }
  .card-login:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 30px 20px 0 rgba(0, 0, 0, 0.08); }

.email-subscription {
  position: relative;
  padding: 64px 21px 100px 31px;
  overflow: hidden;
  margin-bottom: 25px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .email-subscription .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: url("../../images/build/email-subscription.jpg") no-repeat center;
    background-size: cover;
    z-index: 0;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
    .email-subscription .background:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: #F2743A;
      opacity: 0.9;
      z-index: -1;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
  .email-subscription .title {
    font-size: 1.3125em;
    line-height: 1.2;
    margin-bottom: 8px;
    color: #FFF;
    text-transform: capitalize;
    position: relative; }
  .email-subscription p {
    font-size: 0.875em;
    line-height: 1.5;
    color: #FFF;
    position: relative; }
  .email-subscription .primary-call-action {
    display: inline-table;
    position: absolute;
    bottom: 44px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%); }
  .email-subscription:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05); }
    .email-subscription:hover .background {
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2); }
      .email-subscription:hover .background:after {
        opacity: 0.95; }
  @media screen and (max-width: 680px) {
    .email-subscription {
      padding: 43px 26px 38px; }
      .email-subscription .title {
        width: 280px; }
      .email-subscription p {
        font-size: 0.8125em;
        font-weight: 500;
        margin-bottom: 15px; }
      .email-subscription .primary-call-action {
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit;
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0); } }

.card-team {
  z-index: 1;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: translate 0.3s ease-in-out, box-shadow 0.3s ease-in-out; }
  .card-team:hover {
    translate: 0 -15px;
    box-shadow: 0px 0px 24px rgba(25, 32, 56, 0.08); }
    .card-team:hover .card-team-content {
      background-color: #10487a; }
    .card-team:hover .card-team-desc,
    .card-team:hover .card-team-salutation,
    .card-team:hover .card-team-position,
    .card-team:hover .card-team-name {
      color: #fff; }
  .card-team-figure {
    overflow: hidden;
    height: 191px;
    flex-shrink: 0; }
  .card-team-image {
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .card-team-content {
    padding: 10px 20px;
    transition: background-color 0.3s ease-in-out;
    height: 100%;
    display: flex;
    flex-direction: column; }
  .card-team-position {
    font-size: 0.625rem;
    color: #474545;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 1.6px;
    margin-bottom: 10px;
    font-weight: normal;
    transition: color 0.3s ease-in-out; }
  .card-team-name {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.44px;
    margin-bottom: 3px;
    transition: color 0.3s ease-in-out; }
  .card-team-desc {
    font-size: 0.75em;
    color: #666262;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: -5px;
    transition: color 0.3s ease-in-out; }
  .card-team-salutation {
    font-size: 0.75em;
    color: #666262;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: 0;
    transition: color 0.3s ease-in-out; }
  .card-team-link {
    margin-top: auto;
    font-size: 0.75rem;
    color: #f37324;
    display: inline-block; }

.card-team-detail {
  width: 80%;
  max-width: 755px;
  display: none;
  padding: 60px 75px !important; }
  .card-team-detail .team-image {
    position: relative;
    height: 188px;
    width: 188px;
    margin-right: 35px;
    display: inline-block;
    vertical-align: middle; }
    .card-team-detail .team-image .team-image-wrapper {
      border-radius: 50%;
      height: 100%;
      width: 100%;
      margin: 0 auto;
      overflow: hidden; }
      .card-team-detail .team-image .team-image-wrapper:after {
        content: '';
        display: block;
        padding-top: 100%; }
      .card-team-detail .team-image .team-image-wrapper .image {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 50%; }
        .card-team-detail .team-image .team-image-wrapper .image:after {
          content: '';
          height: 35px;
          width: 35px;
          border-radius: 50%;
          background: rgba(252, 104, 45, 0.75);
          position: absolute;
          right: 20px;
          bottom: 5px; }
        .node-type-networks-landing .card-team-detail .team-image .team-image-wrapper .image::after {
          display: none; }
  .card-team-detail .content {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 185px - 45px); }
    .card-team-detail .content .salutation {
      color: #666262;
      font-size: 0.875rem;
      line-height: 1.65;
      margin-bottom: 2px; }
    .card-team-detail .content .title {
      color: #666262;
      font-size: 0.875rem;
      line-height: 1.65;
      font-weight: normal; }
    .card-team-detail .content .name {
      font-size: 1.0625em;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: -0.44px;
      margin-bottom: 3px; }
    .card-team-detail .content p {
      font-size: 0.875em;
      color: #666262;
      line-height: 1.58;
      letter-spacing: -0.3px;
      margin-bottom: -5px; }
  .card-team-detail .text {
    margin-top: 35px; }
    .card-team-detail .text p {
      margin-bottom: 10px; }
  .card-team-detail .link {
    text-align: center;
    padding-top: 20px; }
  @media screen and (max-width: 768px) {
    .card-team-detail {
      padding: 40px !important; } }
  @media screen and (max-width: 680px) {
    .card-team-detail {
      width: 100%;
      margin: 0 !important;
      padding: 20px !important; }
      .card-team-detail .team-image {
        width: 100%;
        margin: 0 0 25px; }
        .card-team-detail .team-image .team-image-wrapper .image {
          height: 188px;
          width: 188px;
          right: 0;
          margin: auto; }
      .card-team-detail .content {
        width: 100%; }
        .card-team-detail .content p {
          font-size: 0.8125em;
          margin-bottom: 0; }
      .card-team-detail .text {
        margin-top: 15px; } }

.card-team-slick-wrapper {
  position: fixed !important;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 15;
  margin: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  height: auto;
  width: 755px;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .card-team-slick-wrapper.active {
    opacity: 1;
    visibility: visible; }
  .card-team-slick-wrapper .close {
    cursor: pointer;
    background: url("../../html_prototype/images/close.svg") no-repeat center;
    background-size: 100%;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: -20px; }
  .card-team-slick-wrapper .team-slick .item {
    padding: 60px 82px;
    background: #FFF; }
  .card-team-slick-wrapper .team-slick .information {
    margin-bottom: 35px; }
  .card-team-slick-wrapper .team-slick .team-image,
  .card-team-slick-wrapper .team-slick .content {
    display: inline-block;
    vertical-align: middle; }
  .card-team-slick-wrapper .team-slick .team-image {
    position: relative;
    height: 188px;
    width: 188px;
    margin-right: 34px; }
    .card-team-slick-wrapper .team-slick .team-image:after {
      content: '';
      height: 35px;
      width: 35px;
      border-radius: 50%;
      background: rgba(252, 104, 45, 0.75);
      position: absolute;
      right: 20px;
      bottom: 5px; }
    .card-team-slick-wrapper .team-slick .team-image .team-image-wrapper {
      height: 100%;
      width: 100%;
      border-radius: 50%;
      margin: 0 auto;
      background-color: rgba(208, 207, 209, 0.44);
      overflow: hidden; }
      .card-team-slick-wrapper .team-slick .team-image .team-image-wrapper .image {
        height: 100%;
        width: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 50%; }
  .card-team-slick-wrapper .team-slick .content .title {
    font-size: 0.625em;
    color: #474545;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 1.6px;
    margin-bottom: 5px; }
  .card-team-slick-wrapper .team-slick .content .name {
    font-size: 0.9375em;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.44px;
    margin-bottom: 2px; }
  .card-team-slick-wrapper .team-slick .content p {
    font-size: 0.75em;
    color: #666262;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: 2px; }
  .card-team-slick-wrapper .team-slick .text {
    font-size: 0.8125em;
    line-height: 1.6;
    color: #666262; }
  .card-team-slick-wrapper .slick-arrow {
    height: 42px;
    width: 42px;
    border-radius: 50%; }
    .card-team-slick-wrapper .slick-arrow:before {
      content: none; }
    .card-team-slick-wrapper .slick-arrow:hover {
      background: #FFF; }
    .card-team-slick-wrapper .slick-arrow.slick-next {
      right: -92px;
      background: url("../../html_prototype/images/slide-arrow-next.png") no-repeat center #FFF;
      background-size: 7.7px auto; }
    .card-team-slick-wrapper .slick-arrow.slick-prev {
      left: -92px;
      background: url("../../html_prototype/images/slide-arrow-prev.png") no-repeat center #FFF;
      background-size: 7.7px auto; }

.text-group {
  position: relative;
  background: #FFF;
  cursor: pointer;
  max-width: 500px;
  padding: 10px 9px 20px 16px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .text-group * {
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .text-group:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    background: rgba(234, 233, 236, 0.26); }
  .text-group.active {
    background: #FC682D; }
    .text-group.active .link-wrapper {
      opacity: 0;
      visibility: hidden; }
    .text-group.active .close {
      opacity: 1;
      visibility: visible; }
    .text-group.active h3,
    .text-group.active .information,
    .text-group.active p {
      color: #FFF; }
  .text-group .link-wrapper {
    position: absolute;
    top: 10px;
    right: 9px; }
    .text-group .link-wrapper a {
      display: inline-block;
      margin-right: 10px; }
      .text-group .link-wrapper a:last-of-type {
        margin-right: 0; }
  .text-group .close {
    position: absolute;
    top: 20px;
    right: 19px;
    height: 3px;
    width: 13px;
    background: #FFF;
    opacity: 0;
    visibility: hidden; }
  .text-group h3 {
    position: relative;
    font-size: 0.9375em;
    line-height: 1.73;
    margin-bottom: 5px;
    display: inline-block; }
    .text-group h3:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -16px;
      height: 15px;
      width: 3px;
      margin: auto 0;
      background: #FC682D; }
  .text-group .information {
    font-size: 0.6875em;
    line-height: 1.45;
    color: #666262;
    margin-bottom: 6px; }
  .text-group p {
    font-size: 0.8125em;
    line-height: 1.6;
    color: #666262; }

.icon-group {
  margin-bottom: 10px; }
  .icon-group .heading, .icon-group .icon {
    display: inline-block;
    vertical-align: middle; }
  .icon-group .heading {
    font-size: 0.625em;
    text-transform: uppercase;
    letter-spacing: 2.55px;
    line-height: 1.2;
    margin: 0 4px 0 0;
    font-weight: normal; }
    @media screen and (max-width: 1200px) {
      .icon-group .heading {
        display: block;
        margin-right: 0;
        margin-bottom: 10px; } }
  .icon-group .icon {
    position: relative;
    height: 31px;
    width: 31px;
    margin-right: 4px;
    border-radius: 50%;
    border: 1px solid #958E9C;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
    .icon-group .icon span {
      font-size: 0.6875em;
      line-height: 1.45;
      margin: auto;
      width: 100px;
      text-align: center;
      font-weight: 500;
      opacity: 0;
      visibility: hidden;
      -webkit-transform: translateX(-35%);
      -moz-transform: translateX(-35%);
      -ms-transform: translateX(-35%);
      -o-transform: translateX(-35%);
      transform: translateX(-35%);
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      -webkit-transition: all 222ms ease-out;
      -moz-transition: all 222ms ease-out;
      transition: all 222ms ease-out; }
    .icon-group .icon:last-of-type {
      margin-right: 0; }
    .icon-group .icon.deactivate {
      opacity: 0.5; }
    .icon-group .icon.activate {
      background-color: #000;
      border-color: #000; }
      .icon-group .icon.activate span {
        opacity: 1;
        visibility: visible;
        bottom: -22px; }
      .icon-group .icon.activate.icon-upcoming-event {
        background-image: url("../../html_prototype/images/icon-upcoming-event-dark.png"); }
      .icon-group .icon.activate.icon-publication {
        background-image: url("../../html_prototype/images/icon-publication-dark.png"); }
      .icon-group .icon.activate.icon-news {
        background-image: url("../../html_prototype/images/icon-news-dark.png"); }
    .icon-group .icon.icon-upcoming-event {
      background-image: url("../../html_prototype/images/icon-upcoming-event.png");
      background-size: 12.5px auto; }
    .icon-group .icon.icon-publication {
      background-image: url("../../html_prototype/images/icon-publication.png");
      background-size: 17px auto; }
    .icon-group .icon.icon-news {
      background-image: url("../../html_prototype/images/icon-news.png");
      background-size: 12.3px auto; }

.banner {
  display: grid;
  grid-template-columns: repeat(2, 1fr); }
  @media screen and (max-width: 768px) {
    .banner {
      display: block; } }
  .banner-col {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 325px; }
    @media screen and (max-width: 768px) {
      .banner-col {
        padding: 32px 24px 24px 24px; } }
    .banner-col:hover .banner-image {
      scale: 1; }
  .banner-figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden; }
    .banner-figure::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: '';
      z-index: 1; }
      .is-blue-filter .banner-figure::before {
        background-color: rgba(16, 72, 122, 0.8); }
      .is-white-filter .banner-figure::before {
        background-color: rgba(151, 151, 151, 0.8); }
  .banner-image {
    display: block;
    width: 100%;
    height: 325px;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    scale: 1.1;
    transition: scale 0.5s ease-in-out; }
  .banner-content {
    max-width: 400px;
    width: 100%;
    color: #fff;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .banner-content {
        max-width: initial; } }
  .banner-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: inherit;
    letter-spacing: -0.034em;
    margin-bottom: 14px; }
  .banner-desc {
    color: inherit;
    font-size: 0.9375rem;
    line-height: 1.4;
    margin-bottom: 35px; }
    @media screen and (max-width: 680px) {
      .banner-desc {
        font-size: 0.75rem;
        line-height: 1.33; } }
  .banner-cta {
    font-weight: 400;
    font-size: 1rem;
    padding: 8px 24px 8px 16px;
    border: 1px solid #10487a; }
    .banner-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    .banner-cta::after {
      margin-left: 8px; }

.banner-none {
  padding: 200px 0 92px;
  background: #FBF9F8;
  position: relative;
  overflow: hidden; }
  .banner-none h1 {
    font-size: 3.0625rem;
    margin-bottom: 30px;
    line-height: 1.1; }
  .banner-none .text-wrap {
    max-width: 555px; }
  .banner-none .text {
    font-size: 0.875rem;
    font-weight: 500;
    color: #545151 !important; }
  .banner-none:before {
    content: '';
    display: block;
    width: 425px;
    height: 425px;
    border-radius: 425px;
    background: #FC682D;
    opacity: 0.08;
    position: absolute;
    top: -200px;
    right: 300px; }
  @media screen and (max-width: 768px) {
    .banner-none {
      padding: 50px 20px; } }

.banner-basic {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .banner-basic::before {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    content: '';
    background-color: rgba(16, 72, 122, 0.98);
    z-index: -1; }
  .banner-basic-inner {
    padding: 52px 0; }
  .banner-basic-title {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0;
    letter-spacing: -0.03em;
    line-height: normal; }

.gallery .item {
  position: relative;
  float: left;
  margin: 0 11px 11px 0;
  width: calc((100% - 22px) / 3);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
  cursor: pointer; }
  .gallery .item:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #FFF;
    opacity: 0.3;
    z-index: -1;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  .gallery .item:after {
    content: '';
    display: block;
    padding-bottom: 100%; }
  .gallery .item:nth-of-type(3n) {
    margin-right: 0; }
  .gallery .item:hover:before {
    opacity: 0; }

.gallery-slick-wrapper {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 19px 0;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .gallery-slick-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .gallery-slick-wrapper .close {
    cursor: pointer;
    background: url("../../html_prototype/images/close.svg") no-repeat center;
    background-size: 100%;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: 0; }
  .gallery-slick-wrapper .gallery-slick-for {
    margin-bottom: 7px; }
    .gallery-slick-wrapper .gallery-slick-for .item {
      width: 100%;
      position: relative;
      background: #F2743A; }
      .gallery-slick-wrapper .gallery-slick-for .item::after {
        clear: both;
        content: "";
        display: table; }
      .gallery-slick-wrapper .gallery-slick-for .item img {
        float: left;
        display: block;
        width: 76.59574%; }
        .gallery-slick-wrapper .gallery-slick-for .item img:last-child {
          width: 74.46809%; }
      .gallery-slick-wrapper .gallery-slick-for .item .content {
        position: absolute;
        float: left;
        display: block;
        width: 25.53191%;
        float: none;
        right: 0;
        height: 100%;
        padding: 0 21px 23px; }
        .gallery-slick-wrapper .gallery-slick-for .item .content:last-child {
          width: 23.40426%; }
        .gallery-slick-wrapper .gallery-slick-for .item .content .text {
          position: absolute;
          bottom: 23px;
          left: 21px;
          color: #FFF;
          font-size: 0.75em;
          line-height: 1.25;
          width: calc(100% - 42px); }
  .gallery-slick-wrapper .gallery-slick-nav .item {
    position: relative;
    float: left;
    width: calc((100% - 44px) / 11);
    margin-right: 4px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 1;
    cursor: pointer;
    outline: none; }
    .gallery-slick-wrapper .gallery-slick-nav .item:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 100%;
      background: #FFF;
      opacity: 0.3;
      z-index: -1;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .gallery-slick-wrapper .gallery-slick-nav .item:after {
      content: '';
      display: block;
      padding-bottom: 100%; }
    .gallery-slick-wrapper .gallery-slick-nav .item.slick-current:before {
      opacity: 0; }
  .gallery-slick-wrapper.active {
    opacity: 1;
    visibility: visible;
    z-index: 20;
    position: fixed;
    top: 50%;
    right: 0;
    left: 0; }
  .gallery-slick-wrapper .slick-arrow {
    height: 30px;
    width: 30px;
    border-radius: 50%;
    z-index: 1; }
    .gallery-slick-wrapper .slick-arrow:before {
      content: none; }
    .gallery-slick-wrapper .slick-arrow:hover {
      background: #FFF; }
    .gallery-slick-wrapper .slick-arrow.slick-next {
      right: -15px;
      background: url("../../html_prototype/images/slide-arrow-next-2.png") no-repeat center #FFF;
      background-size: 7.7px auto; }
    .gallery-slick-wrapper .slick-arrow.slick-prev {
      left: -15px;
      background: url("../../html_prototype/images/slide-arrow-prev-2.png") no-repeat center #FFF;
      background-size: 7.7px auto; }

.faq-container {
  padding: 25px 0 50px;
  margin-bottom: 25px; }
  .faq-container:first-child {
    padding-top: 0; }
  .faq-container:last-of-type {
    margin-bottom: 0; }
  .faq-container .faq-category {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 30px;
    line-height: 1.25;
    letter-spacing: -0.7px; }
  .faq-container .faq-item {
    padding-bottom: 15px;
    border-bottom: 1px solid #C9C9C9;
    margin-bottom: 15px;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .faq-container .faq-item:last-of-type {
      margin-bottom: 0; }
    .faq-container .faq-item.toggled {
      padding: 15px 0 30px; }
      .faq-container .faq-item.toggled:first-of-type {
        padding: 0 0 30px; }
      .faq-container .faq-item.toggled .question {
        color: #FC682D; }
        .faq-container .faq-item.toggled .question .btn-toggle {
          background: url("../../html_prototype/images/toggle-close.png") no-repeat center;
          background-size: 100%; }
      .faq-container .faq-item.toggled .answer {
        display: block; }
  .faq-container .question {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.44px;
    line-height: 1.73;
    padding-right: 12px;
    cursor: pointer;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .faq-container .question .text {
      display: inline-block;
      width: calc(100% - 65px); }
    .faq-container .question .btn-toggle {
      height: 26px;
      width: 26px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear;
      background: url("../../html_prototype/images/toggle-open.png") no-repeat center;
      background-size: 100%;
      float: right; }
  .faq-container .answer {
    font-size: 0.875rem;
    color: #666262;
    line-height: 1.71;
    margin-top: 10px;
    width: calc(100% - 65px);
    display: none; }
    .faq-container .answer p:last-of-type {
      margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .faq-container {
      padding: 0 0 20px; }
      .faq-container .faq-category {
        font-size: 1.375rem;
        margin-bottom: 0;
        line-height: 1.3;
        letter-spacing: -0.77px; }
      .faq-container .faq-item {
        padding-bottom: 10px;
        margin-bottom: 10px; }
        .faq-container .faq-item.toggled {
          padding: 10px 0; }
      .faq-container .question {
        font-size: 0.875rem; }
        .faq-container .question .text {
          width: calc(100% - 55px); }
      .faq-container .answer {
        font-size: 0.8125rem;
        line-height: 1.6;
        width: calc(100% - 55px); } }

.login-wrapper {
  position: relative;
  z-index: 15;
  opacity: 1;
  visibility: visible;
  margin: 0 auto;
  height: auto;
  width: 750px;
  position: fixed;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .login-wrapper:after {
    content: '';
    margin: auto;
    background: #000;
    opacity: 0.12;
    -webkit-filter: blur(42px);
    filter: blur(42px);
    height: 316px;
    width: 316px;
    position: absolute;
    right: 0;
    bottom: -50px;
    left: 0; }
  .login-wrapper .close {
    cursor: pointer;
    background: url("../../html_prototype/images/close.svg") no-repeat center;
    background-size: 100%;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: -20px; }
    .login-wrapper .close img {
      display: none; }
  .login-wrapper .wrapper {
    overflow: hidden;
    display: table; }
  .login-wrapper .background {
    position: relative;
    display: table-cell;
    height: 100%;
    width: 31%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    -webkit-filter: blur(2px);
    filter: blur(2px); }
    .login-wrapper .background:after {
      content: '';
      height: 100%;
      width: 100%;
      background: rgba(242, 116, 58, 0.92);
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
  .login-wrapper .container {
    position: relative;
    display: table-cell;
    width: calc(100% - 31%);
    padding: 28px 77px 67px 54px;
    background: #FFF;
    z-index: 1; }
    .login-wrapper .container:after {
      content: '';
      height: 3000px;
      width: 3000px;
      background: #FFF;
      border-radius: 50%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: -28px;
      z-index: -1;
      margin: auto; }
  .login-wrapper .tab {
    margin: 0 0 78px;
    padding: 0;
    list-style: none; }
    .login-wrapper .tab::after {
      clear: both;
      content: "";
      display: table; }
    .login-wrapper .tab li {
      width: 50%;
      float: left;
      box-sizing: border-box;
      padding-bottom: 2px;
      border-bottom: 2px solid #EAE9EC;
      cursor: pointer;
      opacity: 0.4;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      .login-wrapper .tab li span, .login-wrapper .tab li h4 {
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
      .login-wrapper .tab li span {
        font-size: 0.625em;
        text-transform: uppercase;
        letter-spacing: 2.25px;
        line-height: 1.2;
        color: #474545; }
      .login-wrapper .tab li h4 {
        font-size: 1.0625em;
        font-weight: 600;
        letter-spacing: -0.4px;
        line-height: 1.29;
        color: #545151; }
      .login-wrapper .tab li.current, .login-wrapper .tab li:hover {
        opacity: 1;
        border-color: #FC682D; }
        .login-wrapper .tab li.current span, .login-wrapper .tab li.current h4, .login-wrapper .tab li:hover span, .login-wrapper .tab li:hover h4 {
          color: #FC682D; }
      .login-wrapper .tab li:last-of-type {
        padding-left: 23px; }
  .login-wrapper .content {
    padding: 0 22.5px 0 55.5px;
    text-align: center; }
    .login-wrapper .content .forget-pwd {
      font-size: 0.6875em;
      color: #474545; }

.cart {
  width: 280px;
  border: 1px solid #DDD;
  background: #FFF;
  padding: 14px 21px 23px 17px; }
  .cart .item {
    padding: 16px 0 19px;
    margin-bottom: 16px;
    border-top: 1px solid #EAE9EC;
    border-bottom: 1px solid #EAE9EC; }
  .cart .title {
    font-size: 0.6875em;
    line-height: 1.45;
    margin-bottom: 5px;
    font-weight: normal;
    color: #666262; }
  .cart .name, .cart .price,
  .cart .description,
  .cart .discount-price {
    display: block;
    font-size: 0.8125em;
    font-weight: 500;
    line-height: 1.31;
    letter-spacing: -0.4px;
    margin-bottom: 3px;
    color: #474545; }
    .cart .name.price, .cart .price.price,
    .cart .description.price,
    .cart .discount-price.price {
      margin-bottom: -5px;
      line-height: 1; }
  .cart .category {
    font-size: 0.6875em;
    font-weight: normal;
    text-transform: uppercase;
    line-height: 1.1;
    letter-spacing: 2.8px;
    margin-bottom: 15px;
    color: #474545; }
  .cart a {
    font-size: 0.75em;
    color: #FC682D; }
  .cart .discount {
    margin-bottom: 36px; }
  .cart .total-price {
    font-size: 1em;
    font-weight: 600;
    letter-spacing: -0.38px;
    line-height: 1.56;
    text-align: right; }

.company-header {
  position: relative;
  background: #10487a;
  overflow: hidden;
  min-height: 425px; }
  @media screen and (max-width: 768px) {
    .company-header {
      min-height: 325px; } }
  .company-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 87px 0 75px; }
    @media screen and (max-width: 768px) {
      .company-header-inner {
        display: block;
        padding: 27px 0; } }
  .company-header-block {
    max-width: 470px;
    width: 100%;
    flex-shrink: 0; }
    @media screen and (max-width: 768px) {
      .company-header-block {
        margin-bottom: 31px; } }
  .company-header-title {
    font-size: 3.0625rem;
    font-weight: 400;
    margin-bottom: 0;
    color: #fff;
    letter-spacing: -0.03em;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .company-header-title {
        font-size: 1.75rem;
        letter-spacing: normal;
        margin-bottom: 11px; } }
  .company-header-text {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.41px;
    color: #fff; }
    @media screen and (max-width: 768px) {
      .company-header-text {
        font-size: 0.75rem;
        letter-spacing: -0.007em;
        line-height: 1.7; } }
  .company-header-profile {
    background-color: #fff;
    border-radius: 20px;
    width: 244px;
    flex-shrink: 0;
    min-height: 244px;
    text-align: center;
    position: relative;
    padding: 20px 20px 0; }
    @media screen and (max-width: 768px) {
      .company-header-profile {
        height: 142px;
        min-height: 100%;
        width: 142px;
        padding: 10px;
        border-radius: 10px; } }
  .company-header-button-upload, .company-header-button-cancel {
    background: none;
    border: none;
    color: #f37324; }
  .company-header-button-upload {
    font-size: 0.6875rem;
    width: 100%;
    text-align: center; }
  .company-header .text-wrap {
    z-index: 3;
    position: relative;
    margin-top: 67px;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .company-header .text-wrap:last-child {
      margin-right: 0; }
  @media screen and (max-width: 768px) {
    .company-header .logo-wrap .upload-logo-button {
      position: absolute;
      bottom: 10px;
      left: 0; } }
  .company-header .logo-wrap .upload-logo-button,
  .company-header .logo-wrap .cancel-upload-logo-button {
    font-size: 11px;
    width: 100%;
    text-align: center; }
  .company-header .logo-wrap form,
  .company-header .logo-wrap .cancel-upload-logo-button {
    display: none;
    overflow: hidden; }
  .company-header .logo-wrap img {
    height: 150px;
    width: 100%;
    object-fit: contain;
    margin: auto; }
    @media screen and (max-width: 768px) {
      .company-header .logo-wrap img {
        height: 30px; } }
  .company-header .logo-wrap.form-visible form {
    display: block; }
  .company-header .logo-wrap.form-visible .form-item {
    margin: 0; }
  .company-header .logo-wrap.form-visible .form-file {
    font-size: 0.8125rem;
    max-width: 100%; }
  .company-header .logo-wrap.form-visible .form-managed-file .file a {
    font-size: 0.75rem; }
  .company-header .logo-wrap.form-visible .form-submit {
    margin-top: 10px; }
  .company-header .logo-wrap.form-visible .cancel-upload-logo-button {
    display: block;
    margin-top: 10px; }
  .company-header .logo-wrap.form-visible input[name="logo_upload_button"] {
    display: none; }
  .company-header .logo-wrap.form-visible img,
  .company-header .logo-wrap.form-visible .upload-logo-button {
    display: none; }
  @media screen and (max-width: 680px) {
    .company-header .logo-wrap.form-visible {
      top: -30px; }
    .company-header .logo-wrap:before {
      content: none; }
    .company-header .logo-wrap .upload-logo-button {
      padding: 0; } }
  .company-header .form-submit:hover {
    background: #FC682D;
    color: #FFF; }
  .company-header .company-header-meta {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.58);
    padding: 11px 0 7px;
    z-index: 3; }
    .company-header .company-header-meta::after {
      clear: both;
      content: "";
      display: table; }
    .company-header .company-header-meta ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
    .company-header .company-header-meta .company-header-memberships {
      float: left;
      font-weight: 500; }
      .company-header .company-header-meta .company-header-memberships li {
        margin-right: 15px;
        float: left;
        color: #958E9C;
        font-size: 0.8125em;
        opacity: 0.8;
        line-height: 1.21;
        letter-spacing: 0.95px; }
        .company-header .company-header-meta .company-header-memberships li a {
          color: #958E9C; }
        .company-header .company-header-meta .company-header-memberships li:last-of-type {
          margin-right: 0; }
        .company-header .company-header-meta .company-header-memberships li:hover {
          opacity: 1; }
    .company-header .company-header-meta .company-header-industries {
      float: right;
      font-size: 0.625rem;
      text-transform: uppercase;
      color: #474545;
      line-height: 1.4;
      margin-top: 1px;
      letter-spacing: 1.6px; }
      .company-header .company-header-meta .company-header-industries li {
        display: inline-block;
        padding: 0 11px;
        border-left: 1px solid #545151; }
        .company-header .company-header-meta .company-header-industries li:first-of-type {
          border-left: 0; }
    @media screen and (max-width: 680px) {
      .company-header .company-header-meta {
        padding: 11px 20px 9px; }
        .company-header .company-header-meta .company-header-industries,
        .company-header .company-header-meta .company-header-memberships {
          float: none;
          width: 100%; }
          .company-header .company-header-meta .company-header-industries li,
          .company-header .company-header-meta .company-header-memberships li {
            float: none; }
        .company-header .company-header-meta .company-header-memberships {
          margin-bottom: 5px; }
          .company-header .company-header-meta .company-header-memberships li a {
            font-size: 0.8125rem;
            color: #999;
            font-weight: 500; }
        .company-header .company-header-meta .company-header-industries {
          margin-top: 0; }
          .company-header .company-header-meta .company-header-industries li {
            letter-spacing: 1.6px;
            padding: 0 4px 0 10px; }
            .company-header .company-header-meta .company-header-industries li:first-of-type {
              padding-left: 0; } }

.card-focus {
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer; }
  .card-focus-frame {
    overflow: hidden;
    flex-shrink: 0;
    width: 41.6%; }
  .card-focus-image {
    width: 100%;
    min-height: 358px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
    @media screen and (max-width: 768px) {
      .card-focus-image {
        min-height: 100%; } }
  .card-focus-content {
    background-color: #fff;
    padding: 37px 35px 20px 18px;
    display: flex;
    flex-direction: column; }
    @media screen and (max-width: 1200px) {
      .card-focus-content {
        padding: 20px 35px 11px 18px; } }
    @media screen and (max-width: 680px) {
      .card-focus-content {
        padding: 8px 16px 24px 16px; } }
  .card-focus-title {
    font-size: 1.5rem;
    color: #10487a;
    letter-spacing: -0.02em;
    line-height: 1.3;
    margin-bottom: -2px;
    margin-bottom: 10px; }
    @media screen and (max-width: 1200px) {
      .card-focus-title {
        font-size: 1.125rem;
        line-height: 1.3;
        margin-bottom: 4px; } }
  @media screen and (max-width: 768px) {
    .card-focus-desc {
      margin-bottom: 11px; } }
  .card-focus-desc p {
    font-size: 0.75rem;
    color: #666262;
    margin-bottom: 0;
    letter-spacing: -0.024em;
    line-height: 1.6; }
    @media screen and (max-width: 768px) {
      .card-focus-desc p {
        font-size: 0.625rem;
        line-height: 1.2;
        letter-spacing: -0.3px; } }
  .card-focus-buttons {
    margin-top: auto; }
  .card-focus-icons {
    display: flex;
    align-items: center;
    gap: 0 8px;
    margin-bottom: 10px; }
  .card-focus-label {
    font-size: 0.625rem;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 0;
    letter-spacing: 0.27em; }
    @media screen and (max-width: 768px) {
      .card-focus-label {
        font-weight: 400; } }
  .card-focus-icon {
    display: block;
    flex-shrink: 0;
    position: relative;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    border: 1px solid #958E9C;
    background-position: center;
    background-repeat: no-repeat; }
    @media screen and (max-width: 768px) {
      .card-focus-icon {
        width: 16px;
        height: 16px; } }
    @media screen and (min-width: 1201px) {
      .card-focus-icon:hover span {
        opacity: 1;
        translate: 0 -18px; } }
    .card-focus-icon span {
      position: absolute;
      left: 50%;
      top: 0;
      transform: translateX(-50%);
      pointer-events: none;
      font-size: 0.5625rem;
      white-space: nowrap;
      opacity: 0;
      transition: translate 0.3s ease-out, opacity 0.3s ease-out; }
    .card-focus-icon.icon-upcoming-event {
      background-image: url("../../html_prototype/images/icon-upcoming-event.png");
      background-size: 12.5px auto; }
      @media screen and (max-width: 768px) {
        .card-focus-icon.icon-upcoming-event {
          background-size: 6.5px auto; } }
    .card-focus-icon.icon-publication {
      background-image: url("../../html_prototype/images/icon-publication.png");
      background-size: 17px auto; }
      @media screen and (max-width: 768px) {
        .card-focus-icon.icon-publication {
          background-size: 10px auto; } }
    .card-focus-icon.icon-news {
      background-image: url("../../html_prototype/images/icon-news.png");
      background-size: 12.3px auto; }
      @media screen and (max-width: 768px) {
        .card-focus-icon.icon-news {
          background-size: 8px auto; } }
  .card-focus-cta {
    padding: 7px 23px 6px 15px;
    font-size: 1rem; }
    .card-focus-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    @media screen and (max-width: 1200px) {
      .card-focus-cta {
        padding: 7px 22px 7px 16px; } }
    .card-focus-cta::after {
      margin-left: 9px; }

.card-member {
  cursor: pointer;
  position: relative;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .card-member .content {
    position: relative;
    background: #FFF;
    height: 100%;
    padding: 27px 20px 40px; }
  .card-member .image-wrap {
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .card-member .image-wrap img {
      height: 100px;
      width: auto;
      display: block;
      margin: 0 auto; }
  .card-member .member-networks {
    margin: 0 0 8px;
    padding: 0; }
    .card-member .member-networks li {
      list-style: none;
      color: #474545;
      font-size: 0.6875rem;
      letter-spacing: 2.8px;
      text-transform: uppercase; }
  .card-member h2 {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #3B3535;
    margin-bottom: 9px; }
  .card-member .text {
    font-size: 0.75rem;
    color: #3B3535;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: 35px; }
  .card-member .link-normal {
    position: absolute;
    bottom: 20px;
    left: 19px; }
  .card-member:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 50px 40px 0 rgba(0, 0, 0, 0.12); }
    .card-member:hover .image-wrap {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }
  @media screen and (max-width: 768px) {
    .card-member {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 31.91489%; }
      .card-member:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .card-member {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 100%;
      margin-right: 0; }
      .card-member:last-child {
        margin-right: 0; }
      .card-member .content {
        padding: 20px 13px 13px; }
      .card-member .image-wrap {
        width: 75px; }
        .card-member .image-wrap img {
          width: 100%;
          height: auto; }
      .card-member .member-networks li {
        font-size: 0.625rem; }
      .card-member h2 {
        margin-bottom: 15px;
        font-size: 0.875rem; }
      .card-member .text {
        display: none; }
      .card-member .link-normal {
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; } }

.card-campaign {
  cursor: pointer;
  position: relative; }
  .card-campaign .container {
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .card-campaign .image_wrapper {
    float: left;
    width: 180px;
    overflow: hidden;
    position: relative; }
    .card-campaign .image_wrapper .image {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      .card-campaign .image_wrapper .image:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear;
        height: 100%;
        width: 100%;
        background-image: linear-gradient(0deg, rgba(242, 116, 58, 0.89) 42%, rgba(255, 134, 81, 0.56) 100%); }
      .card-campaign .image_wrapper .image.no-bg {
        background: url("../../images/build/campaign-bg.jpg") no-repeat center;
        background-size: cover; }
        .card-campaign .image_wrapper .image.no-bg:after {
          content: none; }
    .card-campaign .image_wrapper .logo {
      width: 65px;
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      margin: auto;
      z-index: 1;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      .card-campaign .image_wrapper .logo img {
        width: 100%; }
    @media screen and (max-width: 1200px) {
      .card-campaign .image_wrapper {
        width: 160px; } }
    @media screen and (max-width: 768px) {
      .card-campaign .image_wrapper {
        width: 87px; }
        .card-campaign .image_wrapper .logo {
          width: 50px; } }
    @media screen and (max-width: 680px) {
      .card-campaign .image_wrapper {
        width: 30%; } }
  .card-campaign .content {
    position: relative;
    float: left;
    overflow: hidden;
    background: #FFF;
    width: calc(100% - 180px);
    padding: 28px 30px 60px 28px; }
    .card-campaign .content .focus {
      font-size: 0.625em;
      text-transform: uppercase;
      margin-bottom: 3px;
      line-height: 1.4;
      letter-spacing: 1.6px;
      color: #474545; }
    .card-campaign .content .title {
      font-size: 1em;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: -0.47px;
      color: #3B3535;
      margin-bottom: 10px; }
    .card-campaign .content .summary {
      font-size: 0.75em;
      line-height: 1.58;
      letter-spacing: -0.3px;
      color: #666262;
      margin-bottom: 40px;
      margin-top: -20px; }
    .card-campaign .content .primary-call-action {
      font-size: 0.75em;
      line-height: 1.16;
      letter-spacing: -0.38px;
      font-weight: 500;
      padding: 7px 13px;
      position: absolute;
      bottom: 20px;
      left: 28px; }
    @media screen and (max-width: 1200px) {
      .card-campaign .content {
        width: calc(100% - 160px); } }
    @media screen and (max-width: 768px) {
      .card-campaign .content {
        width: calc(100% - 87px); } }
    @media screen and (max-width: 680px) {
      .card-campaign .content {
        width: calc(100% - 30%);
        padding: 16px 18px 23px; }
        .card-campaign .content .title {
          font-size: 0.9375rem; }
        .card-campaign .content .summary {
          font-size: 0.6875rem;
          margin-bottom: 50px; }
        .card-campaign .content .primary-call-action {
          left: 18px; } }
  @media screen and (max-width: 680px) {
    .card-campaign {
      width: 100%;
      margin-right: 0; } }

.card-campaign {
  display: block; }
  .card-campaign-inner {
    display: flex;
    min-height: 490px;
    border-radius: 20px;
    overflow: hidden;
    align-items: stretch; }
    @media screen and (max-width: 680px) {
      .card-campaign-inner {
        border-radius: 10px;
        min-height: 475px; } }
  .card-campaign-left {
    max-width: 666px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../../images/build/rainbow.jpg");
    padding: 33px 39px 63px;
    position: relative;
    z-index: 1;
    min-height: 100%; }
    .card-campaign-left::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: '';
      background-color: rgba(59, 53, 53, 0.5);
      z-index: -1; }
    @media screen and (max-width: 1200px) {
      .card-campaign-left {
        max-width: 690px;
        padding: 33px 20px 63px; } }
    @media screen and (max-width: 680px) {
      .card-campaign-left {
        max-width: 100%;
        flex-grow: 1;
        width: 55%;
        padding: 12px 13px 32px; } }
  .card-campaign-heading {
    color: #fff;
    font-size: 2.1875rem;
    line-height: 1.3;
    letter-spacing: normal;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .card-campaign-heading {
        font-size: 1.125rem;
        line-height: 1.22; } }
  .card-campaign-desc {
    font-size: 1.25rem;
    line-height: normal;
    letter-spacing: normal;
    color: #fff;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .card-campaign-desc {
        font-size: 0.75rem; } }
  .card-campaign-right {
    flex-grow: 1;
    background-color: #fff;
    padding: 24px 71px; }
    @media screen and (max-width: 1200px) {
      .card-campaign-right {
        padding: 24px 25px;
        min-width: 300px; } }
    @media screen and (max-width: 680px) {
      .card-campaign-right {
        padding: 16px 9px;
        min-width: auto;
        width: 48%; } }
  .card-campaign-label {
    font-size: 1.125rem;
    display: block;
    font-weight: 700;
    color: #10487a;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .card-campaign-label {
        font-size: 0.875rem; } }
    @media screen and (max-width: 680px) {
      .card-campaign-label {
        margin-bottom: 12px; } }
  .card-campaign-initiatives {
    margin-bottom: 18px;
    max-width: 392px;
    width: 100%;
    overflow: hidden;
    margin-top: 20px; }
    .card-campaign-initiatives p {
      margin-bottom: 5px; }
    .card-campaign-initiatives .summary ul li, .card-campaign-initiatives .summary ol li {
      position: relative;
      padding-left: 20px;
      font-size: 16px; }
      .card-campaign-initiatives .summary ul li:not(:last-child), .card-campaign-initiatives .summary ol li:not(:last-child) {
        margin-bottom: 14px; }
      .card-campaign-initiatives .summary ul li:before, .card-campaign-initiatives .summary ol li:before {
        content: '';
        background: #10487a;
        width: 5px;
        height: 5px;
        position: absolute;
        left: 0;
        top: 8px;
        border-radius: 4px; }
      .card-campaign-initiatives .summary ul li a:last-child, .card-campaign-initiatives .summary ol li a:last-child {
        color: #10487a;
        font-weight: 600; }
  .card-campaign-item:not(:last-of-type) {
    margin-bottom: 13px; }
  .card-campaign-title {
    font-size: 1rem;
    margin-bottom: 4px; }
    @media screen and (max-width: 768px) {
      .card-campaign-title {
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1.2;
        margin-bottom: 0; } }
  .card-campaign-par {
    font-size: 0.8rem;
    margin-bottom: 0;
    font-weight: 500;
    letter-spacing: -0.005em; }
    @media screen and (max-width: 768px) {
      .card-campaign-par {
        font-size: 0.625rem;
        line-height: 1.4; } }
  .card-campaign-cta {
    font-size: 1rem;
    padding: 7px 23px 7px 15px;
    font-weight: 400; }
    .card-campaign-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    @media screen and (max-width: 768px) {
      .card-campaign-cta {
        font-size: 0.8125rem;
        font-weight: 300; } }
    .card-campaign-cta::after {
      margin-left: 8px; }

.card-image {
  display: flex;
  border-radius: 20px;
  overflow: hidden;
  background-color: #fff; }
  @media screen and (max-width: 768px) {
    .card-image {
      border-radius: 10px; } }
  .card-image-frame {
    width: 40.9%;
    flex-shrink: 0; }
    @media screen and (max-width: 680px) {
      .card-image-frame {
        width: 11.1875rem; } }
    .card-image-frame-img {
      display: block;
      width: 100%;
      min-height: 358px;
      height: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
      @media screen and (max-width: 768px) {
        .card-image-frame-img {
          min-height: 245px;
          height: 100%; } }
  .card-image-content {
    padding: 38px 45px 61px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
    @media screen and (max-width: 1200px) {
      .card-image-content {
        padding: 20px 45px 20px 18px; } }
    @media screen and (max-width: 680px) {
      .card-image-content {
        padding: 8px 8px 24px 16px; } }
  .card-image-title {
    color: #323232;
    font-size: 1.9375rem;
    margin-bottom: 22px; }
    @media screen and (max-width: 1200px) {
      .card-image-title {
        font-size: 1.125rem; } }
  .card-image-desc {
    font-size: 0.75rem;
    letter-spacing: -0.025em;
    line-height: 1.6; }
  .card-image-cta {
    margin-top: auto;
    font-size: 1rem;
    padding: 7px 23px 7px 15px;
    text-transform: capitalize; }
    .card-image-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .card-image-cta::after {
      margin-left: 8px; }

.testimonials-slider-wrap {
  position: relative; }

.testimonials-slider {
  margin: 50px 0; }
  .testimonials-slider .slick-dots {
    bottom: -35px; }
    .testimonials-slider .slick-dots li {
      height: 6px;
      width: 6px;
      border-radius: 50%;
      background: #EAE9EC;
      margin: 0 4px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      .testimonials-slider .slick-dots li.slick-active {
        height: 7px;
        width: 7px;
        background: #F2743A; }
      .testimonials-slider .slick-dots li button {
        display: none; }
  @media screen and (max-width: 680px) {
    .testimonials-slider {
      margin: 25px 0; } }
  .testimonials-slider .landing-slide-header {
    display: none; }

.testimonials-slider-prev, .testimonials-slider-next {
  background: #FFF;
  z-index: 1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  margin-top: -20px;
  border: 0;
  padding: 6px 0;
  text-align: center;
  outline: none;
  height: 42px;
  width: 42px; }
  .testimonials-slider-prev svg, .testimonials-slider-next svg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }
  @media screen and (max-width: 680px) {
    .testimonials-slider-prev, .testimonials-slider-next {
      height: 30px;
      width: 30px; } }

.testimonials-slider-prev {
  left: 20px; }

.testimonials-slider-next {
  right: 20px;
  transform: rotate(180deg); }

.testimonials-slide {
  padding: 40px 75px;
  background: #FBF9F8; }
  .testimonials-slide h3 {
    font-size: 1.0625rem;
    font-weight: 600;
    margin-bottom: 5px; }
  .testimonials-slide .text {
    font-size: 0.75rem;
    margin-bottom: 20px; }
  .testimonials-slide .text-full {
    display: none; }

.testimonials-single-header {
  font-size: 0.625rem;
  line-height: 1.4;
  color: #474545;
  margin-bottom: 9px;
  display: none; }

p {
  font-size: 14px;
  color: #666262;
  margin-bottom: 15px;
  line-height: 1.71; }
  @media screen and (max-width: 768px) {
    p {
      font-size: 13px;
      line-height: 1.69; } }

h2 {
  font-size: 2.1875em;
  line-height: 1.2;
  letter-spacing: -1.23px;
  margin-bottom: 15px; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 1.9375em;
      line-height: 1.35;
      letter-spacing: -1.09px;
      margin-bottom: 10px; } }
  @media screen and (max-width: 680px) {
    h2 {
      font-size: 1.375em;
      letter-spacing: -0.77px;
      margin-bottom: 5px; } }

strong {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.67; }
  @media screen and (max-width: 768px) {
    strong {
      font-size: 0.875rem;
      line-height: 1.71;
      letter-spacing: -0.41px; } }

.paragraph {
  padding: 0 0 100px;
  /*
  ul:not(.slick-dots) {
    margin: 15px 0;
    padding: 0;

    li:not(.orange-list-style .ticket) {
      list-style: none;
      margin-bottom: 8px;
      color: $dark_very_grayish_red;
      line-height: 1.43;
      font-size: em(14);
      letter-spacing: -0.41px;
      font-weight: 500;
      padding-left: 19px;
      background: url('../../images/build/list-dot.png') no-repeat left center;
      background-size: 4px auto;

      &:last-of-type {
        margin-bottom: 0;
      }
    }
  }
  */ }
  .paragraph img {
    max-width: 100%;
    height: auto; }
  .paragraph .introduction {
    font-size: 1.25rem;
    line-height: 1.74;
    color: #10487a;
    font-weight: 700;
    margin-bottom: 35px; }
    .node-type-campaign-programme .paragraph .introduction {
      color: #3B3535; }
    .page-node-1362 .paragraph .introduction {
      color: #10487a; }
    @media screen and (max-width: 768px) {
      .events-landing-page .paragraph .introduction {
        font-size: 0.75rem; } }
  .paragraph:first-of-type {
    padding-top: 0; }

.paragraph-text .primary-call-action {
  margin-top: 30px; }
  .paragraph-text .primary-call-action:not(:last-child) {
    margin-right: 10px; }

.paragraph-text h3 {
  color: #3B3535;
  margin-top: 40px; }

.paragraph-text .links {
  overflow: hidden;
  padding-top: 30px; }
  .paragraph-text .links a {
    background-color: #10487a;
    border: none;
    box-shadow: none;
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
    padding: 13px 42px 11px 33px;
    letter-spacing: normal; }
    .paragraph-text .links a::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .paragraph-text .links a::after {
      margin-left: 4px; }
    .paragraph-text .links a:nth-child(2n+1) {
      clear: both; }

.paragraph-list {
  margin: 30px 0;
  padding: 0;
  list-style-type: none; }
  .paragraph-list h3 {
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 3px;
    line-height: 1.73; }
  .paragraph-list .text {
    font-size: 0.8125rem;
    margin-bottom: 15px; }

.paragraph-events .card-horizontal-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
  gap: 10px 10px; }
  @media screen and (max-width: 680px) {
    .paragraph-events .card-horizontal-wrapper {
      display: block; } }

.paragraph-events-topic {
  min-height: 318px; }
  @media screen and (max-width: 768px) {
    .paragraph-events-topic {
      max-width: 286px;
      margin: 0 auto; } }
  @media screen and (max-width: 680px) {
    .paragraph-events-topic .topic-block {
      min-height: 318px; } }

.paragraph-events .secondary-call-action, .paragraph-events .company-header .form-submit, .company-header .paragraph-events .form-submit, .paragraph-events .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .paragraph-events .form-submit,
.paragraph-events .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .paragraph-events .form-submit {
  margin-top: 30px; }

@media screen and (max-width: 680px) {
  .paragraph-events .secondary-call-action, .paragraph-events .company-header .form-submit, .company-header .paragraph-events .form-submit, .paragraph-events .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .paragraph-events .form-submit,
  .paragraph-events .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .paragraph-events .form-submit {
    margin-top: 0; } }

.paragraph-events .slick-list {
  margin-bottom: 15px; }

.paragraph-events .slick-dots button::before {
  content: ''; }

.paragraph-members h2 {
  margin-bottom: 25px; }

.paragraph-members ul.member-list {
  margin: 25px 0 23px; }
  .paragraph-members ul.member-list li {
    position: relative;
    height: 80px;
    width: 80px;
    margin-right: 20px;
    display: inline-block; }
    .paragraph-members ul.member-list li img {
      width: 100%;
      height: auto;
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      margin: auto; }

@media screen and (max-width: 680px) {
  .paragraph-members h2 {
    margin-bottom: 15px; }
  .paragraph-members ul.member-list {
    margin: 15px 0; }
    .paragraph-members ul.member-list li {
      position: relative;
      height: 80px;
      width: 80px;
      margin-right: 40px; }
      .paragraph-members ul.member-list li img {
        width: 80px;
        height: auto;
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        margin: auto; } }

.paragraph-publications h4 {
  font-size: 0.6875rem;
  margin: 26.5px 0 28px;
  text-transform: uppercase;
  font-weight: normal;
  color: #474545;
  letter-spacing: 2.8px; }

.paragraph-publications .paragraph-publications-list {
  margin: 0;
  padding: 0; }
  .paragraph-publications .paragraph-publications-list li {
    list-style: none;
    margin-bottom: 25px; }
  .paragraph-publications .paragraph-publications-list .meta {
    font-size: 0.625rem;
    margin: 0 3px 0 0;
    text-transform: uppercase;
    font-weight: normal;
    color: #474545;
    letter-spacing: 1.6px; }
  .paragraph-publications .paragraph-publications-list .title {
    font-size: 0.875rem;
    font-weight: 500;
    color: #545151;
    margin-bottom: 5px;
    letter-spacing: -0.41px;
    line-height: 1.4; }
  .paragraph-publications .paragraph-publications-list .text {
    font-size: 0.8125rem;
    margin-bottom: 10px; }

@media screen and (max-width: 680px) {
  .paragraph-publications h4 {
    display: none; } }

.paragraph-gallery {
  text-align: center; }
  .paragraph-gallery::after {
    clear: both;
    content: "";
    display: table; }
  .paragraph-gallery .item {
    position: relative;
    float: left;
    width: calc((100% - 30px) / 3);
    margin: 0 15px 15px 0;
    overflow: hidden; }
    .paragraph-gallery .item:nth-of-type(3n) {
      margin-right: 0; }
    .paragraph-gallery .item:before {
      content: '';
      display: block;
      padding-top: 70%;
      background: rgba(255, 255, 255, 0.3);
      z-index: 1;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .paragraph-gallery .item:hover:before {
      background: rgba(255, 255, 255, 0.1); }
    .paragraph-gallery .item:hover .img {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }
  .paragraph-gallery .img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    background-size: cover;
    background-position: center;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  .paragraph-gallery .gallery-count {
    font-size: 0.8125rem; }
  .paragraph-gallery .open-gallery-link {
    color: #FC682D;
    font-size: 0.875rem;
    font-weight: 400; }
  @media screen and (max-width: 680px) {
    .paragraph-gallery .item {
      width: calc((100% - 15px) / 2);
      margin: 0 15px 15px 0; }
      .paragraph-gallery .item:nth-of-type(3n) {
        margin-right: 15px; }
      .paragraph-gallery .item:nth-of-type(2n) {
        margin-right: 0; } }
  @media (max-width: 500px) {
    .paragraph-gallery .item {
      width: 100%;
      margin: 0 0 15px; }
      .paragraph-gallery .item:last-of-type {
        margin-bottom: 0; } }

.orange-list-style {
  margin: 0 0 30px;
  border-left: 1px solid #EAE9EC;
  padding: 0 0 0 15px;
  font-size: 0.8125rem;
  position: relative; }
  .orange-list-style:last-child {
    margin-bottom: 0; }
  .orange-list-style:before {
    content: '';
    width: 3px;
    height: 15px;
    background: #FC682D;
    position: absolute;
    top: 0;
    left: -1.5px; }
  @media screen and (max-width: 680px) {
    .orange-list-style {
      padding-left: 11px;
      margin-bottom: 36px; }
      .orange-list-style:last-of-type {
        margin-bottom: 15px; }
      .orange-list-style h3 {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 5px; } }

.practical-information {
  background: #FBF9F8;
  padding: 40px 36px; }
  .practical-information h2 {
    font-size: 1.5rem;
    margin-top: 0; }
  .practical-information .text {
    font-size: 0.875rem;
    margin-bottom: 40px; }
  .practical-information h3 {
    font-size: 0.625rem;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.25em;
    margin-bottom: 20px; }
  .practical-information dl {
    overflow: hidden;
    margin: 0;
    padding: 0; }
  .practical-information dt {
    font-size: 0.625rem;
    float: left;
    clear: left;
    margin: 0;
    color: #FC682D;
    border-right: 1px solid #FC682D;
    padding-right: 5px;
    line-height: 1; }
  .practical-information dd {
    font-size: 0.8125rem;
    float: left;
    display: inline-block;
    margin-left: 14px;
    margin-bottom: 12px;
    line-height: 1; }
    .practical-information dd a {
      color: #FC682D; }
    .practical-information dd:last-child, .practical-information dd:last-of-type {
      margin-bottom: 0; }

.paragraph-text .text ul {
  font-size: 0.875rem;
  margin: 25px 0;
  list-style-type: none;
  list-style-image: none; }
  .paragraph-text .text ul li {
    margin-bottom: 12px;
    padding-left: 20px;
    font-weight: 500;
    position: relative;
    list-style-type: none;
    list-style-image: none;
    background: none; }
    .paragraph-text .text ul li:before {
      content: '';
      background: #BBBDBF;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      display: inline-block;
      vertical-align: middle;
      margin-right: 10px;
      position: absolute;
      left: 0;
      top: 10px; }

#paragraph-4 ul,
#paragraph-6 ul,
#paragraph-8 ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px; }

#paragraph-4 li,
#paragraph-6 li,
#paragraph-8 li {
  display: inline-block;
  padding: 7px 20px;
  border-radius: 5px;
  border: 1px solid #dce4ec;
  background-color: #fff;
  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.05);
  margin-bottom: 0; }
  #paragraph-4 li::before,
  #paragraph-6 li::before,
  #paragraph-8 li::before {
    display: none; }

#paragraph-7 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 16px;
  padding-right: 94px; }
  @media screen and (max-width: 768px) {
    #paragraph-7 ul {
      display: block;
      padding-right: 0; }
      #paragraph-7 ul li {
        margin-bottom: 1rem; } }
  #paragraph-7 ul h3 {
    margin: 0; }

#paragraph-7 li {
  padding-left: 0;
  margin-bottom: 0; }
  #paragraph-7 li ul {
    display: none !important; }
  #paragraph-7 li::before {
    display: none; }
  #paragraph-7 li a {
    display: block;
    color: #fff;
    background-color: #10487a;
    min-height: 144px;
    border-radius: 10px;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.3;
    padding: 18px 16px; }

.paragraph.introduction {
  color: #545151;
  font-weight: 500;
  margin-bottom: 0;
  padding-bottom: 20px;
  font-size: 0.9375rem;
  line-height: 1.8; }

.paragraph-details {
  margin: 50px 0;
  background: #FBF9F8;
  padding: 45px 33px;
  overflow: hidden; }
  .paragraph-details h2 {
    margin-bottom: 20px; }
  .paragraph-details dl {
    font-size: 0.875rem; }
  .paragraph-details dt,
  .paragraph-details dd {
    float: left;
    margin: 0;
    padding: 0;
    margin-bottom: 10px; }
  .paragraph-details dt {
    clear: both;
    font-weight: 600;
    width: 120px; }
  .paragraph-details dd {
    font-weight: 500;
    width: calc(100% - 120px); }

.paragraph-icon-list h2 {
  margin-bottom: 30px; }

.paragraph-icon-list img {
  width: 30px;
  height: 30px;
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle; }

.paragraph-icon-list li {
  margin-bottom: 13px; }

.paragraph-icon-list ul {
  font-size: 0.9375rem;
  font-weight: 500; }

.paragraph-activities h3.section-title {
  color: #545151;
  font-size: 1.0625rem;
  margin: 30px 0; }

.paragraph-speakers img {
  height: 119px;
  width: 119px;
  display: inline-block;
  vertical-align: middle;
  border-radius: 119px; }

.paragraph-speakers h3 {
  font-size: 1.0625rem;
  font-weight: 600;
  margin-bottom: 3px;
  line-height: 1.3;
  letter-spacing: -0.4px;
  float: left; }

.paragraph-speakers a.fancybox {
  float: right;
  font-size: 0.75rem;
  border-left: 2px solid #F2743A;
  padding-left: 8px;
  line-height: 1;
  display: inline-block; }

.paragraph-speakers .event-speakers {
  margin: 0;
  padding: 0; }

.paragraph-speakers .event-speaker {
  position: relative;
  list-style: none;
  padding: 17px 10px 14px 28px;
  border-bottom: 1px solid #EAEAEA; }
  .paragraph-speakers .event-speaker:last-of-type {
    border-bottom: 0; }

.paragraph-speakers img {
  margin-right: 30px; }

.paragraph-speakers .text-wrap {
  width: calc(100% - 154px);
  display: inline-block;
  vertical-align: middle; }

.paragraph-speakers .event-speaker-job-title {
  clear: both;
  color: #666262;
  font-size: 0.875rem;
  line-height: 1.65;
  margin-bottom: 10px; }

.paragraph-speakers .text {
  font-size: 0.75rem;
  line-height: 1.58; }

@media screen and (max-width: 680px) {
  .paragraph-speakers img {
    height: 84px;
    width: 84px; }
  .paragraph-speakers h3 {
    font-size: 0.9375rem;
    margin-bottom: 5px; }
  .paragraph-speakers .event-speaker {
    position: relative;
    list-style: none;
    padding: 16px 0; }
    .paragraph-speakers .event-speaker:last-of-type {
      border-bottom: 0; }
  .paragraph-speakers .text-wrap {
    width: calc(100% - 100px);
    padding-left: 15px; }
  .paragraph-speakers .event-speaker-job-title {
    font-size: 0.75rem;
    line-height: 1.4;
    margin-bottom: 0; }
  .paragraph-speakers .text {
    display: none; } }

.main-with-sidebar > .youtube-container--responsive {
  margin-bottom: 100px; }
  @media screen and (max-width: 680px) {
    .main-with-sidebar > .youtube-container--responsive {
      margin-bottom: 50px; } }

.page-style .view-filters {
  z-index: 10;
  background: #f37324;
  width: 100%;
  position: relative; }
  .page-style .view-filters .views-exposed-widgets {
    width: 100%;
    margin-bottom: 0; }
  .page-style .view-filters .views-exposed-widget {
    position: relative;
    height: 70px;
    padding: 18px 28px 10px 24px;
    border-left: 1px solid #EAEAEA;
    background: #FFF;
    overflow: hidden;
    cursor: pointer;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(3),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(3) ~ .views-exposed-widget {
      width: 50%; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(4),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(4) ~ .views-exposed-widget {
      width: 33.3%; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(5),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(5) ~ .views-exposed-widget {
      width: 25%; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(6),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(6) ~ .views-exposed-widget {
      width: 20%; }
    .page-style .view-filters .views-exposed-widget:before {
      content: '';
      position: absolute;
      top: -5px;
      left: 0;
      height: 3px;
      width: 100%;
      -webkit-transition: all 222ms ease-out;
      -moz-transition: all 222ms ease-out;
      transition: all 222ms ease-out;
      background: #FC682D;
      opacity: 0; }
    .page-style .view-filters .views-exposed-widget:first-of-type {
      border: 0; }
    .page-style .view-filters .views-exposed-widget.focus {
      background: #FFF !important; }
      .page-style .view-filters .views-exposed-widget.focus:before {
        top: 0;
        opacity: 1; }
    .page-style .view-filters .views-exposed-widget:not(.views-submit-button):hover {
      background: #F3F3F4; }
    @media screen and (max-width: 768px) {
      .page-style .view-filters .views-exposed-widget:not(.views-widget-filter-title_field_value) {
        display: none; } }
  .page-style .view-filters #edit-field-news-type-target-id-wrapper {
    z-index: 50; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper .news-label {
      font-size: 13px;
      margin-top: 5px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes {
      background: #FFF;
      padding: 24px;
      position: absolute;
      top: 50px;
      width: 400px !important;
      box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.06);
      left: -30px;
      display: none;
      font-family: "Poppins", sans-serif; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .bef-toggle {
        display: block;
        margin-bottom: 10px;
        font-size: 14px; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .bef-checkboxes {
        width: 100%;
        display: flex;
        gap: 10px 20px;
        flex-wrap: wrap; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .form-item {
        width: calc(50% - 20px);
        text-align: left;
        display: flex;
        gap: 0 10px;
        align-items: center; }
        .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .form-item label {
          text-transform: none;
          color: #545151;
          font-size: 12px;
          letter-spacing: 0; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper .actions {
      text-align: right;
      margin: 10px 0 -5px; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper.open {
      overflow: visible; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper.open .bef-select-as-checkboxes {
        display: block; }
  .page-style .view-filters label {
    font-size: 0.625rem;
    color: #474545;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    line-height: 1.4;
    font-weight: normal;
    margin-bottom: 3px; }
  .page-style .view-filters .views-widget-filter-title_field_value,
  .page-style .view-filters .views-widget-filter-keys {
    position: relative;
    float: right; }
    .page-style .view-filters .views-widget-filter-title_field_value:after,
    .page-style .view-filters .views-widget-filter-keys:after {
      content: '';
      opacity: 1;
      height: 11px;
      width: 11px;
      position: absolute;
      top: 33px;
      right: 25px;
      background: url("../../images/build/search.svg") no-repeat center;
      background-size: 100% auto;
      -webkit-transition: all 222ms ease-out;
      -moz-transition: all 222ms ease-out;
      transition: all 222ms ease-out; }
    .page-style .view-filters .views-widget-filter-title_field_value label,
    .page-style .view-filters .views-widget-filter-keys label {
      display: none; }
    .page-style .view-filters .views-widget-filter-title_field_value .form-text,
    .page-style .view-filters .views-widget-filter-keys .form-text {
      border: 0;
      background: transparent;
      outline: none; }
    @media screen and (max-width: 768px) {
      .page-style .view-filters .views-widget-filter-title_field_value,
      .page-style .view-filters .views-widget-filter-keys {
        width: 100% !important;
        height: 40.5px;
        padding: 0;
        border-left: 0;
        box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.12); }
        .page-style .view-filters .views-widget-filter-title_field_value:after,
        .page-style .view-filters .views-widget-filter-keys:after {
          top: 0;
          bottom: 0;
          margin: auto; }
        .page-style .view-filters .views-widget-filter-title_field_value label,
        .page-style .view-filters .views-widget-filter-keys label {
          display: block;
          height: 40px;
          width: 40px;
          font-size: 0;
          margin: 0;
          cursor: pointer;
          background: url("../../images/build/plus.png") no-repeat center;
          background-size: 13px auto;
          position: absolute;
          top: 0;
          left: 0; }
        .page-style .view-filters .views-widget-filter-title_field_value .views-widget,
        .page-style .view-filters .views-widget-filter-keys .views-widget {
          display: inline-block;
          margin-left: 40px;
          width: calc(100% - 40px); }
          .page-style .view-filters .views-widget-filter-title_field_value .views-widget:before,
          .page-style .view-filters .views-widget-filter-keys .views-widget:before {
            content: '';
            height: 28px;
            width: 1px;
            margin: auto;
            border-left: 1px solid #EAEAEA;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 40px; }
          .page-style .view-filters .views-widget-filter-title_field_value .views-widget input,
          .page-style .view-filters .views-widget-filter-keys .views-widget input {
            padding: 9px 27px 8px 12px; } }
  .page-style .view-filters .views-submit-button,
  .page-style .view-filters .views-widget-sort-order {
    display: none;
    opacity: 0;
    visibility: hidden; }
  .page-style .view-filters .select2 {
    width: 100% !important;
    height: auto;
    color: #545151; }
    .page-style .view-filters .select2 .select2-selection {
      border: 0 !important;
      font-weight: 500;
      padding: 0;
      background: transparent;
      outline: none;
      cursor: pointer; }
      .page-style .view-filters .select2 .select2-selection span.select2-selection__rendered {
        font-size: 0.8125rem;
        line-height: 1.92;
        color: #545151;
        font-weight: 500;
        letter-spacing: -0.38px;
        padding: 0;
        width: 100%;
        padding-right: 10px;
        max-height: 20px;
        overflow: hidden;
        position: absolute;
        top: 0;
        background: url("../../images/build/sort-arrow.svg") no-repeat right 7px;
        background-size: 6.5px auto; }
      .page-style .view-filters .select2 .select2-selection ul.select2-selection__rendered {
        width: 9999px;
        padding: 0; }
        .page-style .view-filters .select2 .select2-selection ul.select2-selection__rendered .select2-selection__choice {
          position: relative;
          font-size: 0.8125rem;
          font-weight: 500;
          line-height: 1.92;
          letter-spacing: -0.38px;
          color: #545151;
          border: 0;
          margin: 0 15px 0 0;
          padding: 0;
          background: transparent;
          text-transform: capitalize;
          max-height: 20px;
          overflow: hidden;
          float: left; }
      .page-style .view-filters .select2 .select2-selection .select2-search__field {
        margin-top: 0;
        opacity: 0.5;
        color: #545151;
        font-size: 0.8125rem;
        cursor: pointer; }
      .page-style .view-filters .select2 .select2-selection .select2-selection__arrow,
      .page-style .view-filters .select2 .select2-selection .select2-search.select2-search--inline:not(:only-child),
      .page-style .view-filters .select2 .select2-selection .select2-selection__choice__remove {
        display: none; }
  @media screen and (max-width: 768px) {
    .page-style .view-filters {
      position: absolute;
      top: 0;
      left: 0; }
      .page-style .view-filters.mobile-toggled {
        position: fixed;
        top: 105px;
        left: 0;
        right: 0;
        margin: auto;
        max-width: 680px; }
        .page-style .view-filters.mobile-toggled:after {
          content: '';
          position: fixed;
          top: 0;
          left: 0;
          height: 100%;
          width: 100%;
          background: rgba(71, 69, 69, 0.9); }
        .page-style .view-filters.mobile-toggled .views-exposed-widget {
          z-index: 1;
          opacity: 1;
          display: block;
          height: auto;
          visibility: visible;
          width: 100% !important;
          padding: 16px 26px 15px;
          border-left: 0;
          border-bottom: 1px solid #EAEAEA; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget :before {
            content: none; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  label {
            display: inline-block;
            margin-bottom: 0; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget .views-widget-sort-by {
            border-bottom: 0; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .views-widget,
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .form-item-sort-by .select2 {
            float: right;
            text-align: right;
            width: calc(100% - 100px) !important; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .select2-selection--single {
            height: 20px; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .select2-selection__rendered {
            margin-top: 1px;
            padding-right: 40px;
            background-position: calc(100% - 20px) 9px; }
        .page-style .view-filters.mobile-toggled .views-submit-button {
          z-index: 1;
          opacity: 1;
          display: block;
          height: auto;
          visibility: visible;
          width: 100% !important;
          text-align: center;
          padding: 8px 20px 25px;
          border: 0; }
          .page-style .view-filters.mobile-toggled .views-submit-button:before {
            content: none; }
          .page-style .view-filters.mobile-toggled .views-submit-button .form-submit {
            margin: 0 auto; }
        .page-style .view-filters.mobile-toggled .views-widget-filter-title_field_value {
          position: fixed;
          left: 0;
          right: 0;
          margin: auto;
          max-width: 680px; } }
  @media screen and (max-width: 680px) {
    .page-style .view-filters {
      top: 25px;
      padding: 0 20px;
      background: #FBF9F8; }
      .page-style .view-filters.mobile-toggled {
        padding: 0 20px; }
        .page-style .view-filters.mobile-toggled .views-widget-filter-title_field_value {
          left: 20px;
          right: inherit;
          width: calc(100% - 40px) !important; } }

.select2-container .select2-search--dropdown {
  padding: 0; }

.select2-container .select2-dropdown {
  position: absolute;
  padding: 16px 0 18px;
  top: 20px;
  background: #FFF;
  box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.06);
  border: 0;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .select2-container .select2-dropdown::after {
    clear: both;
    content: "";
    display: table; }
  .select2-container .select2-dropdown.small {
    width: 200px !important; }
  .select2-container .select2-dropdown:not(.select2-dropdown--above):before {
    content: '';
    height: 24px;
    width: 24px;
    position: absolute;
    top: -12px;
    left: calc(50% - 50px);
    margin: auto;
    background: url("../../images/build/options-arrow.png") no-repeat center top;
    background-size: 24px auto; }
  .select2-container .select2-dropdown.select2-dropdown--above {
    margin-top: -50px; }
  .select2-container .select2-dropdown .select2-search__field {
    display: none; }
  .select2-container .select2-dropdown .select2-results .select2-results__options {
    max-height: 250px; }
  .select2-container .select2-dropdown .select2-results .select2-results__option {
    padding: 10px 10px 8px 50px;
    display: inline-block;
    vertical-align: middle;
    width: 50%;
    background: url("../../images/build/option-non.png") no-repeat 23px center;
    background-size: 16px auto;
    font-size: 0.75rem;
    color: #545151;
    line-height: 1.35;
    box-sizing: border-box;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .select2-container .select2-dropdown .select2-results .select2-results__option[aria-selected="true"] {
      background: url("../../images/build/option-active.png") no-repeat 23px center;
      background-size: 16px auto;
      font-size: 0.8125rem;
      font-weight: 500;
      color: #545151; }
    .select2-container .select2-dropdown .select2-results .select2-results__option:hover {
      font-weight: 500; }

@media screen and (max-width: 768px) {
  .select2-container .select2-dropdown {
    width: 450px !important;
    max-width: 85vw;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2); }
    .select2-container .select2-dropdown:before {
      content: none; } }

@media screen and (max-width: 680px) {
  .select2-container {
    left: 20px !important; }
    .select2-container .select2-dropdown .select2-results .select2-results__option {
      padding: 8px 10px 6px 38px;
      background-size: 12px auto;
      background-position: 18px 12px;
      font-size: 0.6875rem; }
      .select2-container .select2-dropdown .select2-results .select2-results__option[aria-selected="true"] {
        background-position: 18px 12px;
        background-size: 12px auto;
        font-size: 0.75rem; } }

.select2-container--classic.select2-container--open .select2-dropdown--below {
  border: 0; }
  .select2-container--classic.select2-container--open .select2-dropdown--below:before {
    content: none; }

.mobile-filter-close {
  position: absolute;
  top: -30px;
  right: 0;
  height: 10px;
  width: 10px;
  z-index: 1;
  cursor: pointer;
  display: none;
  background: url("../../images/build/close.png") no-repeat center;
  background-size: cover; }
  @media screen and (max-width: 680px) {
    .mobile-filter-close {
      right: 20px; } }

.view-filters-inner {
  padding: 31px 0 32px; }

.fancybox-container .fancybox-bg {
  background: #474545; }

@media screen and (max-width: 768px) {
  .fancybox-container .fancybox-slide {
    padding: 0 35px; } }

@media screen and (max-width: 680px) {
  .fancybox-container .fancybox-slide {
    padding: 0 10px; } }

.fancybox-container .fancybox-testimonial {
  padding: 0 20px;
  margin: auto;
  overflow: hidden;
  background: transparent; }
  .fancybox-container .fancybox-testimonial .wrapper {
    background: #FFF;
    margin: 0 auto;
    max-width: 750px;
    padding: 60px 82px; }
    @media screen and (max-width: 768px) {
      .fancybox-container .fancybox-testimonial .wrapper {
        padding: 50px; } }
    @media screen and (max-width: 768px) {
      .fancybox-container .fancybox-testimonial .wrapper {
        padding: 25px; } }

.fancybox-container .fancybox-close-small {
  height: 10px;
  width: 10px;
  background: url("../../images/build/fancy-close.png") no-repeat center;
  background-size: 100% auto; }
  .fancybox-container .fancybox-close-small:after {
    content: none; }

.fancybox-container .pre-title {
  font-size: 0.625em;
  text-transform: uppercase;
  color: #474545;
  margin-bottom: 9px;
  line-height: 1.4;
  letter-spacing: 1.6px; }

.fancybox-container h2 {
  color: #545151;
  font-size: 1.0625em;
  font-weight: 600;
  margin-bottom: 15px;
  line-height: 1.3;
  letter-spacing: -0.4px; }

.fancybox-container p {
  font-size: 0.8125em;
  line-height: 1.61;
  color: #666262; }

.fancybox-container .card-image-links {
  margin-top: 24px; }

.social-media__icon {
  position: relative;
  height: 33px;
  width: 33px;
  display: inline-block;
  margin: 2px 16px 0 0;
  cursor: pointer;
  z-index: 1;
  box-sizing: border-box;
  background: #10487a;
  border-radius: 33px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  @media screen and (max-width: 768px) {
    .social-media__icon {
      height: 24px;
      width: 24px;
      border-radius: 33px;
      margin-right: 11px;
      box-shadow: none;
      z-index: initial; }
      .social-media__icon:hover span {
        height: 28px;
        width: 28px;
        border-radius: 33px;
        margin: -14px; } }
  .social-media__icon:last-of-type {
    margin-right: 0; }
  .social-media__icon span {
    border-radius: 0;
    display: block;
    margin: 0;
    z-index: -1;
    background: #f37324;
    height: 0;
    width: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .social-media__icon path {
    fill: #dce4ec; }
  .social-media__icon svg {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 768px) {
      .social-media__icon svg {
        width: 40%; } }
  .social-media__icon:hover span {
    height: 33px;
    width: 33px;
    border-radius: 33px;
    margin: -16.5px; }
  .social-media__icon svg {
    width: 15px;
    height: 15px; }
  .social-media__icon.twitter svg {
    width: 20px;
    height: 20px; }
  .social-media__icon.instagram svg {
    width: 18px;
    height: 18px; }
  .social-media__icon.youtube svg {
    width: 21px;
    height: 21px; }

#comments {
  padding: 47px 48px 43px 45px;
  background: #FBF9F8;
  border-radius: 3px; }
  #comments .comment-title {
    font-size: 1.0625em;
    font-weight: 600;
    line-height: 1.29;
    margin-bottom: 10px;
    letter-spacing: -0.4px;
    color: #545151; }
  #comments .text {
    color: #666262;
    font-size: 0.6875em;
    line-height: 1.45;
    margin-bottom: 11px; }
  #comments .form-type-textarea {
    margin: 0 0 11px; }
    #comments .form-type-textarea .text-full {
      border-color: #EAE9EC;
      background: #FBF9F8; }
  #comments .form-actions {
    margin: 11px 0 30px; }
    #comments .form-actions input[type="submit"] {
      font-size: 0.75em;
      font-weight: 500;
      line-height: 1.16;
      padding: 8px 13px 6px 14px; }
  #comments .comment {
    padding: 20px 0 0; }
    #comments .comment:first-of-type {
      border-top: 1px solid #EAEAEA; }
    #comments .comment .submitted {
      margin-bottom: 9px; }
      #comments .comment .submitted span {
        display: inline-block;
        vertical-align: middle; }
      #comments .comment .submitted .created {
        margin-left: 5px;
        font-size: 11px;
        line-height: 1.45;
        color: #666262; }
      #comments .comment .submitted .name {
        font-size: 14px;
        font-weight: 500;
        text-transform: capitalize;
        color: #545151; }
    #comments .comment .content {
      font-size: 12px; }
  #comments .form-item-name,
  #comments .grippie, #comments .links,
  #comments .title, #comments label,
  #comments .warning {
    display: none; }
  @media screen and (max-width: 680px) {
    #comments {
      margin-top: 0;
      padding: 40px 20px; }
      #comments .comment-title {
        margin-bottom: 0; }
      #comments .text {
        margin-bottom: 15px; }
      #comments .form-item {
        margin: 10px 0; }
        #comments .form-item .username {
          font-size: 0.875rem; }
      #comments .form-type-textarea {
        margin: 0 0 15px; }
      #comments .form-actions {
        margin: 15px 0; }
      #comments .comment .submitted {
        margin-bottom: 9px; }
        #comments .comment .submitted span {
          display: inline-block;
          vertical-align: middle; }
        #comments .comment .submitted .created {
          margin-left: 5px;
          font-size: 11px;
          line-height: 1.45;
          color: #666262; }
        #comments .comment .submitted .name {
          font-size: 14px;
          font-weight: 500;
          text-transform: capitalize;
          color: #545151; }
      #comments .comment .content {
        font-size: 12px; } }

.share-wrapper {
  margin: 100px 0; }
  .share-wrapper .span, .share-wrapper a {
    display: inline-block;
    vertical-align: middle;
    height: 33px;
    width: 33px; }
  .share-wrapper .text {
    color: #999;
    font-size: 0.875em;
    line-height: 1.57;
    margin-right: 13px; }
  .share-wrapper a {
    position: relative;
    margin-right: 10px;
    background: transparent;
    border-radius: 50%;
    border: 1px solid #FC682D;
    padding: 4px 0 0 9px; }
    .share-wrapper a:last-of-type {
      margin-right: 0; }
    .share-wrapper a:after {
      background: #FC682D; }
    .share-wrapper a .jiathis_txt {
      text-align: center;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 0 !important;
      background: none !important; }
      .share-wrapper a .jiathis_txt:hover {
        opacity: 1; }
    .share-wrapper a svg, .share-wrapper a g {
      fill: #FC682D; }
  @media screen and (max-width: 768px) {
    .share-wrapper {
      margin: 60px 0; } }
  @media screen and (max-width: 680px) {
    .share-wrapper {
      margin: 20px 20px 45px;
      text-align: center; }
      .share-wrapper .text {
        width: 100%;
        display: block;
        margin: 0 0 10px; } }

.orange-banner {
  padding: 75px 0; }
  .orange-banner-inner {
    position: relative;
    z-index: 2; }
  .orange-banner-title {
    font-size: 2.1875rem;
    font-weight: 600;
    margin-bottom: 15px;
    line-height: 1.5;
    letter-spacing: normal; }
  .orange-banner-text {
    max-width: 883px;
    font-size: 0.9375rem;
    margin-bottom: 15px; }
  .orange-banner .secondary-call-action, .orange-banner .company-header .form-submit, .company-header .orange-banner .form-submit, .orange-banner .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .orange-banner .form-submit,
  .orange-banner .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .orange-banner .form-submit {
    background: transparent;
    border-color: #FFF;
    color: #FFF; }
  @media screen and (max-width: 768px) {
    .orange-banner {
      padding: 45px 0; } }
  @media screen and (max-width: 680px) {
    .orange-banner {
      padding: 40px 20px 35px;
      text-align: left; }
      .orange-banner h2 {
        font-size: 1.3125rem;
        margin-bottom: 5px;
        line-height: 1.2;
        letter-spacing: -0.61px; }
      .orange-banner .text {
        margin-bottom: 47px;
        font-size: 0.875rem;
        font-weight: 500; }
      .orange-banner .secondary-call-action, .orange-banner .company-header .form-submit, .company-header .orange-banner .form-submit, .orange-banner .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .orange-banner .form-submit,
      .orange-banner .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .orange-banner .form-submit {
        padding: 9px 24px 7px; } }

.orange-text-block .top {
  border-bottom: 1px solid #FFF;
  padding-bottom: 36px;
  margin-bottom: 24px; }
  .orange-text-block .top::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (min-width: 769px) {
  .orange-text-block .left {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%; }
    .orange-text-block .left:last-child {
      margin-right: 0; } }

.orange-text-block .right {
  font-size: 0.8125rem;
  padding-top: 20px; }
  @media screen and (min-width: 769px) {
    .orange-text-block .right {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 65.95745%; }
      .orange-text-block .right:last-child {
        margin-right: 0; } }

.orange-text-block h2 {
  font-size: 1.75rem;
  line-height: 1.5;
  letter-spacing: -0.98px;
  margin-bottom: 8px; }

.orange-text-block .subtitle {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.57;
  letter-spacing: -0.41px; }

@media screen and (max-width: 680px) {
  .orange-text-block {
    padding: 40px 20px 37px; }
    .orange-text-block .top {
      padding: 0;
      border: 0;
      margin-bottom: 15px; }
    .orange-text-block h2 {
      font-size: 1.375rem;
      line-height: 1.36; }
    .orange-text-block .right {
      display: none; } }

.programme-header {
  z-index: 1;
  overflow: hidden;
  position: relative; }
  .programme-header-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    height: 100%;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .programme-header-inner {
    min-height: 527px;
    display: flex;
    align-items: center; }
  .programme-header-content {
    background-color: rgba(255, 255, 255, 0.9);
    max-width: 637px;
    border-radius: 14px;
    padding: 28px 25px 25px;
    flex-grow: 1; }
  .programme-header-heading {
    font-size: 3.0625rem;
    color: #10487a;
    margin: 0 0 9px;
    line-height: 1.06;
    letter-spacing: -0.003em; }
  .programme-header-desc {
    font-size: 1.25rem;
    color: #041120;
    line-height: 1.45;
    margin-bottom: 0; }
  .programme-header .logo-wrap {
    position: absolute;
    top: 0;
    left: 70%;
    height: 160px;
    width: 160px;
    background: #FFF;
    border-radius: 50%; }
    .programme-header .logo-wrap img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 70%;
      height: auto; }
  .programme-header .btn-back {
    width: inherit;
    position: absolute;
    top: 15px;
    left: 20px; }
  @media screen and (max-width: 1200px) {
    .programme-header .logo-wrap {
      left: 65%; } }
  @media screen and (max-width: 768px) {
    .programme-header .logo-wrap {
      top: 0;
      bottom: 0;
      left: 72%;
      margin: auto;
      height: 155px;
      width: 155px; } }
  @media screen and (max-width: 680px) {
    .programme-header .logo-wrap {
      height: 91px;
      width: 91px;
      top: -140px;
      right: -20px;
      bottom: inherit; } }
  .programme-header .programme-header-sponsors {
    margin-bottom: -85px; }
    .programme-header .programme-header-sponsors .sponsors-title {
      font-size: 0.625rem;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      margin-top: 35px;
      margin-bottom: 5px;
      font-weight: 500; }
    .programme-header .programme-header-sponsors .sponsors-logos {
      margin-bottom: -55px; }
      .programme-header .programme-header-sponsors .sponsors-logos img {
        display: inline-block;
        max-height: 150px; }
      .programme-header .programme-header-sponsors .sponsors-logos.two-lines .sponsors-logo {
        display: block;
        text-align: left; }
    .programme-header .programme-header-sponsors .sponsors-logo {
      display: inline-block;
      vertical-align: middle;
      text-align: center;
      margin-right: 30px;
      margin-top: 20px; }

.newsletter-signup-form {
  display: none;
  position: relative;
  max-width: 750px;
  overflow: visible !important; }
  .newsletter-signup-form iframe {
    display: none; }
  .newsletter-signup-form .block {
    margin-left: 230px;
    padding: 20px; }
  .newsletter-signup-form h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 5px; }
  .newsletter-signup-form .mailchimp-signup-subscribe-form-description {
    font-size: 0.875rem;
    line-height: 1.4; }
  .newsletter-signup-form .form-item.form-item-mergevars-FNAME, .newsletter-signup-form .form-item.form-item-mergevars-LNAME {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%;
    position: relative; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME:last-child, .newsletter-signup-form .form-item.form-item-mergevars-LNAME:last-child {
      margin-right: 0; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME:nth-child(2n), .newsletter-signup-form .form-item.form-item-mergevars-LNAME:nth-child(2n) {
      margin-right: 0; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME:nth-child(2n+1), .newsletter-signup-form .form-item.form-item-mergevars-LNAME:nth-child(2n+1) {
      clear: left; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME label, .newsletter-signup-form .form-item.form-item-mergevars-LNAME label {
      position: relative; }
      .newsletter-signup-form .form-item.form-item-mergevars-FNAME label::after, .newsletter-signup-form .form-item.form-item-mergevars-LNAME label::after {
        content: '*';
        color: #f00; }
  .newsletter-signup-form .form-item.form-item-mergevars-MMERGE5 label {
    position: relative; }
    .newsletter-signup-form .form-item.form-item-mergevars-MMERGE5 label::after {
      content: '*';
      color: #f00; }
  .newsletter-signup-form .form-item label {
    font-size: 0.6875rem;
    font-weight: 400;
    text-indent: 10px; }
  .newsletter-signup-form .nl-mailing-list-select {
    border: 1px solid #EAE9EC;
    border-radius: 3px;
    background: #FFF;
    color: #545151;
    padding: 7px 13px;
    font-size: 14px;
    width: 100%;
    outline: none;
    transition: all 333ms linear;
    position: relative; }
    .newsletter-signup-form .nl-mailing-list-select:after {
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      background: url(../../svg/arrow-down.svg) center center no-repeat;
      position: absolute;
      right: 10px;
      top: 10px; }
  .newsletter-signup-form .nl-mailing-list-select-inner {
    position: absolute;
    top: 100%;
    left: -1px;
    right: -1px;
    background: #FFF;
    border: 1px solid #EAEAEA;
    border-top: 0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    display: none; }
    .newsletter-signup-form .nl-mailing-list-select-inner input, .newsletter-signup-form .nl-mailing-list-select-inner label {
      display: inline-block; }
    .newsletter-signup-form .nl-mailing-list-select-inner .nl-mailing-list-select-list {
      padding: 0 20px 10px;
      max-height: 180px;
      overflow: auto; }
      .newsletter-signup-form .nl-mailing-list-select-inner .nl-mailing-list-select-list label {
        font-size: 0.875rem; }
    .newsletter-signup-form .nl-mailing-list-select-inner .checkbox-wrap {
      margin-bottom: 7px; }
  .newsletter-signup-form .form-item-mailing-list {
    position: relative;
    z-index: 2; }
    .newsletter-signup-form .form-item-mailing-list label {
      position: relative; }
  .newsletter-signup-form .nl-mailing-list-actions {
    position: relative;
    z-index: 1; }
  .newsletter-signup-form .nl-mailing-list-select-actions {
    padding: 12px 10px;
    overflow: hidden;
    border-top: 1px solid #EAEAEA; }
  .newsletter-signup-form .nl-mailing-list-select-done {
    float: right; }
  .newsletter-signup-form .nl-mailing-list-actions {
    text-align: center;
    padding: 10px 0 0; }
  @media screen and (max-width: 680px) {
    .newsletter-signup-form .block {
      margin: 0; } }
  .newsletter-signup-form .primary-call-action:hover {
    color: #F2743A;
    box-shadow: inset 0 0 0 1px #F2743A; }
  .newsletter-signup-form .form-type-checkboxes > label {
    display: none; }
  .newsletter-signup-form .missing-fields {
    font-size: 0.8125rem;
    font-weight: 400;
    color: red;
    margin-top: 15px;
    padding-left: 10px; }

.page-newsletter #content-area .newsletter-signup-form {
  display: block;
  padding: 50px 0;
  max-width: 800px; }
  @media screen and (min-width: 681px) {
    .page-newsletter #content-area .newsletter-signup-form .block {
      padding-left: 50px; } }

.area-chart .highcharts-tick,
.area-chart .highcharts-axis-line:last-of-type, .single-area-chart .highcharts-tick,
.single-area-chart .highcharts-axis-line:last-of-type,
.line-chart .highcharts-tick,
.line-chart .highcharts-axis-line:last-of-type,
.bar-line-chart .highcharts-tick,
.bar-line-chart .highcharts-axis-line:last-of-type, .bar-chart .highcharts-tick,
.bar-chart .highcharts-axis-line:last-of-type {
  display: none; }

.area-chart .mainData, .single-area-chart .mainData,
.line-chart .mainData,
.bar-line-chart .mainData, .bar-chart .mainData {
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 2px; }

.area-chart .subData, .single-area-chart .subData,
.line-chart .subData,
.bar-line-chart .subData, .bar-chart .subData {
  font-size: 12px;
  text-align: center;
  line-height: 1; }

.area-chart .column-number, .single-area-chart .column-number,
.line-chart .column-number,
.bar-line-chart .column-number, .bar-chart .column-number {
  font-size: 12px;
  text-align: center;
  font-weight: 600; }

.area-chart .plotline-label, .single-area-chart .plotline-label,
.line-chart .plotline-label,
.bar-line-chart .plotline-label, .bar-chart .plotline-label {
  position: relative;
  font-size: 12px;
  font-weight: 600;
  background: #fff;
  -webkit-transform: translateY(-4px);
  -moz-transform: translateY(-4px);
  -ms-transform: translateY(-4px);
  -o-transform: translateY(-4px);
  transform: translateY(-4px); }
  .area-chart .plotline-label:before, .single-area-chart .plotline-label:before,
  .line-chart .plotline-label:before,
  .bar-line-chart .plotline-label:before, .bar-chart .plotline-label:before {
    content: '';
    height: 16px;
    width: 16px;
    position: absolute;
    top: 12px;
    left: -30px; }
  .area-chart .plotline-label:after, .single-area-chart .plotline-label:after,
  .line-chart .plotline-label:after,
  .bar-line-chart .plotline-label:after, .bar-chart .plotline-label:after {
    z-index: -1;
    content: '';
    height: 2px;
    width: 10px;
    position: absolute;
    top: 19px;
    left: -20px; }
  .area-chart .plotline-label.quote:before, .single-area-chart .plotline-label.quote:before,
  .line-chart .plotline-label.quote:before,
  .bar-line-chart .plotline-label.quote:before, .bar-chart .plotline-label.quote:before {
    background: url("../../images/build/quote-plotline.png") no-repeat center;
    background-size: 16px auto; }
  .area-chart .plotline-label.quote:after, .single-area-chart .plotline-label.quote:after,
  .line-chart .plotline-label.quote:after,
  .bar-line-chart .plotline-label.quote:after, .bar-chart .plotline-label.quote:after {
    background: #664fa3; }
  .area-chart .plotline-label.target:before, .single-area-chart .plotline-label.target:before,
  .line-chart .plotline-label.target:before,
  .bar-line-chart .plotline-label.target:before, .bar-chart .plotline-label.target:before {
    background: url("../../images/build/target-plotline.png") no-repeat center;
    background-size: 16px auto; }
  .area-chart .plotline-label.target:after, .single-area-chart .plotline-label.target:after,
  .line-chart .plotline-label.target:after,
  .bar-line-chart .plotline-label.target:after, .bar-chart .plotline-label.target:after {
    background: #ab9ecc; }

.area-chart .highcharts-scrollbar-thumb, .single-area-chart .highcharts-scrollbar-thumb,
.line-chart .highcharts-scrollbar-thumb,
.bar-line-chart .highcharts-scrollbar-thumb, .bar-chart .highcharts-scrollbar-thumb {
  height: 15px;
  -webkit-transform: translateY(-1px);
  -moz-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  -o-transform: translateY(-1px);
  transform: translateY(-1px); }

.area-chart .highcharts-yaxis-grid {
  display: none; }

.single-area-chart .highcharts-xaxis-grid,
.single-area-chart .highcharts-yaxis-grid {
  display: none; }

.gauge-chart .highcharts-yaxis-labels {
  display: none; }

.league-table-header {
  overflow: hidden;
  font-size: 0.625rem;
  color: #999;
  text-transform: uppercase;
  margin-bottom: 17px; }
  .league-table-header > div {
    float: left; }
  .league-table-header .rank {
    width: 65px;
    text-align: center; }
  .league-table-header .name {
    width: calc(100% - 300px);
    padding-left: 70px; }
  .league-table-header .new {
    width: 74px;
    text-align: center; }
  .league-table-header .percent {
    width: 150px;
    padding-left: 50px; }
  @media screen and (max-width: 768px) {
    .league-table-header {
      display: none; } }

.league-table-item {
  position: relative;
  margin-bottom: 5px;
  background: #FFF;
  font-weight: 600;
  cursor: pointer;
  display: block;
  padding: 18px 0 17px;
  border-radius: 3px; }
  .league-table-item::after {
    clear: both;
    content: "";
    display: table; }
  .league-table-item .rank {
    overflow: hidden;
    height: 100%;
    width: 65px;
    position: absolute;
    top: 0;
    left: 0; }
    .league-table-item .rank:before {
      content: '';
      display: block;
      height: 188px;
      width: 188px;
      background: #FC682D;
      position: absolute;
      top: 50%;
      right: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      border-radius: 50%;
      z-index: 0; }
    .league-table-item .rank .value {
      z-index: 1;
      font-size: 1.25rem;
      font-weight: 600;
      color: #fff;
      text-align: center;
      width: 100%;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); }
  .league-table-item .movement-and-name, .league-table-item .new, .league-table-item .percent,
  .league-table-item .movement, .league-table-item .name {
    display: inline-block;
    vertical-align: middle; }
  .league-table-item .movement-and-name {
    width: calc(100% - 245px);
    padding-left: 77px; }
  .league-table-item .movement {
    color: #999;
    width: 42px;
    font-size: 0.8125rem;
    line-height: 1; }
    .league-table-item .movement.up {
      color: #FC682D; }
    .league-table-item .movement.down {
      color: #474545; }
  .league-table-item .name {
    font-size: 1.0625rem;
    line-height: 1;
    padding-left: 23px;
    width: calc(100% - 47px); }
  .league-table-item .new {
    width: 74px;
    padding: 0 30px;
    box-sizing: border-box; }
  .league-table-item .percent {
    width: 150px;
    padding: 0 42px;
    font-size: 1.375rem;
    color: #F2743A;
    letter-spacing: -0.52px; }
  .league-table-item .arrow {
    height: 32px;
    width: 32px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: -16px;
    bottom: 0;
    margin: auto;
    background: #474545;
    text-align: center;
    padding-top: 3px; }
  @media screen and (max-width: 680px) {
    .league-table-item {
      padding: 37px 0 34px;
      border: 1px solid #eaeaea; }
      .league-table-item .rank {
        width: 30px; }
        .league-table-item .rank .value {
          font-size: 0.875rem; }
      .league-table-item .movement-and-name {
        width: calc(100% - 110px);
        padding-left: 46px; }
      .league-table-item .movement {
        display: block;
        width: 100%;
        font-size: 0.75rem;
        margin-bottom: 4px; }
      .league-table-item .name {
        display: block;
        width: 100%;
        font-size: 0.75rem;
        padding: 0; }
      .league-table-item .new {
        width: 34px;
        padding: 0 10px; }
      .league-table-item .percent {
        width: 68px;
        padding: 0 25px 0 0;
        font-size: 1rem; } }

.leaague-table-popup {
  display: none; }

.fancybox-slide > .leaague-table-popup-inner,
.fancybox-slide > .analysis-popup-inner {
  background-color: #F3F3F4;
  padding: 0; }
  @media screen and (min-width: 769px) {
    .fancybox-slide > .leaague-table-popup-inner,
    .fancybox-slide > .analysis-popup-inner {
      width: 750px; } }
  .fancybox-slide > .leaague-table-popup-inner .analysis-popup-text,
  .fancybox-slide > .analysis-popup-inner .analysis-popup-text {
    padding: 43px 74px;
    font-size: 0.875rem; }
    .fancybox-slide > .leaague-table-popup-inner .analysis-popup-text p,
    .fancybox-slide > .analysis-popup-inner .analysis-popup-text p {
      font-size: 0.875rem; }
  .fancybox-slide > .leaague-table-popup-inner .header,
  .fancybox-slide > .analysis-popup-inner .header {
    background: #FFF;
    text-align: center;
    position: relative;
    padding: 30px 120px 30px 120px; }
  .fancybox-slide > .leaague-table-popup-inner .name,
  .fancybox-slide > .analysis-popup-inner .name {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3; }
  .fancybox-slide > .leaague-table-popup-inner .rank-wrap,
  .fancybox-slide > .analysis-popup-inner .rank-wrap {
    position: absolute;
    left: 0;
    top: 20px;
    overflow: hidden;
    width: 105px;
    color: #FFF;
    height: 60px;
    padding-top: 13px; }
    .fancybox-slide > .leaague-table-popup-inner .rank-wrap:before,
    .fancybox-slide > .analysis-popup-inner .rank-wrap:before {
      content: '';
      display: block;
      width: 188px;
      height: 188px;
      background: #FC682D;
      position: absolute;
      top: -64px;
      right: 0;
      border-radius: 188px;
      z-index: 1; }
    .fancybox-slide > .leaague-table-popup-inner .rank-wrap span,
    .fancybox-slide > .analysis-popup-inner .rank-wrap span {
      position: relative;
      z-index: 2; }
  .fancybox-slide > .leaague-table-popup-inner .rank,
  .fancybox-slide > .analysis-popup-inner .rank {
    font-size: 1.25rem;
    font-weight: 600;
    padding: 0 5px; }
  .fancybox-slide > .leaague-table-popup-inner .movement,
  .fancybox-slide > .analysis-popup-inner .movement {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #ffd1ba; }
  .fancybox-slide > .leaague-table-popup-inner dl.info,
  .fancybox-slide > .analysis-popup-inner dl.info {
    text-align: center;
    margin: 40px 0; }
    .fancybox-slide > .leaague-table-popup-inner dl.info > div,
    .fancybox-slide > .analysis-popup-inner dl.info > div {
      display: inline-block;
      margin: 0 25px; }
  .fancybox-slide > .leaague-table-popup-inner dl.people,
  .fancybox-slide > .analysis-popup-inner dl.people {
    text-align: center; }
    .fancybox-slide > .leaague-table-popup-inner dl.people dd,
    .fancybox-slide > .analysis-popup-inner dl.people dd {
      margin-bottom: 25px; }
  .fancybox-slide > .leaague-table-popup-inner dt,
  .fancybox-slide > .analysis-popup-inner dt {
    color: #999;
    font-size: 0.625rem;
    text-transform: uppercase; }
  .fancybox-slide > .leaague-table-popup-inner dd,
  .fancybox-slide > .analysis-popup-inner dd {
    color: #474545;
    font-size: 1.1875rem;
    margin: 0;
    padding: 0;
    font-weight: 600; }
  @media screen and (max-width: 680px) {
    .fancybox-slide > .leaague-table-popup-inner .header,
    .fancybox-slide > .analysis-popup-inner .header {
      padding: 60px 20px 18px; }
    .fancybox-slide > .leaague-table-popup-inner .name,
    .fancybox-slide > .analysis-popup-inner .name {
      font-size: 1.125rem;
      line-height: 1.4; }
    .fancybox-slide > .leaague-table-popup-inner .rank-wrap,
    .fancybox-slide > .analysis-popup-inner .rank-wrap {
      right: 0;
      margin: auto;
      top: 0;
      width: 110px;
      height: 55px;
      padding-top: 10px; }
      .fancybox-slide > .leaague-table-popup-inner .rank-wrap:before,
      .fancybox-slide > .analysis-popup-inner .rank-wrap:before {
        position: absolute;
        top: initial;
        right: initial;
        bottom: 0;
        left: -50%;
        -webkit-transform: translateX(9%);
        -moz-transform: translateX(9%);
        -ms-transform: translateX(9%);
        -o-transform: translateX(9%);
        transform: translateX(9%);
        margin: auto; }
    .fancybox-slide > .leaague-table-popup-inner dl.info,
    .fancybox-slide > .analysis-popup-inner dl.info {
      margin: 30px 0 0;
      padding: 0 20px;
      display: block; }
      .fancybox-slide > .leaague-table-popup-inner dl.info::after,
      .fancybox-slide > .analysis-popup-inner dl.info::after {
        clear: both;
        content: "";
        display: table; }
      .fancybox-slide > .leaague-table-popup-inner dl.info > div,
      .fancybox-slide > .analysis-popup-inner dl.info > div {
        float: left;
        width: 50%;
        padding: 0 15px;
        margin: 0 0 35px; }
    .fancybox-slide > .leaague-table-popup-inner dt,
    .fancybox-slide > .analysis-popup-inner dt {
      margin-bottom: 2px; }
    .fancybox-slide > .leaague-table-popup-inner dd,
    .fancybox-slide > .analysis-popup-inner dd {
      font-size: 1rem; } }

.fancybox-slide > .leaague-table-popup-inner .movement {
  top: -1px; }

.most-eventful .league-table-item {
  padding: 32px 0 33px;
  margin: 0 30px 20px;
  border: 1px solid #eaeaea; }

.most-eventful .movement-and-name {
  width: calc(100% - 125px); }

.most-eventful .name {
  font-size: 16px;
  padding-left: 11px; }

.most-eventful .new {
  height: 25px;
  width: 25px;
  border-radius: 50%;
  position: absolute;
  top: -12.5px;
  right: -12.5px; }

.most-eventful .percent {
  width: 120px;
  padding: 0 27px;
  font-size: 27px; }

@media screen and (max-width: 680px) {
  .most-eventful .league-table-item {
    padding: 18px 0 17px;
    margin: 0 23px 15px; }
  .most-eventful .movement-and-name {
    width: calc(100% - 60px);
    padding-right: 10px; }
  .most-eventful .name {
    font-size: 12px;
    padding-left: 0; }
  .most-eventful .percent {
    width: 52px;
    padding: 0;
    font-size: 20px; } }

.report-section-top-10 .league-table-item {
  padding: 10px 0;
  margin: 0 30px 5px;
  border: 1px solid #eaeaea; }

.report-section-top-10 .movement-and-name {
  width: calc(100% - 110px); }

.report-section-top-10 .name {
  font-size: 14px;
  padding-left: 11px; }

.report-section-top-10 .new {
  width: 24px;
  padding: 0 5px; }

.report-section-top-10 .percent {
  width: 75px;
  padding: 0 15px 0 10px;
  font-size: 16px; }

@media screen and (max-width: 680px) {
  .report-section-top-10 .league-table-item {
    padding: 18px 0 17px;
    margin: 0 23px 15px; }
  .report-section-top-10 .movement-and-name {
    width: calc(100% - 90px);
    padding-right: 10px; }
  .report-section-top-10 .name {
    font-size: 12px;
    padding-left: 0; }
  .report-section-top-10 .percent {
    width: 52px;
    padding: 0;
    font-size: 16px; } }

.nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 24px; }
  @media screen and (max-width: 1200px) {
    .nav-list {
      gap: 0 8px; } }

.nav a {
  font-size: 0.875rem;
  color: #10487a;
  position: relative; }
  @media screen and (max-width: 1200px) {
    .nav a {
      font-size: 0.75rem; } }
  .nav a.active {
    font-weight: 700;
    color: #10487a; }
  .nav a::before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 3px;
    left: 0;
    background-color: #10487a;
    opacity: 0;
    translate: 0 8px;
    transition-property: opacity, translate;
    transition-duration: 0.3s;
    transition-timing-function: ease-out; }
  .nav a:hover::before {
    opacity: 1;
    translate: 0; }

.sns {
  padding-left: 6px; }
  .sns-list {
    display: flex;
    align-items: center;
    gap: 0 15px; }
    .sns-list a {
      display: block; }
    .sns-list img {
      display: block;
      object-fit: cover;
      width: 24px;
      height: 100%; }

.solution {
  background-color: #f37324;
  padding: 41px 0 33px 0; }
  @media screen and (max-width: 768px) {
    .solution {
      padding: 42px 0 33px 0; } }
  .solution-heading {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 14px; }
    @media screen and (max-width: 768px) {
      .solution-heading {
        font-size: 1.75rem;
        line-height: 1.25; } }
  .solution-desc {
    color: #fff;
    font-size: 1rem;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .solution-desc {
        font-size: 0.75rem;
        margin-bottom: 34px; } }
  .solution-cta {
    padding: 7px 42px 6px 35px;
    font-size: 1rem;
    letter-spacing: normal;
    font-weight: 400; }
    .solution-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #f37324;
      display: inline-block; }
    .solution-cta.is-white {
      color: #f37324; }

.result {
  background-color: #fff;
  border-radius: 20px;
  padding: 23px 38px 22px 38px; }
  .result-heading {
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 9px;
    letter-spacing: -0.03em; }
  .result-meta {
    font-size: 0.6875rem;
    margin-bottom: 5px;
    display: block; }
  .result-desc {
    font-size: 0.8125rem;
    margin-bottom: 0; }
  .result-read-more {
    color: #f37324;
    font-size: 0.75rem; }

.partner-header {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  .partner-header-inner {
    display: flex;
    align-items: center;
    min-height: 431px; }
    .partner-header-programmes .partner-header-inner {
      min-height: 526px; }
    .partner-header-news .partner-header-inner {
      min-height: 527px; }
    .partner-header-news-resources .partner-header-inner {
      min-height: 526px; }
  .partner-header-content {
    background-color: rgba(255, 255, 255, 0.9);
    max-width: 637px;
    border-radius: 14px;
    padding: 29px 17px 54px 25px; }
    @media screen and (max-width: 768px) {
      .partner-header-content {
        padding: 24px 21px; } }
    .partner-header-news .partner-header-content {
      padding: 22px 17px 54px 25px; }
    .partner-header-news-resources .partner-header-content {
      padding: 23px 17px 24px 25px; }
  .partner-header-title {
    color: #10487a;
    font-size: 3rem;
    margin-bottom: 10px;
    letter-spacing: 0.01em;
    line-height: 1.1; }
    @media screen and (max-width: 768px) {
      .partner-header-title {
        letter-spacing: normal;
        margin-bottom: 9px; } }
    @media screen and (max-width: 680px) {
      .partner-header-title {
        font-weight: 700;
        font-size: 2rem;
        line-height: 1.19; } }
    .partner-header-news .partner-header-title {
      line-height: 1.2; }
    .partner-header-news-resources .partner-header-title {
      line-height: 1.2;
      margin-bottom: 7px; }
  .partner-header-desc {
    font-size: 1.25rem;
    color: #041120;
    line-height: 1.5;
    margin-bottom: 0; }
    .partner-header-desc p {
      font-size: 1.25rem;
      color: #041120;
      line-height: 1.5;
      margin-bottom: 0;
      display: none; }
      @media screen and (max-width: 680px) {
        .partner-header-desc p {
          font-size: 1rem; } }
      .partner-header-desc p:first-of-type {
        display: block; }
      .partner-header-desc p strong {
        font-weight: normal;
        font-size: inherit; }
        @media screen and (max-width: 768px) {
          .partner-header-desc p strong {
            line-height: 1.5;
            letter-spacing: normal; } }

.featured {
  background-color: #f37324; }
  .featured-inner {
    padding: 39px 0 0 0; }
  .featured-content {
    text-align: center;
    margin-bottom: 34px; }
  .featured-title {
    color: #fff;
    margin-bottom: 25px; }
    @media screen and (max-width: 680px) {
      .featured-title {
        text-align: left;
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 1rem; } }
  .featured-desc {
    color: #fff;
    font-size: 0.9375rem;
    letter-spacing: -0.03em;
    margin-bottom: 0; }
    @media screen and (max-width: 680px) {
      .featured-desc {
        font-size: 12px;
        line-height: 1.92;
        text-align: left; } }
  .featured-cards {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 20px;
    max-width: 965px;
    width: 100%;
    margin: 0 auto; }
    .featured-cards.count-3 {
      grid-template-columns: repeat(3, 1fr); }
    .featured-cards.count-2 {
      grid-template-columns: repeat(2, 1fr);
      max-width: 600px; }
    .featured-cards.count-1 {
      grid-template-columns: 1fr;
      max-width: 300px; }
    @media screen and (max-width: 680px) {
      .featured-cards {
        margin-bottom: 6rem !important; }
        .featured-cards .slick-dots {
          bottom: -4.6875rem; } }
    .networks-landing .featured-cards {
      grid-template-columns: repeat(3, 225px); }
    .featured-cards .slick-dots button:before {
      content: ''; }
  .featured-card {
    text-align: center;
    background-color: #fff;
    border-radius: 20px;
    transition: translate 0.3s ease-in-out;
    flex-shrink: 0;
    padding: 24px 22px;
    display: block; }
    .featured-card:hover {
      translate: 0 -10px; }
    .featured-card-link {
      display: block;
      min-height: 221px; }
    .featured-card-content {
      box-sizing: border-box;
      height: 100%; }
    .featured-card-icon {
      width: 25px;
      margin: 0 auto 13px; }
      .featured-card-icon img {
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block; }
    .featured-card-title {
      font-size: 1.125rem;
      font-weight: 600;
      line-height: 1.55;
      margin-bottom: 16px;
      letter-spacing: -0.03em;
      color: #000; }
    .featured-card-desc {
      font-size: 0.75rem;
      margin-bottom: 0;
      line-height: 1.58; }
  .featured-button {
    display: flex;
    justify-content: center;
    padding: 25px 0 40px; }
  .featured-cta {
    padding: 6px 22px 6px 15px;
    font-size: 1rem;
    font-weight: 400; }
    .featured-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #f37324;
      display: inline-block; }
    .featured-cta::after {
      margin-left: 8px; }
    .featured-cta.is-white {
      color: #f37324; }
  .featured.orange-overlay {
    background-image: none !important;
    color: inherit; }
    .featured.orange-overlay::after {
      display: none; }

.team {
  position: relative; }
  @media screen and (max-width: 768px) {
    .team {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; } }
  .team::before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    background-color: rgba(16, 72, 122, 0.8);
    width: 100%;
    height: 100%; }
  .team-inner {
    padding: 46px 0 81px;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .team-inner {
        padding: 38px 0 26px; } }
  .team-title {
    color: #fff;
    margin-bottom: 21px; }
    @media screen and (max-width: 768px) {
      .team-title {
        margin-bottom: 25px;
        font-size: 1.75rem;
        line-height: 1.3; } }
  .team-subtitle {
    display: none; }
  .team-desc {
    color: #fff;
    font-size: 0.9375rem;
    letter-spacing: -0.025em;
    line-height: 1.5;
    max-width: 815px;
    width: 100%;
    margin-bottom: 47px; }
    @media screen and (max-width: 768px) {
      .team-desc {
        margin-bottom: 51px;
        font-size: 0.75rem;
        line-height: 1.33; } }
  .team-cta {
    font-weight: 400;
    font-size: 1rem;
    padding: 7px 23px 5px 14px; }
    .team-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    @media screen and (max-width: 768px) {
      .team-cta {
        padding: 6px 23px 6px 16px; } }
    .team-cta::after {
      margin-left: 8px; }
  .team-partner .team::before {
    background-color: rgba(243, 115, 36, 0.8); }

.partners-bean {
  background-color: #fff; }
  .partners-bean-inner {
    display: flex;
    justify-content: space-between;
    padding: 77px 55px 34px 0;
    gap: 0 20px; }
    @media screen and (max-width: 768px) {
      .partners-bean-inner {
        padding: 36px 0 0 0; } }
    @media screen and (max-width: 680px) {
      .partners-bean-inner {
        flex-direction: column;
        padding: 36px 0 0 0; } }
  .partners-bean-left {
    max-width: 604px;
    width: 100%; }
    @media screen and (max-width: 680px) {
      .partners-bean-left {
        margin-bottom: 2.5rem; } }
  .partners-bean-right {
    max-width: 277px;
    width: 100%;
    flex-shrink: 0; }
  .partners-bean-title {
    margin-bottom: 24px; }
    @media screen and (max-width: 680px) {
      .partners-bean-title {
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 1rem; } }
  .partners-bean-desc {
    margin-bottom: 35px; }
    .partners-bean-desc p {
      font-size: 0.9375rem;
      color: #041120;
      margin-bottom: 0;
      line-height: 1.55; }
      @media screen and (max-width: 680px) {
        .partners-bean-desc p {
          font-size: 0.75rem;
          line-height: 1.5;
          margin-bottom: 1rem; } }
  .partners-bean-cta {
    font-size: 1rem;
    font-weight: 400;
    padding: 7px 22px 7px 15px; }
    .partners-bean-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .partners-bean-cta::after {
      margin-left: 9px; }
  .partners-bean-label {
    font-weight: 500;
    font-size: 0.9375rem;
    color: #10487a;
    text-transform: uppercase;
    margin-bottom: 33px; }
  .partners-bean-item {
    margin-bottom: 34px; }
  .partners-bean-img {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px; }
    .partners-bean-img img {
      display: block;
      width: 50%;
      object-fit: contain; }
  .partners-bean-par {
    font-size: 0.75rem;
    line-height: 1.5;
    margin-bottom: 0; }

.values {
  background-color: #dce4ec;
  text-align: center; }
  .values-inner {
    padding: 61px 0 103px;
    font-size: 2.1875rem;
    letter-spacing: normal;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .values-inner {
        padding: 38px 0 103px; } }
  .values-heading {
    font-size: 2.1875rem;
    font-weight: 600;
    margin-bottom: 23px;
    letter-spacing: normal;
    color: #10487a; }
    @media screen and (max-width: 768px) {
      .values-heading {
        font-size: 1.75rem; } }
    @media screen and (max-width: 680px) {
      .values-heading {
        text-align: left;
        line-height: 1.3;
        margin-bottom: 1rem; } }
  .values-desc {
    font-size: 0.9375rem;
    margin-bottom: 45px;
    color: #041120; }
    @media screen and (max-width: 680px) {
      .values-desc {
        font-size: 0.75rem;
        line-height: 1.5;
        margin-bottom: 1.5rem;
        text-align: left; } }
  .values-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 32px; }
  .values-card {
    width: 260px;
    flex-shrink: 0;
    padding: 37px 22px 24px;
    background-color: #fff;
    border-radius: 20px; }
    @media screen and (max-width: 768px) {
      .values-card {
        margin: 0 auto; } }
  .values-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #D9D9D9;
    margin-bottom: -2px;
    display: inline-block; }
  .values-icon > img {
    display: block;
    margin: 0 auto 24px auto;
    max-width: 5rem;
    max-height: 5rem; }
    @media screen and (max-width: 680px) {
      .values-icon > img {
        max-width: 3.75rem;
        max-height: 3.75rem; } }
  .values-label {
    font-size: 1.875rem;
    color: #474545;
    margin-bottom: 3px;
    font-weight: 600;
    letter-spacing: -0.01em; }
  .values-par {
    font-size: 1.125rem;
    margin-bottom: 0;
    line-height: 1.4; }
  .values .slick-dots {
    bottom: -4.6875rem; }
    .values .slick-dots button::before {
      content: ''; }

.locations {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../../images/build/globe.jpg");
  position: relative; }
  .locations::before {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(220, 228, 236, 0.7);
    content: '';
    width: 100%;
    height: 100%; }
  .locations-inner {
    display: flex;
    justify-content: space-between;
    gap: 0 20px;
    position: relative;
    z-index: 1;
    padding: 87px 0 122px 0; }
    @media screen and (max-width: 768px) {
      .locations-inner {
        padding: 37px 0 18px; } }
    @media screen and (max-width: 768px) {
      .locations-inner {
        flex-direction: column;
        align-items: center;
        text-align: center; } }
    @media screen and (max-width: 680px) {
      .locations-inner {
        align-items: flex-start;
        text-align: left; } }
  @media screen and (max-width: 768px) {
    .locations-title {
      line-height: 1.3;
      margin-bottom: 12px; } }
  .locations-par {
    max-width: 603px;
    width: 100%; }
    .locations-par p {
      font-size: 0.9375rem;
      color: #041120;
      line-height: 1.5; }
      @media screen and (max-width: 680px) {
        .locations-par p {
          font-size: 0.75rem; } }

.mv {
  margin-bottom: 76px; }
  @media screen and (max-width: 768px) {
    .mv {
      margin-bottom: 10px; } }
  .mv-image {
    height: 586px;
    width: 100%;
    background-image: url("../../images/build/mv-image.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      .mv-image {
        height: 430px; } }
  .mv-content {
    margin-top: -122px; }
  .mv-inner {
    background-color: #fff;
    border-radius: 18px;
    padding: 22px 40px; }
    @media screen and (max-width: 768px) {
      .mv-inner {
        padding: 24px 21px; } }
  .mv-title {
    font-size: 3.05187rem;
    color: #10487a;
    margin-bottom: 7px;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .mv-title {
        font-size: 2rem; } }
  .mv-subtitle {
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .mv-subtitle {
        font-size: 1rem; } }
  .mv-desc {
    font-size: 1.25rem;
    color: #041120; }
    @media screen and (max-width: 768px) {
      .mv-desc {
        font-size: 1rem; } }

.card-event {
  overflow: hidden;
  border-radius: 10px;
  background-color: #F7F7F7; }
  .card-event-block {
    display: block; }
  .card-event-figure {
    height: 364px; }
    @media screen and (max-width: 680px) {
      .card-event-figure {
        height: 14.625rem; } }
  .card-event-image {
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .card-event-content {
    padding: 24px 25px 10px; }
  .card-event-date {
    font-size: 1rem;
    color: #10487a;
    font-weight: 600;
    display: block;
    margin-bottom: 4px; }
  .card-event-title {
    color: #10487a;
    font-size: 1.9375rem; }
    @media screen and (max-width: 680px) {
      .card-event-title {
        font-weight: 500;
        font-size: 1.5rem;
        line-height: 1.5; } }

.card-past {
  background-color: #fff;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.05);
  transition: 0.3s translate ease-out;
  display: block; }
  .card-past:hover {
    translate: 0 -10px; }
    .card-past:hover .card-past-image {
      scale: 1; }
  .card-past-figure {
    height: 178px;
    overflow: hidden; }
  .card-past-image {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    scale: 1.1;
    transition: 0.3s scale ease-out; }
    .node-type-events-landing-page .card-past-image,
    .view-past-events .card-past-image {
      filter: grayscale(1); }
  .card-past-content {
    padding: 11px 10px 38px; }
  .card-past-date {
    color: #10487a;
    font-size: 1rem;
    font-weight: 600;
    display: block;
    margin-bottom: 10px; }
  .card-past-title {
    color: #475254;
    font-size: 1.375rem;
    font-weight: 500;
    margin-bottom: 11px;
    letter-spacing: normal;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden; }
  .card-past-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px; }
  .card-past-category {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid #7D7D7D;
    text-transform: uppercase;
    padding: 0;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.4;
    color: #7d7d7d; }
    .card-past-category.is-disabled {
      opacity: 0.1; }

.card-basic {
  background-color: #fff;
  overflow: hidden;
  border-radius: 20px; }
  .card-basic-figure {
    height: 178px; }
  .card-basic-image {
    display: block;
    height: 100%;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #10487a; }
  .card-basic-content {
    padding: 11px 10px 38px; }
  .card-basic-date {
    color: #10487a;
    font-size: 1rem;
    font-weight: 600;
    display: block;
    margin-bottom: 10px; }
  .card-basic-title {
    color: #475254;
    font-size: 1.375rem;
    font-weight: 500;
    margin-bottom: 11px;
    letter-spacing: normal;
    line-height: 1.35; }
  .card-basic-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px; }
  .card-basic-category {
    display: block;
    border-radius: 5px;
    border: 1px solid #7D7D7D;
    text-transform: uppercase;
    padding: 0;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.4;
    width: 120px;
    color: #7d7d7d; }
    .card-basic-category.is-disabled {
      opacity: 0.1; }

.event-featured {
  background-color: #fff; }
  .event-featured-inner {
    padding: 45px 0 51px; }
  .event-featured-title {
    margin-bottom: 25px; }
    @media screen and (max-width: 680px) {
      .event-featured-title {
        font-size: 1.75rem;
        line-height: 1.3; } }
  .event-featured-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(575px, 1fr));
    gap: 25px; }
    @media screen and (max-width: 680px) {
      .event-featured-cards {
        display: block; } }

.topic {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background-color: #10487a;
  transition: translate 0.3s ease-in-out;
  position: relative; }
  @media screen and (min-width: 1201px) {
    .topic:hover {
      translate: 0 -5px; } }
  .topic-block {
    height: 100%;
    display: flex;
    flex-direction: column; }
  .topic-frame {
    min-height: 364px;
    background-color: #D9D9D9;
    display: none; }
    @media screen and (max-width: 768px) {
      .topic-frame {
        min-height: 206px; } }
    .is-main .topic-frame {
      display: block; }
  .topic-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    width: 100%; }
    @media screen and (max-width: 680px) {
      .topic-image {
        min-height: 12.875rem;
        max-height: 12.875rem; } }
  .topic-content {
    height: 100%;
    padding: 18px 16px 15px 16px;
    display: flex;
    flex-direction: column; }
    .is-main .topic-content {
      padding: 24px 37px 18px 24px; }
  .topic-date {
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    display: block;
    margin-bottom: 15px; }
    .is-main .topic-date {
      margin-bottom: 7px; }
  .topic-heading {
    color: #fff;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.33;
    margin-bottom: 0;
    letter-spacing: normal;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden; }
    @media screen and (max-width: 680px) {
      .topic-heading {
        -webkit-line-clamp: 3; } }
    .is-main .topic-heading {
      letter-spacing: normal;
      margin-bottom: 6px;
      -webkit-line-clamp: 2; }
  .topic-labels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin-top: auto; }
    @media screen and (max-width: 680px) {
      .topic-labels {
        margin-top: 20px; } }
  .topic-tag {
    color: #FFF;
    font-size: 0.9375rem;
    text-transform: uppercase;
    border: 1px solid #7696B3;
    background-color: #7696B3;
    border-radius: 5px;
    font-weight: 700;
    padding: 0 6px;
    line-height: 1.44;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    .is-main .topic-tag {
      border: none; }
  .topic-category {
    font-size: 0.9375rem;
    text-transform: uppercase;
    background-color: #fff;
    color: #f37324;
    border: 1px solid #f37324;
    border-radius: 5px;
    font-weight: 700;
    padding: 0 14px;
    line-height: 1.44;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }

.column {
  background-color: #fff;
  padding-bottom: 60px; }
  .column-cards {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 318px 206px;
    grid-template-areas: "first first second third" "first first fourth fourth";
    gap: 20px; }
    @media screen and (max-width: 1200px) {
      .column-cards {
        grid-template-rows: auto auto auto; } }
    @media screen and (max-width: 768px) {
      .column-cards {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "first first" "second third" "fourth fourth"; } }
    @media screen and (max-width: 680px) {
      .column-cards {
        display: block; }
        .column-cards > *:not(:last-child) {
          margin-bottom: 20px; } }
  .column-card {
    position: relative; }
    .column-card:first-of-type {
      grid-area: first; }
    .column-card:nth-of-type(2) {
      grid-area: second; }
    .column-card:nth-of-type(3) {
      grid-area: third; }
    .column-card:nth-of-type(4) {
      grid-area: fourth; }

.spotlight {
  background-color: #dce4ec;
  padding: 62px 0 80px; }
  @media screen and (max-width: 768px) {
    .spotlight {
      padding: 30px 0 40px; } }
  .spotlight-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 58px; }
  .spotlight-title {
    font-size: 1.5625rem;
    color: #10487a; }
  .spotlight-desc {
    width: 791px;
    color: #041120;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5; }
  .spotlight-articles .slick-dots button:before {
    content: ''; }
  .spotlight-article {
    padding: 59px 0 0;
    position: relative;
    display: flex; }
    @media screen and (max-width: 768px) {
      .spotlight-article {
        display: block;
        padding: 0; } }
    .spotlight-article:not(:last-of-type) {
      margin-bottom: 103px; }
      @media screen and (max-width: 680px) {
        .spotlight-article:not(:last-of-type) {
          margin-bottom: 30px; } }
    .spotlight-article.slick-slide {
      margin-bottom: 0;
      overflow: hidden; }
    .spotlight-article-image {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      height: 520px;
      width: 57.5%;
      border-radius: 15px;
      flex-shrink: 0;
      position: absolute;
      top: 0;
      left: 0; }
      @media screen and (max-width: 768px) {
        .spotlight-article-image {
          height: 224px;
          width: 100%;
          position: static;
          margin-bottom: -45px; } }
      .is-even .spotlight-article-image {
        left: auto;
        right: 0; }
      @media screen and (max-width: 680px) {
        .spotlight-article-image {
          width: 100%; } }
    .spotlight-article-title {
      font-weight: 700;
      line-height: 1.29;
      margin-bottom: 15px; }
      @media screen and (max-width: 680px) {
        .spotlight-article-title {
          font-size: 1.75rem; } }
    .spotlight-article-desc {
      font-size: 1rem;
      color: #041120;
      margin-bottom: 41px;
      line-height: 1.5; }
  .spotlight-contents {
    background-color: #fff;
    border-radius: 15px;
    width: 45.58%;
    min-height: 539px;
    flex-shrink: 0;
    padding: 18px 40px 18px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: -8px; }
    @media screen and (max-width: 768px) {
      .spotlight-contents {
        margin-right: 0;
        width: 96%;
        min-height: auto;
        padding: 18px 20px; } }
    .is-even .spotlight-contents {
      margin-left: 0; }
      @media screen and (max-width: 768px) {
        .is-even .spotlight-contents {
          margin-left: auto; } }
  .spotlight-cta {
    padding: 7px 24px 7px 15px;
    font-size: 16px; }
    .spotlight-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .spotlight-cta::after {
      margin-left: 9px; }
  .spotlight-details {
    margin-top: 53px;
    width: 100%; }
  .spotlight-label {
    font-size: 1rem;
    font-weight: 600;
    color: #10487a;
    display: inline-block;
    margin-bottom: 13px; }
  .spotlight-subjects {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(224px, 1fr));
    gap: 0; }
    .is-firefox .spotlight-subjects {
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 0 20px; }
  .spotlight-subject {
    padding-right: 20px; }
    .is-firefox .spotlight-subject {
      padding-right: 0; }
    @media screen and (max-width: 768px) {
      .spotlight-subject {
        padding-right: 0; } }
    @media screen and (max-width: 768px) {
      .spotlight-subject:not(:last-of-type) {
        margin-bottom: 15px; } }
    .spotlight-subject-title {
      font-size: 1rem;
      color: #10487a;
      font-weight: 400;
      margin-bottom: 0;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      overflow: hidden;
      -webkit-line-clamp: 3; }
  .spotlight-category {
    color: #f37324;
    font-size: 0.9375rem;
    font-weight: 700;
    border-radius: 5px;
    border: 1px solid #f37324;
    display: inline-block;
    line-height: 1.2;
    padding: 2px 14px 1px;
    text-transform: uppercase;
    margin-bottom: 9px; }
  .spotlight-date {
    font-size: 0.9375rem;
    color: #041120;
    font-weight: 600;
    display: block;
    letter-spacing: 0.03em;
    margin-bottom: 5px; }

.benefits {
  background-color: #dce4ec; }
  .benefits-inner {
    padding: 39px 0 80px; }
    @media screen and (max-width: 768px) {
      .benefits-inner {
        padding: 21px 0 70px; } }
  .benefits-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px; }
    @media screen and (max-width: 768px) {
      .benefits-top {
        display: block;
        margin-bottom: 33px; } }
  .benefits-title {
    font-size: 1.5625rem;
    margin-bottom: 0;
    white-space: pre-line;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .benefits-title {
        margin-bottom: 13px; } }
  .benefits-desc {
    max-width: 794px;
    width: 100%;
    font-size: 1.125rem;
    font-weight: 400;
    color: #041120;
    line-height: 1.5;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .benefits-desc {
        font-size: 1rem; } }
  .benefits-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 52px 142px;
    width: 100%; }
    @media screen and (max-width: 1200px) {
      .benefits-cards {
        gap: 52px 0; } }
    @media screen and (max-width: 680px) {
      .benefits-cards {
        grid-template-columns: repeat(1, 1fr); } }
    .benefits-cards .slick-dots {
      bottom: -41px; }
      .benefits-cards .slick-dots button:before {
        content: ''; }
  .benefits-card {
    text-align: center;
    padding: 0 20px; }
    @media screen and (max-width: 768px) {
      .benefits-card {
        padding: 0 15px; } }
  .benefits-icon {
    display: inline-block;
    width: 100px;
    height: 61px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("../../images/build/benefits-icon.png");
    margin-bottom: 9px; }
    @media screen and (max-width: 768px) {
      .benefits-icon {
        height: 25px;
        width: 40px;
        margin-bottom: 1px; } }
  .benefits-heading {
    color: #10487a;
    font-size: 1.5625rem;
    font-weight: 700;
    margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .benefits-heading {
        font-size: 1.125rem; } }
  .benefits-par {
    color: #041120;
    font-size: 1rem;
    margin-bottom: 38px;
    line-height: 1.5;
    max-width: 406px;
    width: 100%;
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .benefits-par {
        font-size: 0.875rem; } }
  .benefits-item {
    display: block;
    font-size: 1rem;
    color: #10487a;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .benefits-item {
        font-size: 0.875rem; } }
    .benefits-item:not(:last-of-type) {
      margin-bottom: 16px; }

.organization-inner {
  padding: 69px 0 56px; }
  @media screen and (max-width: 768px) {
    .organization-inner {
      padding: 21px 0 56px; } }

.organization-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 15px;
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .organization-top {
      display: block; } }

.organization-title {
  font-size: 1.5625rem;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .organization-title {
      margin-bottom: 13px; } }

.organization-desc {
  max-width: 796px;
  width: 100%;
  color: #041120;
  font-size: 1.125rem;
  margin-bottom: 0;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .organization-desc {
      font-size: 1rem; } }
  .organization-desc strong {
    font-size: inherit;
    display: block;
    font-weight: 500;
    line-height: 1.52; }

.organization-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 27px; }
  .organization-cards[data-count="1"] {
    grid-template-columns: 1fr; }
    .organization-cards[data-count="1"] .organization-content {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center; }
  @media screen and (max-width: 768px) {
    .organization-cards {
      grid-template-columns: repeat(1, 1fr); } }

.organization-card {
  display: flex;
  border-radius: 10px;
  overflow: hidden;
  background-color: #f7f7f7; }

.organization-frame {
  width: 53.58%;
  flex-shrink: 0;
  min-height: 312px; }
  @media screen and (max-width: 768px) {
    .organization-frame {
      min-height: 245px; } }

.organization-image {
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #D9D9D9; }

.organization-content {
  padding: 25px 30px 25px 19px; }
  @media screen and (max-width: 1200px) {
    .organization-content {
      padding: 15px 10px 15px 15px; } }
  @media screen and (max-width: 768px) {
    .organization-content {
      padding: 11px 10px 15px 15px; } }

.organization-heading {
  font-size: 1.5625rem;
  color: #10487a;
  margin-bottom: 3px; }
  @media screen and (max-width: 1200px) {
    .organization-heading {
      font-size: 1.25rem; } }
  @media screen and (max-width: 680px) {
    .organization-heading {
      font-size: 1.125rem;
      margin-bottom: 12px; } }

.organization-par {
  font-size: 1rem;
  color: #041120;
  font-weight: 400;
  margin-bottom: 14px;
  letter-spacing: normal;
  line-height: 1.5; }
  @media screen and (max-width: 1200px) {
    .organization-par {
      font-size: 0.8125rem;
      margin-bottom: 11px; } }
  @media screen and (max-width: 680px) {
    .organization-par {
      font-size: 0.625rem; } }

.organization-cta {
  font-size: 0.8rem;
  padding: 7px 23px 6px 15px; }
  .organization-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  @media screen and (max-width: 1200px) {
    .organization-cta {
      padding: 7px 22px 7px 16px; }
      .is-firefox .organization-cta {
        padding: 7px 17px 7px 10px; } }
  .organization-cta::after {
    margin-left: 9px;
    top: -1px; }

.research-inner {
  padding: 57px 0 75px; }
  @media screen and (max-width: 768px) {
    .research-inner {
      padding: 22px 0 21px; } }

.research-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 15px;
  margin-bottom: 28px; }
  @media screen and (max-width: 768px) {
    .research-top {
      display: block; } }

.research-title {
  font-size: 1.5625rem;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .research-title {
      margin-bottom: 18px; } }

.research-desc {
  max-width: 794px;
  width: 100%;
  color: #041120;
  font-size: 1.125rem;
  margin-bottom: 0;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .research-desc {
      font-size: 1rem;
      font-weight: 500; } }

.research-cards {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 4fr 2.8fr;
  grid-template-rows: repeat(3, 207px);
  grid-template-areas: "second first" "third first" "fourth first";
  gap: 20px;
  margin-bottom: 39px; }
  @media screen and (max-width: 768px) {
    .research-cards {
      grid-template-columns: 1fr;
      grid-template-rows: 561px repeat(3, 318px);
      grid-template-areas: "first" "second" "third" "fourth";
      margin-bottom: 0; } }
  .research-cards .topic-heading {
    -webkit-line-clamp: initial; }
    @media screen and (max-width: 768px) {
      .research-cards .topic-heading {
        -webkit-line-clamp: 40; } }

.research-topic {
  background-color: #f7f7f7; }
  .research-topic:first-of-type {
    grid-area: first; }
  .research-topic:nth-of-type(2) {
    grid-area: second; }
  .research-topic:nth-of-type(3) {
    grid-area: third; }
  .research-topic:nth-of-type(4) {
    grid-area: fourth; }
  .research-topic .topic-date {
    color: #041120; }
  .research-topic .topic-heading {
    color: #10487a; }
  .research-topic .topic-heading {
    font-size: 1.375rem; }
  .research-topic.is-main .topic-date {
    display: none; }
  .research-topic.is-main .topic-frame {
    min-height: 302px; }
    @media screen and (max-width: 768px) {
      .research-topic.is-main .topic-frame {
        min-height: 206px; } }
  .research-topic.is-main .topic-content {
    padding: 18px 37px 13px 23px; }
  .research-topic.is-main .topic-labels {
    margin-top: auto; }
  .research-topic.is-main .topic-heading {
    font-size: 1.75rem;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .research-topic.is-main .topic-heading {
        font-size: 1.5rem; } }

.research-button {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .research-button {
      display: none; } }

.research-cta {
  padding: 7px 23px 7px 15px;
  font-size: 1rem;
  font-weight: 400; }
  .research-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  .research-cta::after {
    margin-left: 8px; }

.newsletter {
  background-color: #10487a; }
  .newsletter-inner {
    display: flex;
    justify-content: center;
    gap: 0 36px;
    padding: 57px 0 68px; }
    @media screen and (max-width: 768px) {
      .newsletter-inner {
        padding: 23px 0 8px; } }
    @media screen and (max-width: 680px) {
      .newsletter-inner {
        display: block; } }
  .newsletter-content {
    max-width: 491px;
    width: 100%; }
    @media screen and (max-width: 680px) {
      .newsletter-content {
        max-width: 100%;
        margin-bottom: 46px; } }
  .newsletter-title {
    color: #fff;
    font-size: 1.5625rem;
    margin-bottom: 10px;
    letter-spacing: normal;
    line-height: 1.5; }
    @media screen and (max-width: 680px) {
      .newsletter-title {
        line-height: 1.1; } }
  .newsletter-desc {
    color: #fff;
    font-size: 0.9375rem;
    margin-bottom: 0;
    line-height: 1.53; }
    @media screen and (max-width: 680px) {
      .newsletter-desc {
        font-size: 0.875rem; } }
  .newsletter-subscription {
    max-width: 50%; }
    @media screen and (max-width: 680px) {
      .newsletter-subscription {
        max-width: 100%; } }
    .newsletter-subscription .newsletter-signup-form {
      display: block; }
    .newsletter-subscription .modal-header,
    .newsletter-subscription .mailchimp-signup-subscribe-form-description {
      display: none; }
    .newsletter-subscription .block {
      margin-left: 0;
      padding: 0; }
    .newsletter-subscription .block-title {
      font-size: 1.5rem;
      margin-bottom: 29px;
      letter-spacing: normal;
      color: #fff; }
      @media screen and (max-width: 680px) {
        .newsletter-subscription .block-title {
          font-size: 1.125rem; } }
    .newsletter-subscription .form-submit {
      display: block;
      width: 100%;
      background-color: #f37324;
      color: #fff;
      border: none;
      font-size: 0.9375rem;
      font-weight: 400;
      letter-spacing: normal;
      padding: 12px 22px 12px; }
    .newsletter-subscription input[type="text"] {
      border-radius: 8px; }
    .newsletter-subscription .mailchimp-newsletter-mergefields {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr 1fr;
      grid-template-areas: "first second" "third third" "fourth fourth";
      gap: 18px 20px;
      margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .newsletter-subscription .form-actions#edit-actions {
        margin-top: 0; } }
    .newsletter-subscription .nl-mailing-list-select {
      cursor: pointer;
      padding: 9px 13px; }
    .newsletter-subscription .nl-mailing-list-instructions {
      font-size: 12px;
      color: #727272; }
    .newsletter-subscription .form-type-textfield {
      margin: 0; }
      .newsletter-subscription .form-type-textfield input {
        padding: 7px 9px 9px;
        font-family: "Poppins", sans-serif;
        border-width: 2px;
        border-color: transparent;
        font-size: 12px; }
        .newsletter-subscription .form-type-textfield input::placeholder {
          font-size: 10px;
          color: #727272; }
        .newsletter-subscription .form-type-textfield input:focus {
          border-color: #f37324; }
    .newsletter-subscription label {
      display: none; }
    .newsletter-subscription .form-actions {
      margin-top: 34px; }
    .newsletter-subscription .form-item-mergevars-FNAME {
      grid-area: first; }
      .newsletter-subscription .form-item-mergevars-FNAME.form-item {
        float: none;
        width: 100%; }
    .newsletter-subscription .form-item-mergevars-LNAME {
      grid-area: second;
      float: none;
      width: 100%; }
      .newsletter-subscription .form-item-mergevars-LNAME.form-item {
        float: none;
        width: 100%; }
    .newsletter-subscription .form-item-mergevars-EMAIL {
      grid-area: third; }
    .newsletter-subscription .form-item-mergevars-MMERGE5 {
      grid-area: fourth; }
    .newsletter-subscription .nl-mailing-list-select {
      border-radius: 8px; }
  .newsletter .form-item-mailchimp-lists-interest-groups-7fadcbf75e-f1cf76debd,
  .newsletter .form-item-mailchimp-lists-interest-groups-7fadcbf75e-9262f6af0f {
    position: relative; }
  .newsletter .form-info-icon {
    display: inline-block;
    vertical-align: middle;
    width: 12px;
    height: 12px;
    background-image: url("../../images/build/info.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-left: 5px;
    position: relative; }
    .newsletter .form-info-icon:hover .form-tooltip {
      opacity: 1; }
  .newsletter .form-tooltip {
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
    opacity: 0;
    position: absolute;
    top: -5px;
    left: 24px;
    background-color: #fff;
    font-size: 0.75rem;
    z-index: 1;
    border-radius: 5px;
    padding: 5px 10px;
    width: 200px;
    box-shadow: 0px 1px 4px 0px rgba(25, 32, 56, 0.14); }
    @media screen and (max-width: 680px) {
      .newsletter .form-tooltip {
        width: 145px;
        font-size: 0.6875rem; } }
    .newsletter .form-tooltip::before, .newsletter .form-tooltip::after {
      width: 0;
      height: 0;
      border-width: 5px 7px 5px 0;
      border-style: solid;
      position: absolute;
      content: '';
      top: 6px; }
    .newsletter .form-tooltip::before {
      border-color: transparent rgba(0, 0, 0, 0.14) transparent transparent;
      filter: blur(1px);
      left: -8px; }
    .newsletter .form-tooltip::after {
      border-color: transparent #fff transparent transparent;
      left: -7px; }

.involved {
  background-color: #f37324;
  overflow: hidden; }
  .involved-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr); }
    @media screen and (max-width: 680px) {
      .involved-inner {
        grid-template-columns: repeat(1, 1fr); } }
  .involved-content {
    padding: 47px 0 48px; }
    @media screen and (max-width: 680px) {
      .involved-content {
        padding: 26px 0 22px; } }
  .involved-title {
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: 60px;
    font-weight: 500; }
    @media screen and (max-width: 680px) {
      .involved-title {
        margin-bottom: 14px; } }
  .involved-desc {
    color: #fff;
    font-size: 1rem;
    max-width: 351px;
    width: 100%;
    line-height: normal;
    margin-bottom: 56px; }
    @media screen and (max-width: 680px) {
      .involved-desc {
        max-width: 100%;
        font-size: 0.875rem;
        margin-bottom: 11px; } }
  .involved-cta {
    font-weight: 400;
    padding: 8px 23px 6px 15px;
    font-size: 0.9375rem; }
    .involved-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    .involved-cta::after {
      margin-left: 8px; }
  .involved-frame {
    position: relative;
    height: 100%; }
    @media screen and (max-width: 680px) {
      .involved-frame {
        height: 222px; } }
  .involved-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 56vw;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../../images/build/get-involved.jpg");
    height: 100%;
    background-color: #F3F3F4; }
    .is-firefox .involved-image {
      width: 50vw; }
      @media screen and (max-width: 680px) {
        .is-firefox .involved-image {
          width: 100vw; } }
    @media screen and (max-width: 680px) {
      .involved-image {
        width: 111vw;
        left: 50%;
        translate: -50% 0; } }

.kard {
  display: block;
  border-radius: 20px;
  overflow: hidden;
  background-color: #fff;
  filter: drop-shadow(5px 5px 25px rgba(0, 0, 0, 0.05));
  min-height: 327px; }
  .kard:hover img {
    scale: 1; }
  .kard-frame {
    height: 142px;
    overflow: hidden; }
    .kard-frame img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      scale: 1.05;
      transition: scale 0.5s ease-in-out; }
  .kard-content {
    padding: 25px 23px; }
  .kard-categories {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2px;
    gap: 0 13px; }
  .kard-category {
    font-size: 0.625rem;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.172em;
    position: relative; }
    .kard-category:not(:last-of-type)::after {
      position: absolute;
      display: inline-block;
      content: '|';
      color: inherit;
      font-size: inherit;
      right: -9px;
      top: 0; }
  .kard-time {
    font-size: 0.6875rem;
    color: #666262;
    font-weight: 300;
    letter-spacing: 0.03em;
    display: block;
    margin-bottom: 2px; }
  .kard-title {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.33;
    letter-spacing: -0.03em;
    margin-bottom: 0;
    box-sizing: border-box;
    height: calc(1.33 * 3 * 1em);
    overflow: hidden;
    position: relative; }

.eye-catch {
  background-color: #10487a; }
  .eye-catch-inner {
    text-align: center;
    min-height: 325px;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .eye-catch-inner {
        align-items: flex-start; } }
  .eye-catch-title {
    color: #fff;
    font-size: 3.05187rem;
    font-weight: 700;
    margin-bottom: 7px;
    line-height: normal;
    letter-spacing: normal; }
    @media screen and (max-width: 768px) {
      .eye-catch-title {
        font-size: 1.75rem;
        line-height: 1.29;
        text-align: left; } }
  .eye-catch-desc {
    max-width: 859px;
    width: 100%;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.006em; }
    @media screen and (max-width: 768px) {
      .eye-catch-desc {
        font-size: 1.125rem;
        line-height: 1.11;
        text-align: left; } }
    .eye-catch-desc p {
      color: inherit;
      font: inherit;
      letter-spacing: inherit;
      margin-bottom: 0; }

.principal-partners {
  background-color: #dce4ec; }
  .principal-partners-inner {
    padding: 73px 0 75px;
    display: flex;
    flex-direction: column; }
    @media screen and (max-width: 768px) {
      .principal-partners-inner {
        flex-direction: column;
        padding: 32px 0; } }
  .principal-partners-content {
    flex-shrink: 0; }
    @media screen and (max-width: 768px) {
      .principal-partners-content {
        margin-bottom: 1rem; } }
  @media screen and (max-width: 768px) {
    .principal-partners-title {
      font-size: 1.75rem;
      line-height: 1.3; } }
  .principal-partners-list {
    background-color: #fff;
    border-radius: 20px;
    width: 100%;
    flex-shrink: 0;
    padding: 35px 54px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 24px; }
    @media screen and (max-width: 768px) {
      .principal-partners-list {
        grid-template-columns: 1fr;
        width: 100%;
        padding: 32px 16px; } }
  .principal-partners-heading {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #10487a;
    margin-bottom: 33px;
    letter-spacing: normal;
    line-height: normal;
    margin-top: 24px; }
  .principal-partners-item:not(:last-of-type) {
    margin-bottom: 30px; }
  .principal-partners-frame {
    max-width: 100%;
    display: inline-block;
    margin-bottom: 4px;
    min-height: 125px; }
    .principal-partners-frame img {
      display: block;
      width: 50%;
      object-fit: contain; }
  .principal-partners-desc {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 0; }

.vacancy {
  color: #474545;
  background-color: #fff;
  border-radius: 20px;
  padding: 24px 25px 33px;
  transition: all 0.3s ease-in-out; }
  @media screen and (max-width: 680px) {
    .vacancy {
      margin-bottom: 1rem;
      padding: 24px 16px; } }
  .vacancy:hover {
    color: #fff;
    background-color: #10487a; }
    .vacancy:hover .vacancy-cta.is-blue {
      background-color: #fff;
      color: #10487a; }
      .vacancy:hover .vacancy-cta.is-blue::after {
        top: -2px;
        right: 0;
        position: relative;
        content: '';
        width: 8px;
        height: 8px;
        rotate: 45deg;
        box-shadow: 1.5px -1.5px 0 0 #10487a;
        display: inline-block; }
  .vacancy-department {
    font-size: 0.625rem;
    display: block;
    margin-bottom: 1px;
    color: inherit;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin-bottom: 9px; }
  .vacancy-title {
    color: inherit;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 9px;
    letter-spacing: -0.03em; }
  .vacancy-date {
    font-size: 0.6875rem;
    display: block;
    margin-bottom: 17px;
    color: inherit; }
  .vacancy-text {
    font-size: 0.75rem;
    line-height: 1.6;
    color: inherit; }
  .vacancy-cta {
    font-size: 1rem;
    padding: 8px 24px 8px 17px;
    transition: all 0.3s ease-in-out; }
    .vacancy-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .vacancy-cta::after {
      margin-left: 9px;
      transition: all 0.3s ease-in-out; }

.view-join-our-team .view-filters {
  position: initial; }

@media screen and (max-width: 680px) {
  .view-join-our-team .wrapper {
    padding: 0; } }

.view-join-our-team .view-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 50px; }
  @media screen and (max-width: 680px) {
    .view-join-our-team .view-content {
      display: block;
      padding: 20px 20px 40px !important; } }

.banner-event {
  background-color: #10487a; }
  .banner-event-inner {
    max-width: 1101px;
    width: 100%;
    padding: 80px 0; }
  .banner-event-sns {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 36px; }
  .banner-event-share {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0 11px; }
    .banner-event-share .text {
      color: #fff;
      font-size: 1.125rem;
      font-weight: 500;
      letter-spacing: -0.035em;
      margin-right: 9px; }
      @media screen and (max-width: 768px) {
        .banner-event-share .text {
          margin-bottom: 0; } }
    .banner-event-share a {
      border-color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 24px;
      padding: 0;
      margin: 0;
      flex-shrink: 0; }
      .banner-event-share a.share-fb svg {
        width: 5px;
        height: 10px; }
      .banner-event-share a.share-twitter svg {
        width: 8px;
        height: 7px; }
      .banner-event-share a.share-email svg {
        width: 7px;
        height: 6px; }
      .banner-event-share a.share-linkedin svg {
        width: 9px;
        height: 9px; }
      .banner-event-share a .jtico {
        float: none !important;
        position: static !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-size: 0 !important;
        width: 100%;
        height: 100%; }
      .banner-event-share a svg,
      .banner-event-share a g {
        fill: #fff; }
  .banner-event-content {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 15px;
    padding: 23px 25px;
    min-height: 197px; }
  .banner-event-group {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    position: relative; }
    .banner-event-group::before {
      display: inline-block;
      content: '';
      width: 26px;
      height: 28px;
      background-image: url("../../images/build/icon-calendar.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      margin-right: 7px; }
      @media screen and (max-width: 768px) {
        .banner-event-group::before {
          width: 20px;
          height: 20px; } }
    .banner-event-group.is-podcasts::before {
      background-image: url("../../images/build/icon-podcast.png");
      width: 30px;
      height: 30px; }
      @media screen and (max-width: 768px) {
        .banner-event-group.is-podcasts::before {
          width: 24px;
          height: 24px; } }
  .banner-event-info {
    font-size: 1.95312rem;
    color: #10487a;
    text-transform: uppercase;
    font-weight: 500; }
    @media screen and (max-width: 768px) {
      .banner-event-info {
        font-size: 1.125rem; } }
  .banner-event-category {
    position: relative; }
    .banner-event-category::after {
      content: ' |';
      font-size: inherit;
      color: #10487a; }
  .banner-event-title {
    margin-bottom: 9px;
    font-size: 3.05187rem;
    letter-spacing: normal;
    color: #10487a;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .banner-event-title {
        font-size: 1.5rem; } }
  .banner-event-desc {
    font-size: 1.25rem;
    color: #041120;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .banner-event-desc {
        font-size: 1rem; } }

.profile {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 100px 0 65px;
  margin: 0 auto; }
  .profile::after {
    clear: both;
    content: "";
    display: table; }
  .profile .field {
    margin-bottom: 20px; }
  .profile .field-label {
    font-size: 1rem;
    font-weight: 500; }
  .profile .field-item {
    font-size: 0.9375rem; }
  .profile h3 {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 8px;
    padding-bottom: 3px; }
  .profile dt {
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0; }
  .profile dd {
    font-size: 0.8125rem; }
  .profile .user-picture {
    position: relative;
    height: 150px;
    width: 150px;
    margin: 0; }
    .profile .user-picture img {
      display: block;
      width: 100%; }
  @media screen and (max-width: 680px) {
    .profile {
      padding: 45px 20px; }
      .profile .field {
        margin-bottom: 10px; }
      .profile .field-label,
      .profile h3 {
        font-size: 0.875rem; }
      .profile .field-item {
        font-size: 0.8125rem; }
      .profile dt,
      .profile dd {
        font-size: 0.75rem; }
      .profile .user-picture {
        float: none;
        margin: auto; } }

#ajax-register-user-login-wrapper .password-strength,
#ajax-register-user-login-wrapper div.password-confirm,
#user-pass-reset .password-strength,
#user-pass-reset div.password-confirm {
  display: none; }

#ajax-register-user-login-wrapper .form-type-password-confirm,
#user-pass-reset .form-type-password-confirm {
  margin-bottom: 0; }

#ajax-register-user-login-wrapper .description,
#user-pass-reset .description {
  font-size: 0.8125rem;
  font-weight: normal; }

@media screen and (max-width: 680px) {
  #ajax-register-user-login-wrapper .form-item,
  #user-pass-reset .form-item {
    margin: 0 0 25px; }
  #ajax-register-user-login-wrapper .description,
  #user-pass-reset .description {
    font-size: 0.75rem; } }

.credentials {
  background-color: #dce4ec;
  overflow: hidden; }
  @media screen and (max-width: 680px) {
    .credentials-media {
      display: none; } }
  .credentials-reset-password .credentials-form p {
    display: none; }
  .credentials-inner {
    display: flex;
    justify-content: space-between;
    min-height: 694px; }
  .credentials-content {
    max-width: 609px;
    width: 100%;
    padding: 92px 15px 0 0; }
    @media screen and (max-width: 768px) {
      .credentials-content {
        max-width: 100%;
        padding: 34px 0 0; } }
    @media screen and (max-width: 768px) {
      .credentials-register .credentials-content {
        padding: 34px 0; } }
    .credentials-pass .credentials-content,
    .credentials-reset-password .credentials-content {
      max-width: 39.625rem; }
  .credentials-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #10487a;
    padding-bottom: 10px;
    margin-bottom: 50px; }
  .credentials-heading {
    font-size: 1.5rem;
    margin-bottom: 0;
    font-weight: 300;
    letter-spacing: 0.01em;
    color: #10487a; }
  .credentials-title {
    font-size: 2.375rem;
    margin-bottom: 0;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.16;
    margin-bottom: 1.625rem;
    color: #10487a; }
  .credentials-desc {
    color: #041120;
    font-size: 1rem;
    line-height: 1.44; }
    .credentials-desc a {
      text-decoration: underline;
      color: #10487a; }
  .credentials-action {
    font-weight: 700;
    font-size: 1.125rem;
    text-transform: uppercase;
    color: #10487a;
    display: inline-flex;
    align-items: center; }
    .credentials-login .credentials-action::before,
    .credentials-register .credentials-action::before {
      display: inline-block;
      width: 20px;
      height: 19px;
      content: '';
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      background-image: url("../../images/build/icon-user.png");
      margin-right: 8px; }
    .credentials-register .credentials-action::before {
      background-image: url("../../images/build/ph_sign-in.png"); }
  .credentials-form {
    max-width: 307px;
    width: 100%; }
    .credentials-register .credentials-form {
      max-width: 390px; }
      @media screen and (max-width: 1200px) {
        .credentials-register .credentials-form {
          max-width: 100%; } }
    .credentials-form-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0 10px; }
      @media screen and (max-width: 680px) {
        .credentials-form-grid {
          display: block; } }
    .credentials-form label {
      font-size: 0.6875rem;
      font-weight: normal;
      color: #10487a; }
    .credentials-form .form-required {
      color: #10487a; }
    .credentials-form input[type="text"],
    .credentials-form input[type="password"] {
      border-color: #10487a; }
    .credentials-form .description {
      display: none; }
    .credentials-form .form-submit {
      border: none;
      color: #fff;
      background-color: #10487a;
      background-image: url("../../svg/angle-right.svg");
      background-position: right 20px bottom 50%;
      background-repeat: no-repeat;
      font-size: 1rem;
      font-weight: 400;
      min-width: 7rem;
      padding-right: 2.5rem; }
    .credentials-form .form-item {
      margin-bottom: 29px; }
      .credentials-register .credentials-form .form-item {
        margin-bottom: 1.25rem;
        margin-top: 0; }
      .credentials-pass .credentials-form .form-item {
        margin-bottom: 2.3125rem;
        margin-top: 0;
        max-width: 19.1875rem; }
      .credentials-reset-password .credentials-form .form-item {
        display: block !important;
        margin-left: 0 !important; }
  .credentials-link {
    font-size: 0.6875rem;
    text-decoration: underline; }
  .credentials-media {
    max-width: 500px;
    width: 100%;
    position: relative; }
    @media screen and (max-width: 768px) {
      .credentials-media {
        display: none; } }
  .credentials-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../../images/build/credentials-img.png");
    height: 100%;
    width: 45vw;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (max-width: 1200px) {
      .credentials-image {
        width: 100%; } }
    .credentials-image::before {
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      width: 100%;
      height: 100%;
      background-color: rgba(16, 72, 122, 0.5); }
  .credentials-back {
    font-weight: 600;
    font-size: 1.125rem;
    display: block;
    margin-bottom: 25px;
    color: #10487a; }
    .credentials-back span {
      font-weight: normal; }

.homepage-trigger {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  height: 5px;
  width: 100%;
  margin: auto;
  background: transparent;
  z-index: 100; }

.homepage-wrapper {
  padding: 88px 0;
  position: relative;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .homepage-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .homepage-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .homepage-wrapper .homepage-row {
    position: relative; }
  @media screen and (max-width: 1440px) {
    .homepage-wrapper {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .homepage-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 1200px) {
    .homepage-wrapper {
      padding: 122px 0 85px;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; }
      .homepage-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .homepage-wrapper {
      padding: 65px 0;
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .homepage-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .homepage-wrapper {
      overflow: hidden;
      padding: 90px 0 25px;
      width: 100%; } }

.homepage-row#row-1 .circle-content:after {
  content: '';
  height: 97px;
  width: 97px;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  background: #FC682D;
  opacity: 0.53;
  border-radius: 50%;
  position: absolute;
  top: 63px;
  right: 59px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }

@media screen and (max-width: 1440px) {
  .homepage-row#row-1 .circle-image {
    left: -140px; }
  .homepage-row#row-1 .circle-content {
    margin-left: 16.17021%;
    padding: 158px 94px 124px 206px; } }

@media screen and (max-width: 1200px) {
  .homepage-row#row-1 .circle-image {
    top: -71px;
    left: -172px; }
  .homepage-row#row-1 .circle-content {
    margin-left: 4.25532%; } }

@media screen and (max-width: 768px) {
  .homepage-row#row-1 .circle-image {
    left: -19px;
    top: inherit;
    bottom: -160px; }
  .homepage-row#row-1 .circle-content {
    margin-left: -42px;
    padding: 158px 94px 110px 154px; }
    .homepage-row#row-1 .circle-content:after {
      right: 47px; } }

@media screen and (max-width: 680px) {
  .homepage-row#row-1 {
    margin-bottom: 390px; }
    .homepage-row#row-1 .circle-image {
      left: -42px;
      bottom: inherit;
      top: 87%; }
    .homepage-row#row-1 .circle-content:after {
      height: 58px;
      width: 58px;
      top: 20px;
      right: initial;
      left: 87%; } }

.homepage-row#row-2 .circle-content {
  margin-top: -85px; }

@media screen and (max-width: 1440px) {
  .homepage-row#row-2 .circle-content {
    margin: -55px 0 0 -91px; } }

@media screen and (max-width: 1200px) {
  .homepage-row#row-2 .circle-content {
    margin: -55px 0 0 -88px; }
  .homepage-row#row-2 .circle-image {
    right: -90px; } }

@media screen and (max-width: 768px) {
  .homepage-row#row-2 .circle-content {
    margin: 281px 0 0 -25px; }
    .homepage-row#row-2 .circle-content:after {
      top: 588px;
      left: 65px; }
  .homepage-row#row-2 .circle-image {
    top: -195px;
    right: 40px; } }

@media screen and (max-width: 680px) {
  .homepage-row#row-2 {
    margin-bottom: 265px; }
    .homepage-row#row-2 .circle-image {
      left: inherit;
      right: -11px;
      top: -220px; }
    .homepage-row#row-2 .circle-content:after {
      height: 31px;
      width: 31px;
      top: 94%;
      left: 40px; } }

.homepage-row#row-3 {
  margin-top: 41px; }
  @media screen and (max-width: 1440px) {
    .homepage-row#row-3 .circle-content {
      margin-left: 16.17021%;
      padding: 158px 104px 124px 206px; }
    .homepage-row#row-3 .circle-image {
      left: -140px; } }
  @media screen and (max-width: 1200px) {
    .homepage-row#row-3 {
      margin-top: 80px; }
      .homepage-row#row-3 .circle-content {
        margin-left: 4.25532%;
        padding: 158px 104px 124px 226px; } }
  @media screen and (max-width: 768px) {
    .homepage-row#row-3 {
      margin-top: 165px; }
      .homepage-row#row-3 .circle-content {
        margin-left: -25px;
        padding: 154px 144px 114px 159px; }
        .homepage-row#row-3 .circle-content:after {
          top: 30px;
          right: 110px; }
      .homepage-row#row-3 .circle-image {
        top: -186px;
        left: 46px; } }
  @media screen and (max-width: 680px) {
    .homepage-row#row-3 {
      margin-top: 0;
      margin-bottom: 265px; }
      .homepage-row#row-3 .circle-image {
        left: -11px;
        top: -220px; }
      .homepage-row#row-3 .circle-content:after {
        height: 58px;
        width: 58px;
        top: 20px;
        right: initial;
        left: 87%;
        opacity: 0.53; } }

.homepage-row#row-4 {
  margin-top: 33px; }
  .homepage-row#row-4 .circle-image {
    bottom: -43px; }
  .homepage-row#row-4 .circle-content:after {
    height: 76px;
    width: 76px;
    position: absolute;
    top: 119px;
    right: inherit;
    bottom: inherit;
    left: 35px; }
  @media screen and (max-width: 1440px) {
    .homepage-row#row-4 {
      margin-top: 0; }
      .homepage-row#row-4 .circle-image {
        right: -51px; }
      .homepage-row#row-4 .circle-content {
        margin-left: -55px; } }
  @media screen and (max-width: 1200px) {
    .homepage-row#row-4 {
      margin-top: -55px; }
      .homepage-row#row-4 .circle-image {
        right: -183px;
        bottom: 148px; }
      .homepage-row#row-4 .circle-content {
        margin-left: -88px; } }
  @media screen and (max-width: 768px) {
    .homepage-row#row-4 {
      margin-top: 150px; }
      .homepage-row#row-4 .circle-image {
        right: 40px;
        top: -180px;
        bottom: inherit; }
      .homepage-row#row-4 .circle-content {
        margin-left: -33px;
        padding: 154px 144px 144px 169px; }
        .homepage-row#row-4 .circle-content:after {
          top: 86px;
          left: 45px; } }
  @media screen and (max-width: 680px) {
    .homepage-row#row-4 {
      margin-top: 0;
      margin-bottom: 265px; }
      .homepage-row#row-4 .circle-image {
        right: -11px;
        top: -210px; }
      .homepage-row#row-4 .circle-content:after {
        height: 31px;
        width: 31px;
        top: -15px;
        left: 10%;
        opacity: 0.53; } }

.homepage-row#row-5 {
  margin-top: 20px; }
  .homepage-row#row-5 .circle-image {
    top: 30px; }
    .homepage-row#row-5 .circle-image:after {
      content: '';
      border-radius: 50%;
      height: 85px;
      width: 85px;
      background: rgba(252, 104, 45, 0.9);
      position: absolute;
      bottom: 17px;
      left: 2px; }
  .homepage-row#row-5 .circle-content:after {
    opacity: 0.7;
    height: 31px;
    width: 31px;
    position: absolute;
    top: 563px;
    right: inherit;
    bottom: inherit;
    left: -36px; }
  @media screen and (max-width: 1440px) {
    .homepage-row#row-5 {
      margin-top: 68px; }
      .homepage-row#row-5 .circle-image {
        left: -92px; }
      .homepage-row#row-5 .circle-content {
        margin-left: 21.2766%;
        padding: 158px 114px 131px 216px; } }
  @media screen and (max-width: 1200px) {
    .homepage-row#row-5 {
      margin-top: 31px; }
      .homepage-row#row-5 .circle-image {
        top: 101px;
        left: -183px; }
        .homepage-row#row-5 .circle-image:after {
          bottom: -60px;
          left: 96px; }
      .homepage-row#row-5 .circle-content {
        margin-left: 4.25532%; }
        .homepage-row#row-5 .circle-content:after {
          top: 555px;
          left: 25px; } }
  @media screen and (max-width: 768px) {
    .homepage-row#row-5 {
      margin-top: 150px; }
      .homepage-row#row-5 .circle-image {
        left: 40px;
        top: -180px; }
        .homepage-row#row-5 .circle-image:after {
          top: 0;
          right: -26px;
          left: initial;
          bottom: initial; }
      .homepage-row#row-5 .circle-content {
        margin-left: -35px;
        padding: 154px 144px 114px 159px; }
        .homepage-row#row-5 .circle-content:after {
          top: -46px;
          left: initial;
          right: 275px; } }
  @media screen and (max-width: 680px) {
    .homepage-row#row-5 {
      margin-top: 0;
      margin-bottom: 100px; }
      .homepage-row#row-5 .circle-image {
        left: -11px;
        top: -220px; }
        .homepage-row#row-5 .circle-image:after {
          top: 5px;
          right: 22px;
          opacity: 0.9;
          height: 35px;
          width: 35px; }
      .homepage-row#row-5 .circle-content:after {
        height: 13px;
        width: 13px;
        top: -70px;
        left: 80%;
        opacity: 0.71; } }

.homepage-row.image-left .circle-image {
  position: absolute;
  top: 0;
  left: 0; }

.homepage-row.image-left .circle-content {
  margin-left: 25.53191%;
  padding: 158px 95px 124px 226px; }
  .homepage-row.image-left .circle-content:after {
    content: '';
    height: 79px;
    width: 79px;
    background: #FC682D;
    border-radius: 50%;
    position: absolute;
    top: 63px;
    right: 73px;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }

.homepage-row.image-right .circle-image {
  position: absolute;
  right: 0;
  bottom: 0; }

.homepage-row.image-right .circle-content {
  margin-left: 8.51064%;
  padding: 157px 158px 128px 172px; }
  .homepage-row.image-right .circle-content .subject {
    max-width: 400px; }
  .homepage-row.image-right .circle-content:after {
    content: '';
    border-radius: 50%;
    height: 58px;
    width: 58px;
    background: #FC682D;
    position: absolute;
    top: 540px;
    left: 10px;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }

.circle-image {
  height: 456px;
  width: 456px;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0.8;
  border-radius: 50%;
  box-sizing: border-box;
  z-index: 1;
  background-size: cover;
  background-position: center;
  -webkit-transition: all 1500ms ease-out;
  -moz-transition: all 1500ms ease-out;
  transition: all 1500ms ease-out;
  box-shadow: inset 0 0 0 20px rgba(250, 248, 247, 0.6); }
  .fadeIn .circle-image {
    animation-name: circle-image-fadeIn;
    animation-duration: 1.2s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeOut .circle-image {
    animation-name: circle-image-fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  @media screen and (max-width: 1200px) {
    .circle-image {
      height: 366px;
      width: 366px; } }
  @media screen and (max-width: 768px) {
    .circle-image {
      height: 300px;
      width: 300px; } }
  @media screen and (max-width: 680px) {
    .circle-image {
      height: 247px;
      width: 247px; } }

@keyframes circle-image-fadeIn {
  0% {
    opacity: 0.5; }
  50% {
    opacity: 0.8;
    -webkit-transform: scale(1.4);
    -moz-transform: scale(1.4);
    -ms-transform: scale(1.4);
    -o-transform: scale(1.4);
    transform: scale(1.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    box-shadow: inset 0 0 0 20px rgba(250, 248, 247, 0.6); } }

@keyframes circle-image-fadeOut {
  0%, 15% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    box-shadow: inset 0 0 0 20px rgba(250, 248, 247, 0.6); }
  50% {
    opacity: 0.8;
    box-shadow: none;
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    -o-transform: scale(1.3);
    transform: scale(1.3); }
  100% {
    opacity: 0.5;
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5); } }

.circle-content {
  position: relative;
  width: 800px;
  min-height: 800px; }
  .circle-content .animate-content {
    opacity: 0;
    -webkit-transform: translateY(80%);
    -moz-transform: translateY(80%);
    -ms-transform: translateY(80%);
    -o-transform: translateY(80%);
    transform: translateY(80%);
    -webkit-transition: all 777ms ease-out 777ms;
    -moz-transition: all 777ms ease-out 777ms;
    transition: all 777ms ease-out 777ms; }
  .fadeIn .circle-content .animate-content {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
    @media screen and (max-width: 680px) {
      .fadeIn .circle-content .animate-content {
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); } }
  .fadeIn .circle-content:before {
    animation-name: circle-content-before-fadeIn;
    animation-duration: 1.2s;
    animation-delay: 444ms;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeIn .circle-content:after {
    animation-name: circle-content-after-fadeIn;
    animation-duration: 1s;
    animation-delay: 222ms;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeOut .circle-content .animate-content {
    -webkit-transform: translateY(30%);
    -moz-transform: translateY(30%);
    -ms-transform: translateY(30%);
    -o-transform: translateY(30%);
    transform: translateY(30%);
    opacity: 0;
    -webkit-transition: all 888ms ease-out;
    -moz-transition: all 888ms ease-out;
    transition: all 888ms ease-out; }
  .fadeOut .circle-content:before {
    animation-name: circle-content-before-fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeOut .circle-content:after {
    animation-name: circle-content-after-fadeOut;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .circle-content:before {
    content: '';
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    height: 800px;
    width: 800px;
    background: #FBF9F8;
    z-index: -2; }
  .circle-content .title {
    font-size: 2.875rem;
    line-height: 0.9;
    letter-spacing: -1.37px;
    margin-bottom: 3px;
    font-weight: bold;
    text-transform: capitalize;
    color: #3B3535; }
  .circle-content .sub-title {
    font-size: 2.625rem;
    font-weight: 500;
    color: #474545;
    letter-spacing: -1.17px;
    line-height: 1.07;
    margin-bottom: 18px; }
  .circle-content .details {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #545151;
    margin-bottom: 25px; }
  .circle-content .subject-title {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: normal;
    letter-spacing: 2.8px;
    line-height: 1.1;
    color: #474545;
    margin: 40px 0 23px; }
  .circle-content .subject {
    margin-bottom: 25px; }
    .circle-content .subject .icon, .circle-content .subject .content {
      display: inline-block;
      vertical-align: top; }
    .circle-content .subject .icon {
      height: 35px;
      width: 35px;
      margin-right: 19px;
      background: url("../../images/build/home_icon_event.png") no-repeat center;
      background-size: cover; }
      .circle-content .subject .icon.news_publication {
        background-image: url("../../images/build/home_icon.png"); }
    .circle-content .subject .content {
      height: auto;
      width: calc(100% - 60px); }
    .circle-content .subject .text {
      font-size: 0.8125rem;
      font-weight: 500;
      color: #474545;
      letter-spacing: -0.4px;
      line-height: 1.31;
      margin: 1px 0 4px; }
    .circle-content .subject .information {
      font-size: 0.6875rem;
      color: #666262;
      line-height: 1.45; }
    .circle-content .subject .tertiary-call-action {
      text-transform: lowercase; }
  @media screen and (max-width: 1440px) {
    .circle-content .subject-wrapper {
      width: 350px; } }
  @media screen and (max-width: 768px) {
    .circle-content {
      width: 748px;
      min-height: 748px; }
      .circle-content:before {
        height: 748px;
        width: 748px; }
      .circle-content .title {
        font-size: 2.75rem; }
      .circle-content .sub-title {
        font-size: 2.5rem;
        margin-bottom: 3px; }
      .circle-content .details {
        margin-bottom: 25px; }
      .circle-content .subject-title {
        margin: 40px 0 22px; }
      .circle-content .subject {
        margin-bottom: 25px; } }
  @media screen and (max-width: 680px) {
    .circle-content {
      margin: 0 !important;
      padding: 20px !important;
      width: 100vw !important;
      height: 100vw !important;
      min-height: inherit; }
      .circle-content .animate-content {
        width: calc(100% - 40px);
        position: absolute;
        top: 70%;
        left: 20px; }
      .circle-content:before {
        height: 120vw;
        width: 120vw;
        min-width: 320px;
        min-height: 320px;
        margin: auto;
        top: 0;
        bottom: 0;
        left: -12%; }
      .circle-content .title {
        font-size: 1.5rem;
        margin-bottom: 5px; }
      .circle-content .sub-title {
        font-size: 1.5rem;
        margin-bottom: 15px; }
      .circle-content .details {
        font-size: 0.8125rem;
        letter-spacing: -0.34px;
        line-height: 1.6; }
      .circle-content .subject,
      .circle-content .subject-title {
        display: none; } }

@keyframes circle-content-before-fadeIn {
  0% {
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
    transform: scale(0.8); }
  50% {
    -webkit-transform: scale(1.4);
    -moz-transform: scale(1.4);
    -ms-transform: scale(1.4);
    -o-transform: scale(1.4);
    transform: scale(1.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@keyframes circle-content-before-fadeOut {
  0%, 25% {
    opacity: 0.8;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1);
    -moz-transform: scale(0.1);
    -ms-transform: scale(0.1);
    -o-transform: scale(0.1);
    transform: scale(0.1); } }

@keyframes circle-content-after-fadeIn {
  0% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5); }
  50% {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@keyframes circle-content-after-fadeOut {
  0%, 25% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5); } }

.event-spotlight {
  margin-top: 60px; }
  .event-spotlight .spotlight-top {
    margin-bottom: 23px; }
  @media screen and (max-width: 680px) {
    .event-spotlight {
      margin-top: 0; } }

.event-spotlight .spotlight-desc {
  color: #041120; }

.event-spotlight-banner {
  background-color: #10487a;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 50% auto;
  padding: 93px 0; }
  @media (max-width: 1720px) {
    .event-spotlight-banner {
      background-size: contain; } }
  @media screen and (max-width: 680px) {
    .event-spotlight-banner {
      background-size: contain;
      background-position: top center;
      padding-top: 180px;
      padding-bottom: 50px; } }

.event-spotlight-event {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 15px;
  padding: 24px;
  max-width: 621px;
  margin-left: auto; }
  .event-spotlight-event .topic-category {
    background: transparent; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event {
      padding: 18px;
      background: #fff; } }

.event-spotlight-date {
  font-size: 1.5rem;
  font-weight: 500;
  color: #10487a;
  margin: 15px 0;
  background: url("../../images/build/calendar_clock.svg") left center no-repeat;
  padding-left: 38px;
  line-height: 1.2; }
  @media screen and (max-width: 680px) {
    .event-spotlight-date {
      margin-bottom: 10px;
      font-size: 1.25rem; } }

.event-spotlight-event-title {
  font-size: 2.1875rem;
  color: #10487a;
  margin-bottom: 20px;
  line-height: 1.2; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event-title {
      font-size: 1.75rem; } }

.event-spotlight-event-text p {
  color: #041120;
  font-size: 20px;
  margin-right: 50px;
  margin-bottom: 50px; }
  .event-spotlight-event-text p a {
    color: #f37324;
    text-decoration: underline; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event-text p {
      font-size: 1rem;
      margin-right: 0; } }

.event-spotlight-event-buttons {
  display: flex;
  gap: 14px; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event-buttons {
      display: block; }
      .event-spotlight-event-buttons a:not(:last-child) {
        margin-bottom: 14px; } }

.node-type-index-page .accessibility .breadcrumb {
  display: none; }

.node-type-index-page .breadcrumbs {
  display: none; }

.node-type-index-page article.index-page section.breadcrumb-container {
  background: #EFEFEF; }
  .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb {
    align-items: center;
    display: flex;
    float: unset;
    height: 2.9375rem;
    margin: 0 auto;
    max-width: 77.5rem;
    position: initial;
    text-transform: capitalize;
    width: 100%; }
    @media screen and (max-width: 1200px) {
      .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb {
        padding-left: 1.5rem; } }
    @media screen and (max-width: 680px) {
      .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb {
        padding-left: 0.75rem; } }
    .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb a {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.5;
      text-decoration-line: underline; }
      @media screen and (max-width: 680px) {
        .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb a {
          font-size: 0.5rem; } }
    .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb .separator {
      background-image: url("../../images/build/angle-right");
      background-size: 6px;
      background-repeat: no-repeat;
      width: 10px;
      height: 12px;
      margin: 0 8px; }
    .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb .active-trail {
      color: #10487a;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.5; }

@media screen and (max-width: 680px) {
  .node-type-index-page article.index-page .view-filters {
    background: #f37324; }
    .node-type-index-page article.index-page .view-filters:not(.mobile-toggled) {
      position: initial; }
    .node-type-index-page article.index-page .view-filters-inner {
      padding: 31px 0 32px; } }

.node-type-index-page .index-wrap {
  position: relative;
  background: #FBF9F8;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .node-type-index-page .index-wrap:before {
    content: '';
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(71, 69, 69, 0.15);
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear;
    pointer-events: none; }
  .node-type-index-page .index-wrap .view-content,
  .node-type-index-page .index-wrap .view-empty {
    padding: 96px 0 70px; }
    .node-type-index-page .index-wrap .view-content::after,
    .node-type-index-page .index-wrap .view-empty::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 768px) {
      .node-type-index-page .index-wrap .view-content,
      .node-type-index-page .index-wrap .view-empty {
        padding: 70px 0 45px; } }
    @media screen and (max-width: 680px) {
      .node-type-index-page .index-wrap .view-content,
      .node-type-index-page .index-wrap .view-empty {
        padding: 24px 0 88px 0; } }
  .node-type-index-page .index-wrap.filter-on-focus:before {
    opacity: 1;
    z-index: 10;
    pointer-events: auto; }

.node-type-index-page .view-news-publications .view-content {
  padding: 85px 0 40px;
  position: relative;
  display: block;
  clear: both;
  width: 100% !important; }
  @media screen and (max-width: 680px) {
    .node-type-index-page .view-news-publications .view-content {
      width: 100% !important; } }
  @media screen and (max-width: 680px) {
    .node-type-index-page .view-news-publications .view-content .card {
      transition: none;
      width: calc(100% - 40px) !important;
      margin: 0 20px 20px;
      background: #FBF9F8;
      clear: both;
      float: none; } }

.node-type-index-page .view-past-events {
  padding: 0 0 25px;
  background-color: #fff; }
  .node-type-index-page .view-past-events .view-block {
    background-color: #fff; }
  .node-type-index-page .view-past-events .view-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 23px 20px; }

.node-type-index-page .view-upcoming-events .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 23px 20px; }

.node-type-index-page .view-our-team {
  padding-bottom: 58px; }
  .node-type-index-page .view-our-team .view-filters-inner {
    padding: 31px 100px 32px; }
  .node-type-index-page .view-our-team .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px 40px;
    margin: 0 auto;
    max-width: 998px;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .node-type-index-page .view-our-team .view-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 24px; } }

.node-type-index-page .fancybox-arrow {
  height: 42px;
  width: 42px;
  border-radius: 50%;
  opacity: 1;
  background: url("../../images/build/slide-arrow-next.png") no-repeat center #FFF;
  background-size: 8px auto; }
  .node-type-index-page .fancybox-arrow:after {
    content: none; }
  .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
    left: 10%; }
  .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
    right: 13%; }
  @media screen and (max-width: 1200px) {
    .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
      left: 30px; }
    .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
      right: 50px; } }
  @media screen and (max-width: 768px) {
    .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
      left: 15px; }
    .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
      right: 30px; } }
  @media screen and (max-width: 680px) {
    .node-type-index-page .fancybox-arrow {
      height: 35px;
      width: 35px; }
      .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
        left: 5px; }
      .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
        right: 20px; } }

@media screen and (max-width: 680px) {
  .node-type-index-page .focus-area-header {
    padding: 140px 30px 32px 20px; }
    .node-type-index-page .focus-area-header:before {
      height: 774px;
      width: 774px;
      left: -300px;
      right: inherit;
      top: 450px; }
    .node-type-index-page .focus-area-header:after {
      content: none; }
    .node-type-index-page .focus-area-header .content {
      padding: 0;
      width: 100%;
      max-width: 320px; }
    .node-type-index-page .focus-area-header p {
      font-size: 12px;
      display: block;
      line-height: 1.5; } }

.node-type-index-page .empty-index {
  padding: 100px 0 80px; }
  .node-type-index-page .empty-index p {
    font-size: 1.4375em;
    text-transform: capitalize;
    margin-bottom: 0;
    font-weight: lighter; }
  @media screen and (max-width: 680px) {
    .node-type-index-page .empty-index {
      padding: 45px 20px; }
      .node-type-index-page .empty-index p {
        font-size: 0.9375em; } }

.node-type-index-page .select2-container--open .select2-dropdown--below,
.node-type-index-page .select2-container--open .select2-dropdown--above {
  min-width: 400px !important; }

.view-empty {
  font-size: 1.4375rem;
  font-weight: 500;
  text-transform: capitalize; }
  .view-empty p {
    font-size: 1.4375rem;
    font-weight: 500;
    text-transform: capitalize; }
  @media screen and (max-width: 680px) {
    .view-empty {
      font-size: 1.125rem; }
      .view-empty p {
        font-size: 1.125rem; } }

.page-node-28 #select2-edit-sort-by-results li:first-child {
  display: none !important; }

.view-training-consulting .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
  gap: 23px 32px; }

.view-news-publications {
  padding-bottom: 15px;
  background-color: #F7F9FC; }
  .view-news-publications-kards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
    gap: 23px 32px; }

.view-block {
  background-color: #F7F9FC; }
  .view-our-members .view-block {
    background-color: #fff; }

.view-our-members {
  background-color: #fff;
  padding: 0 0 50px; }
  .view-our-members .view-filters-inner {
    padding: 31px 120px 32px; }
    @media screen and (max-width: 1200px) {
      .view-our-members .view-filters-inner {
        padding: 31px 60px 32px; } }
    @media screen and (max-width: 768px) {
      .view-our-members .view-filters-inner {
        padding: 31px 0 32px; } }
  @media screen and (max-width: 768px) {
    .view-our-members .view-filters {
      position: static; } }
  .view-our-members .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px; }
    @media screen and (max-width: 680px) {
      .view-our-members .view-content {
        grid-template-columns: repeat(1, 1fr); } }
    .node-type-index-page .view-our-members .view-content {
      padding: 96px 120px 70px; }
      @media screen and (max-width: 1200px) {
        .node-type-index-page .view-our-members .view-content {
          padding: 96px 60px 70px; } }
      @media screen and (max-width: 768px) {
        .node-type-index-page .view-our-members .view-content {
          padding: 70px 0 45px; } }
      @media screen and (max-width: 680px) {
        .node-type-index-page .view-our-members .view-content {
          padding: 45px 54px; } }

.view-sponsorships .view-content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; }

.donate-page {
  position: relative; }
  .donate-page .donate-intro {
    font-size: 0.875rem;
    max-width: 530px;
    margin-bottom: 52px; }
  .donate-page .bottom-text {
    text-align: center;
    font-size: 1.0625rem;
    margin-top: 45px;
    font-weight: 500; }
    .donate-page .bottom-text p {
      margin-bottom: 0; }
    .donate-page .bottom-text a {
      color: #F2743A; }
  .donate-page .bottom-text-2 {
    font-size: 0.875rem;
    text-align: center;
    margin-top: 30px; }
  @media screen and (max-width: 768px) {
    .donate-page {
      padding: 0 0; } }
  @media screen and (max-width: 680px) {
    .donate-page h1 {
      font-size: 2rem;
      margin-bottom: 1rem;
      line-height: 1.15;
      letter-spacing: -0.77px; }
    .donate-page .donate-intro {
      margin-bottom: 35px; }
    .donate-page .bottom-text {
      margin-top: 25px;
      font-size: 0.9375rem; } }

.donate-page-inner {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 82.97872%;
  margin-left: 8.51064%; }
  .donate-page-inner:last-child {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .donate-page-inner {
      width: 100%;
      margin: 0 !important; } }

.donate-option-monthly {
  clear: both;
  position: relative;
  padding: 58px 45px;
  margin-bottom: 26px; }
  .donate-option-monthly:before {
    content: '';
    opacity: 0.15;
    background: #000;
    border-radius: 50%;
    height: 117px;
    width: 117px;
    margin: auto;
    -webkit-filter: blur(42px);
    filter: blur(42px);
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0; }
  .donate-option-monthly .inner {
    position: relative;
    z-index: 2; }
    .donate-option-monthly .inner::after {
      clear: both;
      content: "";
      display: table; }
  .donate-option-monthly h2 {
    float: left;
    margin: 5px 0 0;
    font-size: 1.5em; }
  .donate-option-monthly .monthly-form-wrap {
    text-align: right;
    margin-left: 1%;
    float: right; }
  .donate-option-monthly .currency {
    display: inline-block;
    vertical-align: middle;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.39;
    letter-spacing: -0.53px;
    margin-right: 1%; }
  .donate-option-monthly .amount-monthly-select-wrapper {
    display: inline-block;
    vertical-align: middle;
    width: 40%;
    max-width: 138px;
    height: 52px;
    border-radius: 100px;
    background: #FFF;
    text-align: center; }
  .donate-option-monthly .amount-monthly-select {
    border: 0;
    color: #FC682D;
    font-size: 1.875rem;
    font-weight: 600;
    padding: 5px 0 0;
    background: #FFF;
    outline: 0;
    visibility: visible; }
  .donate-option-monthly .donate-link {
    display: inline-block;
    vertical-align: middle;
    margin-left: 5%;
    padding: 14px 21px 11px; }
  @media screen and (max-width: 680px) {
    .donate-option-monthly {
      padding: 25px 20px 50px;
      margin-top: 60px; }
      .donate-option-monthly h2 {
        width: 40%;
        font-size: 0.9375em; }
      .donate-option-monthly .monthly-form-wrap {
        text-align: left;
        width: calc(100% - 41%); }
      .donate-option-monthly .currency {
        display: block;
        font-size: 1.125rem;
        font-weight: 500;
        padding-left: 18px;
        margin-bottom: 5px; }
      .donate-option-monthly .amount-monthly-select-wrapper {
        width: 140px; }
      .donate-option-monthly .amount-monthly-select {
        font-size: 1.625rem; }
      .donate-option-monthly .donate-link {
        position: absolute;
        left: 0;
        bottom: -15px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #FFF;
        line-height: 1;
        border: 0;
        margin: 0;
        padding: 0;
        box-shadow: none; } }

.rhm-donation-form {
  background: #FFF;
  width: 590px;
  max-width: 100%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: left;
  padding: 65px 50px 35px;
  background: url("../../images/build/pig.jpg") no-repeat calc(100% - 17px) -5px #FFF; }
  @media screen and (max-width: 680px) {
    .rhm-donation-form {
      padding: 25px; } }
  .rhm-donation-form .form-header {
    margin-bottom: 30px; }
  .rhm-donation-form h2 {
    font-size: 1.125rem;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0; }
  .rhm-donation-form .donate-amount {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    height: 30px;
    padding: 0;
    margin: 0;
    border: 0;
    font-size: 1.875rem;
    color: #FC682D;
    font-weight: 600;
    position: relative;
    text-align: left;
    background: none !important; }
  .rhm-donation-form fieldset {
    border: 0;
    max-width: 320px;
    padding: 15px 0; }
    @media screen and (max-width: 768px) {
      .rhm-donation-form fieldset {
        max-width: 100%; } }
    @media screen and (max-width: 680px) {
      .rhm-donation-form fieldset {
        padding: 10px 0; } }
  .rhm-donation-form legend {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.25em;
    border-bottom: 1px solid #C9C9C9;
    width: 100%;
    color: #474545; }
  .rhm-donation-form .input-wrap {
    margin-bottom: 15px; }
    .rhm-donation-form .input-wrap.half {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .rhm-donation-form .input-wrap.half:last-child {
        margin-right: 0; }
      @media screen and (max-width: 680px) {
        .rhm-donation-form .input-wrap.half {
          width: 100%;
          margin-right: 0; } }
    .rhm-donation-form .input-wrap.full {
      width: 100%; }
    .rhm-donation-form .input-wrap.omega {
      margin-right: 0; }
    .rhm-donation-form .input-wrap input {
      width: 100%;
      border: 1px solid #EAE9EC;
      border-radius: 3px;
      font-size: 0.8125rem;
      padding: 7px 10px; }
    @media screen and (max-width: 680px) {
      .rhm-donation-form .input-wrap {
        margin-bottom: 8px; } }
  .rhm-donation-form label {
    font-size: 0.6875rem;
    font-weight: normal;
    padding-left: 5px;
    color: #666262; }
  .rhm-donation-form input[type="reset"] {
    display: none; }

.donate-success {
  font-size: 1.375rem;
  padding: 70px; }

.donate-top {
  background-color: #dce4ec; }

.donate-top-inner {
  text-align: center;
  padding: 66px 0 79px; }
  @media screen and (max-width: 680px) {
    .donate-top-inner {
      padding: 32px 0 48px; } }

.donate-title {
  font-size: 3.05187rem;
  color: #10487a;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: normal; }

.donate-desc {
  font-size: 1.25rem;
  font-weight: 400;
  color: #041120;
  max-width: 969px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 680px) {
    .donate-desc {
      font-size: 1rem;
      line-height: 1.5; } }
  .donate-desc br {
    display: none; }

.donate-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 41px;
  padding: 0 12px;
  margin-top: 86px; }
  @media screen and (max-width: 768px) {
    .donate-options {
      padding: 0;
      gap: 20px; } }
  @media screen and (max-width: 680px) {
    .donate-options {
      display: block;
      margin-top: 2.5rem; } }

.donate-option {
  position: relative;
  background-color: #fff;
  border-radius: 19px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 329px;
  padding: 41px 0 0; }
  @media screen and (max-width: 768px) {
    .donate-option {
      min-height: 302px;
      padding: 20px 0 0; } }
  @media screen and (max-width: 680px) {
    .donate-option {
      margin-bottom: 1rem; } }

.donate-icon {
  display: block;
  width: 89px;
  height: 72px;
  flex-shrink: 0;
  margin-bottom: 24px; }
  .donate-icon img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover; }

.donate-amount {
  font-size: 2rem;
  color: #f37324;
  font-weight: 700;
  margin-bottom: 10px;
  display: block; }

.donate-value {
  margin-bottom: 29px; }

.donate-input[type="text"] {
  width: 142px;
  height: 38px;
  border: 1px solid #10487a;
  border-radius: 3px;
  font-size: 0.75rem;
  font-family: "Poppins", sans-serif;
  color: #10487a;
  text-align: center;
  padding: 0; }
  .donate-input[type="text"]::placeholder {
    font-size: 0.75rem;
    color: #10487a;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    text-transform: uppercase; }

.donate-currency {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 25px;
  display: block; }

.donate-cta {
  font-weight: 400;
  padding: 8px 23px 6px 16px;
  font-size: 1rem; }
  .donate-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  .donate-cta::after {
    margin-left: 9px; }

.donate-bottom {
  background-color: #10487a; }

.donate-bottom-inner {
  padding: 72px 0 95px; }
  @media screen and (max-width: 680px) {
    .donate-bottom-inner {
      padding: 32px 0 16px; } }

.donate-subtitle {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 25px;
  line-height: 1.5;
  letter-spacing: normal;
  color: #fff; }
  @media screen and (max-width: 680px) {
    .donate-subtitle {
      font-size: 1.75rem;
      line-height: 1.3; } }

.donate-par p {
  font-size: 1rem;
  color: #fff;
  margin-bottom: 0;
  line-height: normal; }
  @media screen and (max-width: 680px) {
    .donate-par p {
      font-size: 0.75rem;
      line-height: 1.62;
      letter-spacing: -0.439024px; } }

.block-commerce-checkout-progress {
  background: #FBF9F8;
  overflow: hidden;
  color: #999; }
  .block-commerce-checkout-progress .block-inner {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 16px 0 14px; }
    .block-commerce-checkout-progress .block-inner::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .block-commerce-checkout-progress .block-inner {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .block-commerce-checkout-progress .block-inner::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .block-commerce-checkout-progress .block-inner {
        padding: 16px 35px 14px; } }
    @media screen and (max-width: 680px) {
      .block-commerce-checkout-progress .block-inner {
        text-align: center;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 9px 20px 7px; }
        .block-commerce-checkout-progress .block-inner::after {
          clear: both;
          content: "";
          display: table; } }
  .block-commerce-checkout-progress .content {
    font-size: 0.6875rem; }
  .block-commerce-checkout-progress .item-list {
    height: 27px; }

.item-list ul.commerce-checkout-progress {
  counter-reset: progress-counter;
  overflow: hidden; }
  .item-list ul.commerce-checkout-progress li {
    font-weight: 400;
    border: 0;
    margin: 0 19px;
    background: none; }
    .item-list ul.commerce-checkout-progress li.first {
      margin-left: 0; }
    .item-list ul.commerce-checkout-progress li:before {
      content: counter(progress-counter);
      counter-increment: progress-counter;
      background: #EAEAEA;
      color: #FFF;
      font-size: 0.84375rem;
      font-weight: 700;
      width: 27px;
      height: 27px;
      border-radius: 50%;
      display: inline-block;
      text-align: center;
      padding: 4px;
      margin-right: 10px; }
    .item-list ul.commerce-checkout-progress li.active {
      color: #FC682D; }
      .item-list ul.commerce-checkout-progress li.active:before {
        background: #FC682D; }
    .item-list ul.commerce-checkout-progress li a {
      font-size: 0.6875rem;
      color: #999; }
  @media screen and (max-width: 768px) {
    .item-list ul.commerce-checkout-progress li {
      font-size: 0;
      font-weight: 500;
      margin: 0 15px;
      padding-right: 5px; }
      .item-list ul.commerce-checkout-progress li a {
        font-size: 0; }
      .item-list ul.commerce-checkout-progress li.active {
        font-size: 0.75rem; }
      .item-list ul.commerce-checkout-progress li:first-of-type {
        margin-left: 0; } }
  @media screen and (max-width: 680px) {
    .item-list ul.commerce-checkout-progress {
      text-align: center;
      display: inline-block; }
      .item-list ul.commerce-checkout-progress li {
        height: 27px;
        width: 27px;
        margin: 0 7.5px;
        padding: 0;
        display: inline-block; }
        .item-list ul.commerce-checkout-progress li a, .item-list ul.commerce-checkout-progress li.active {
          font-size: 0; } }

.view-commerce-cart-form {
  background-color: #dce4ec;
  padding: 30px 0 62px; }
  @media screen and (max-width: 1200px) {
    .view-commerce-cart-form {
      padding: 30px 20px 62px; } }
  .view-commerce-cart-form .view-cart-inner {
    background-color: #fff;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    border-radius: 20px;
    padding: 0 103px; }
    @media screen and (max-width: 1200px) {
      .view-commerce-cart-form .view-cart-inner {
        padding: 0 50px; } }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .view-cart-inner {
        padding: 0 20px; } }
  .view-commerce-cart-form .view-header {
    padding: 50px 0 41px; }
  .view-commerce-cart-form .view-content {
    padding-bottom: 100px; }
  @media screen and (max-width: 1440px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 1200px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; }
      .view-commerce-cart-form .view-content.view-header,
      .view-commerce-cart-form .view-header.view-header {
        padding: 35px 0; }
      .view-commerce-cart-form .view-content.view-content,
      .view-commerce-cart-form .view-header.view-content {
        padding-bottom: 50px; } }
  @media screen and (max-width: 680px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; }
      .view-commerce-cart-form .view-content.view-header,
      .view-commerce-cart-form .view-header.view-header {
        padding: 26px 0 16px; }
      .view-commerce-cart-form .view-content.view-content,
      .view-commerce-cart-form .view-header.view-content {
        padding: 0 0 18px; } }
  .view-commerce-cart-form .attachment {
    clear: both; }
    .view-commerce-cart-form .attachment a {
      display: none; }
  .view-commerce-cart-form form {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 74.46809%;
    position: relative; }
    .view-commerce-cart-form form:last-child {
      margin-right: 0; }
    .view-commerce-cart-form form table {
      width: 100%;
      margin: 0 0 31px; }
    .view-commerce-cart-form form thead th {
      font-size: 0.6875em;
      text-transform: lowercase;
      color: #666262;
      line-height: 1.45;
      padding: 5px 0; }
    .view-commerce-cart-form form tbody tr {
      padding: 0; }
      .view-commerce-cart-form form tbody tr.type-Free.Ticket .delete-line-item,
      .view-commerce-cart-form form tbody tr.type-Free.Ticket .form-type-textfield {
        display: none; }
      .view-commerce-cart-form form tbody tr.hide {
        display: none; }
    .view-commerce-cart-form form tbody td {
      padding: 18px 0 15px; }
    @media screen and (max-width: 1200px) {
      .view-commerce-cart-form form {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 100%; }
        .view-commerce-cart-form form:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form form table {
        margin: 0 0 15px; }
      .view-commerce-cart-form form thead th {
        padding: 0 0 4px; }
      .view-commerce-cart-form form .views-field-commerce-total,
      .view-commerce-cart-form form .views-field-views-conditional-1,
      .view-commerce-cart-form form .views-field-views-conditional-2 {
        display: none; }
      .view-commerce-cart-form form tbody td {
        padding: 18px 0 5px; } }
  .view-commerce-cart-form h2 {
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 0;
    line-height: 1.25;
    letter-spacing: -0.7px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form h2 {
        font-size: 1.25rem; } }
  .view-commerce-cart-form h3 {
    font-weight: 500;
    font-size: 0.9375rem;
    margin-bottom: -3px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form h3 {
        font-size: 0.875rem; } }
  .view-commerce-cart-form .ticket-name {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.04em; }
  .view-commerce-cart-form input.delete-line-item {
    background: none;
    border: 0;
    color: #FC682D;
    padding: 0;
    font-size: 0.75em;
    text-transform: lowercase;
    font-weight: normal; }
  .view-commerce-cart-form .views-field-nothing {
    width: 65%;
    min-width: 300px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .views-field-nothing {
        min-width: inherit;
        width: calc(100% - 70px); } }
  .view-commerce-cart-form .views-field-edit-quantity {
    width: 180px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center; }
    .view-commerce-cart-form .views-field-edit-quantity .form-item {
      border: 1px solid #EAE9EC;
      padding: 6px 0;
      border-radius: 3px;
      height: 38px;
      width: 100px;
      margin: 0 auto; }
    .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link {
      margin-top: -5px; }
      .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link a {
        color: #FC572D;
        font-weight: 600; }
        .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link a:hover {
          background: 0;
          color: #FC572D; }
      .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link.commerce-quantity-plusminus-link-disabled:not(.commerce-quantity-plusminus-link-increase) {
        opacity: 0.4; }
        .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link.commerce-quantity-plusminus-link-disabled:not(.commerce-quantity-plusminus-link-increase) a {
          cursor: default;
          pointer-events: none; }
    .view-commerce-cart-form .views-field-edit-quantity .form-text {
      border: 0;
      background: 0;
      border-left: 1px solid #EAEAEA;
      border-right: 1px solid #EAEAEA;
      width: 33.33px;
      text-align: center;
      padding: 1px 0; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .views-field-edit-quantity {
        width: 50px;
        text-align: left;
        padding: 0; }
        .view-commerce-cart-form .views-field-edit-quantity .form-item {
          position: relative;
          border: 1px solid #EAE9EC;
          padding: 5px 0;
          height: 40px;
          width: 50px; }
        .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link {
          position: absolute;
          top: 5px;
          right: 5px;
          height: 14px;
          width: 14px; }
          .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link.commerce-quantity-plusminus-link-decrease {
            top: inherit;
            bottom: 9px; }
          .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link a {
            padding: 0;
            margin: 0;
            font-weight: 400;
            height: 14px;
            width: 14px;
            border-radius: 0;
            position: absolute;
            top: 0;
            left: 0; }
        .view-commerce-cart-form .views-field-edit-quantity .form-text {
          border: 0;
          width: 20px;
          margin-left: 8px; } }
  .view-commerce-cart-form th.views-field-commerce-total,
  .view-commerce-cart-form th.views-field-views-conditional-1,
  .view-commerce-cart-form th.views-field-views-conditional-2 {
    text-align: right;
    padding-right: 20px; }
  .view-commerce-cart-form td.views-field-commerce-total,
  .view-commerce-cart-form td.views-field-views-conditional-1,
  .view-commerce-cart-form td.views-field-views-conditional-2 {
    font-weight: 600;
    font-size: 1rem;
    text-align: right;
    color: #3B3535;
    padding-top: 24px;
    padding-right: 10px; }
  .view-commerce-cart-form td.views-field-edit-quantity {
    padding: 23px 0 10px; }
  .view-commerce-cart-form .membership-or-publication-line-item .form-type-value,
  .view-commerce-cart-form .membership-or-publication-line-item .commerce-quantity-plusminus-link,
  .view-commerce-cart-form .type-Discount .form-type-value,
  .view-commerce-cart-form .type-Discount .commerce-quantity-plusminus-link,
  .view-commerce-cart-form .Coupon .form-type-value,
  .view-commerce-cart-form .Coupon .commerce-quantity-plusminus-link {
    display: none; }
  .view-commerce-cart-form .membership-or-publication-line-item .views-field-edit-quantity .form-item,
  .view-commerce-cart-form .type-Discount .views-field-edit-quantity .form-item,
  .view-commerce-cart-form .Coupon .views-field-edit-quantity .form-item {
    border: 0; }
  .view-commerce-cart-form .membership-or-publication-line-item .views-field-edit-quantity .form-text,
  .view-commerce-cart-form .type-Discount .views-field-edit-quantity .form-text,
  .view-commerce-cart-form .Coupon .views-field-edit-quantity .form-text {
    border-left: 0;
    border-right: 0;
    font-size: 16px;
    pointer-events: none;
    color: #3B3535; }
  .view-commerce-cart-form .line-item-summary {
    margin: 23px 0 0;
    position: absolute;
    right: 130px; }
    .view-commerce-cart-form .line-item-summary span {
      display: inline-block;
      vertical-align: middle; }
    .view-commerce-cart-form .line-item-summary .line-item-total-label {
      font-size: 0.875em;
      font-weight: 500;
      color: #545151;
      line-height: 1.4;
      letter-spacing: -0.41px;
      text-transform: lowercase; }
    .view-commerce-cart-form .line-item-summary .line-item-total-raw {
      font-size: 1.5em;
      font-weight: 600;
      line-height: 1.25;
      color: #474545;
      letter-spacing: -0.7px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .line-item-summary {
        margin: 0;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit;
        width: calc(100% - 110px);
        display: inline-block;
        vertical-align: middle;
        text-align: left; }
        .view-commerce-cart-form .line-item-summary .line-item-total-raw {
          font-size: 1.25rem; } }
  .view-commerce-cart-form .form-actions {
    float: right;
    margin: 17px 0 0 4%; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .form-actions {
        display: block;
        vertical-align: middle;
        float: none;
        margin: 15px 0 0 0;
        text-align: left; } }
  .view-commerce-cart-form #edit-checkout {
    background: #10487a;
    color: #FFF;
    outline: none;
    border: 0;
    font-size: 0.9375rem;
    font-weight: 400;
    border: 1px solid #10487a; }
    .view-commerce-cart-form #edit-checkout:hover {
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12);
      background: #fff;
      color: #10487a;
      border: 1px solid #10487a; }
  .view-commerce-cart-form .visa-mastercard {
    display: block;
    height: 31px; }
    @media (min-width: 680px) {
      .view-commerce-cart-form .visa-mastercard {
        position: absolute;
        right: 6px;
        bottom: 78px; } }
  .view-commerce-cart-form #edit-submit,
  .view-commerce-cart-form #edit-submit--4 {
    display: none; }
  .view-commerce-cart-form #edit-coupon-code,
  .view-commerce-cart-form #edit-coupon-code--2 {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 40.42553%; }
    .view-commerce-cart-form #edit-coupon-code:last-child,
    .view-commerce-cart-form #edit-coupon-code--2:last-child {
      margin-right: 0; }
    .view-commerce-cart-form #edit-coupon-code .form-item,
    .view-commerce-cart-form #edit-coupon-code--2 .form-item {
      margin: 0; }
    .view-commerce-cart-form #edit-coupon-code .form-submit,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit {
      font-weight: 600;
      padding: 11px 14px 9px;
      border: 1px solid #FC572D;
      box-shadow: none; }
      .view-commerce-cart-form #edit-coupon-code .form-submit:hover,
      .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover {
        font-weight: 600;
        color: #FC572D;
        box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .view-commerce-cart-form #edit-coupon-code .form-item-input-coupon-code,
    .view-commerce-cart-form #edit-coupon-code--2 .form-item-input-coupon-code {
      display: inline-block;
      width: 70%; }
    .view-commerce-cart-form #edit-coupon-code label,
    .view-commerce-cart-form #edit-coupon-code--2 label {
      height: auto;
      color: #666262;
      font-size: 0.6875em;
      font-weight: normal;
      margin-left: 10px;
      position: relative !important; }
      .view-commerce-cart-form #edit-coupon-code label .form-required,
      .view-commerce-cart-form #edit-coupon-code--2 label .form-required {
        display: none; }
    .view-commerce-cart-form #edit-coupon-code input[type="text"],
    .view-commerce-cart-form #edit-coupon-code--2 input[type="text"] {
      padding: 10px 11px;
      font-size: 0.875em;
      font-weight: 500;
      color: #545151;
      line-height: 1.4;
      letter-spacing: -0.41px;
      border: 1px solid #EAE9EC;
      border-radius: 3px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form #edit-coupon-code,
      .view-commerce-cart-form #edit-coupon-code--2 {
        display: inline-block;
        width: 100%;
        float: none;
        margin: 0 0 15px; }
        .view-commerce-cart-form #edit-coupon-code .form-submit,
        .view-commerce-cart-form #edit-coupon-code--2 .form-submit {
          margin-top: 1px;
          float: right;
          min-width: 93px; }
        .view-commerce-cart-form #edit-coupon-code .form-item-input-coupon-code,
        .view-commerce-cart-form #edit-coupon-code--2 .form-item-input-coupon-code {
          width: calc(100% - 120px); }
        .view-commerce-cart-form #edit-coupon-code label,
        .view-commerce-cart-form #edit-coupon-code--2 label {
          display: none; } }
  .view-commerce-cart-form .form-item-buyer-is-guest {
    clear: both;
    font-size: 0.875rem;
    border: 1px solid #FC682D;
    padding: 20px;
    margin-bottom: 30px; }
    @media (min-width: 680px) {
      .view-commerce-cart-form .form-item-buyer-is-guest {
        width: calc(100% - 132px);
        position: relative;
        top: 30px; } }
    .view-commerce-cart-form .form-item-buyer-is-guest label {
      color: #3B3535;
      font-size: 0.9375rem; }
    .view-commerce-cart-form .form-item-buyer-is-guest .description {
      font-size: 0.75rem;
      opacity: 0.8;
      padding: 0;
      margin: 0;
      padding-top: 10px; }

#commerce-checkout-form-review {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 0; }
  #commerce-checkout-form-review::after {
    clear: both;
    content: "";
    display: table; }
  #commerce-checkout-form-review #edit-customer-profile-billing {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    #commerce-checkout-form-review #edit-customer-profile-billing:last-child {
      margin-right: 0; }
  #commerce-checkout-form-review #edit-cart-contents {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%;
    margin-left: 17.02128%;
    margin-right: 0; }
    #commerce-checkout-form-review #edit-cart-contents:last-child {
      margin-right: 0; }

.cart-empty-page {
  font-size: 1.5625em;
  font-weight: lighter;
  text-transform: uppercase;
  padding: 70px 0;
  min-height: calc(100vh - 400px);
  max-width: 960px;
  margin-left: auto;
  margin-right: auto; }
  .cart-empty-page::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 1440px) {
    .cart-empty-page {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .cart-empty-page::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .cart-empty-page {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .cart-empty-page::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .cart-empty-page {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .cart-empty-page::after {
        clear: both;
        content: "";
        display: table; } }

.cart-pricing-info {
  font-size: 0.875em;
  margin-bottom: 15px; }

#commerce-checkout-form-complete .no-event .event-message,
#commerce-checkout-form-complete .no-membership .membership-message,
#commerce-checkout-form-complete .no-publication .publication-message {
  display: none; }

.form-item-commerce-payment-payment-details-credit-card-cardonfile-store {
  overflow: hidden;
  clear: both; }

.payment-redirect-form {
  background-color: #dce4ec;
  padding: 80px 0;
  text-align: center; }
  .payment-redirect-form .checkout-help {
    max-width: 550px;
    margin: 0 auto 50px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane {
  padding-bottom: 20px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane fieldset {
  margin-bottom: 20px;
  border: 1px solid #FB763F;
  padding: 0; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane legend {
  background: #FB763F;
  color: #FFF;
  width: calc(100% + 2px);
  padding: 5px 10px;
  font-weight: 600;
  margin-left: -1px;
  margin-right: -1px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane label {
  font-size: 0.875rem;
  font-weight: 400; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane .fieldset-wrapper {
  display: flex;
  flex-wrap: wrap;
  border: 0;
  padding: 10px 20px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane .form-item {
  flex: 0 0 calc(50% - 10px); }
  #commerce-checkout-form-guest-details .checkout-signin-signup-pane .form-item:nth-child(2n-1) {
    margin-right: 20px; }

#commerce-checkout-form-guest-details .checkout-buttons {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  border: 0;
  padding-bottom: 100px;
  text-align: center; }
  #commerce-checkout-form-guest-details .checkout-buttons::after {
    clear: both;
    content: "";
    display: table; }
  #commerce-checkout-form-guest-details .checkout-buttons input:not(#edit-continue),
  #commerce-checkout-form-guest-details .checkout-buttons .button-operator {
    display: none; }

.checkout_payment_method {
  background-color: #dce4ec; }

.cart-checkout {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 94px 0 94px; }
  @media screen and (max-width: 1200px) {
    .cart-checkout {
      padding: 94px 20px 94px; } }
  @media screen and (max-width: 680px) {
    .cart-checkout {
      padding: 45px 20px; } }
  .cart-checkout-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-left: 103px; }
    @media screen and (max-width: 1200px) {
      .cart-checkout-inner {
        padding-left: 0; } }
    @media screen and (max-width: 768px) {
      .cart-checkout-inner {
        flex-direction: column;
        gap: 20px 0; } }
  .cart-checkout-col-left {
    flex-shrink: 0;
    max-width: 468px;
    width: 43%; }
    @media screen and (max-width: 768px) {
      .cart-checkout-col-left {
        max-width: 100%;
        width: 100%; } }
  .cart-checkout-col-right {
    max-width: 383px;
    width: 40.9%;
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    padding: 38px 31px 10px;
    min-height: 361px; }
    @media screen and (max-width: 1200px) {
      .cart-checkout-col-right {
        padding: 38px 15px 10px; } }
    @media screen and (max-width: 768px) {
      .cart-checkout-col-right {
        max-width: 100%;
        width: 100%; } }
  .cart-checkout-heading {
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 67px;
    text-transform: capitalize;
    letter-spacing: -0.03em; }
    .cart-checkout-personal-detail .cart-checkout-heading {
      margin-bottom: 36px; }
  .cart-checkout-subheading {
    font-size: 0.6875rem;
    color: #10487a;
    text-transform: uppercase;
    border-bottom: 1px solid #10487a;
    margin-bottom: 17px;
    font-weight: 400;
    letter-spacing: 0.27em; }
  .cart-checkout-choices {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(225px, 1fr));
    gap: 0 15px; }
  .cart-checkout-item {
    display: flex;
    flex-direction: column;
    background-color: #10487a;
    border-radius: 10px;
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff;
    min-height: 113px;
    padding: 33px 20px 0;
    letter-spacing: -0.03em;
    text-transform: capitalize; }
    .cart-checkout-item-desc {
      color: #fff;
      font-size: 0.6875rem;
      font-weight: 400;
      letter-spacing: normal; }
  .cart-checkout .view-block {
    background-color: #fff; }
  .cart-checkout-mobile-btn {
    display: none;
    font-size: 0.75rem;
    color: #474545;
    cursor: pointer;
    position: absolute;
    top: 15px;
    right: 20px; }
    @media screen and (max-width: 680px) {
      .cart-checkout-mobile-btn {
        display: block; } }
  .cart-checkout-mobile-close {
    display: none;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 500;
    color: #545151;
    line-height: 1.25;
    padding-right: 15px;
    background: url("../../images/build/close-dark-2.png") no-repeat right center;
    background-size: 9px auto;
    position: absolute;
    top: 18px;
    right: 20px; }
    @media screen and (max-width: 680px) {
      .cart-checkout-mobile-close {
        display: block; } }
  .cart-checkout input[type="text"] {
    border-color: #10487a;
    border-width: 1px; }
  .cart-checkout .customer_profile_billing .select2 .select2-selection {
    border-color: #10487a !important; }
  .cart-checkout .customer_profile_billing .form-item label {
    color: #10487a !important; }
  .cart-checkout .checkout_terms_and_conditions .terms-link {
    color: #10487a; }
  .cart-checkout .iradio,
  .cart-checkout .icheckbox {
    border-color: #10487a !important; }

.checkout_personal_details_opening {
  background-color: #dce4ec; }
  .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger) {
    position: relative;
    float: left;
    display: block;
    margin-right: 4.34783%;
    width: 47.82609%;
    background: url("../../images/build/use-modal.png") no-repeat center;
    background-size: cover;
    padding: 34px 20px;
    z-index: 1;
    font-size: 1.125em;
    color: #FFF;
    font-weight: 600;
    line-height: 1.24;
    letter-spacing: -0.53px;
    text-align: left; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger):last-child {
      margin-right: 0; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger):before {
      content: '';
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(242, 116, 58, 0.93);
      z-index: -1; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger) span {
      display: block;
      text-transform: lowercase;
      margin-top: 5px;
      font-size: 0.6875em;
      font-weight: normal; }
  @media screen and (max-width: 680px) {
    .checkout_personal_details_opening.checkout-signin-signup-pane > div {
      text-align: center; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link) {
      width: 205px;
      display: block;
      float: none;
      margin: 0 auto 20px !important; }
      .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):last-of-type {
        margin-bottom: 0 !important; } }
  .checkout_personal_details_opening .checkout-personal-details-pane.offline .checkout_personal_details_middle,
  .checkout_personal_details_opening .checkout-personal-details-pane.offline .commerce_payment {
    margin: 0; }
  .checkout_personal_details_opening .checkout_personal_details_middle {
    margin-top: 30px; }
  .checkout_personal_details_opening .customer_profile_billing::after,
  .checkout_personal_details_opening .commerce_payment::after {
    clear: both;
    content: "";
    display: table; }
  .checkout_personal_details_opening .customer_profile_billing.commerce_payment,
  .checkout_personal_details_opening .commerce_payment.commerce_payment {
    margin: 17px 0 3px; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .select2-selection__rendered,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .select2-selection__rendered {
      text-align: center;
      line-height: 30px; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-owner,
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-number,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-owner,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-number {
      margin-bottom: 18px; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration,
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code {
      float: left;
      display: block;
      margin-right: 4.34783%;
      width: 47.82609%;
      margin-bottom: 25px; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration:last-child,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:last-child,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration:last-child,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:last-child {
        margin-right: 0; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration:nth-child(2n),
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration:nth-child(2n),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n) {
        margin-right: 0; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration:nth-child(2n+1),
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n+1),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration:nth-child(2n+1),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n+1) {
        clear: left; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item {
        display: inline-block;
        margin-bottom: 0;
        float: none;
        width: calc((100% / 2) - 17.5px); }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider {
        display: inline-block;
        vertical-align: middle;
        margin: 0 7px 0 5px; }
      @media screen and (max-width: 680px) {
        .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration,
        .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration,
        .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration,
        .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration {
          width: 100%;
          float: none; }
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item {
            width: calc((100% / 2) - 14px) !important; }
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider {
            display: inline-block; } }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store,
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default {
      margin-bottom: 6px; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store::after,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default::after,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store::after,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default::after {
        clear: both;
        content: "";
        display: table; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store input,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store label,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default input,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default label,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store input,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store label,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default input,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default label {
        display: inline-block;
        vertical-align: middle; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile label,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile label {
      display: none; }
  .checkout_personal_details_opening .customer_profile_billing .form-item,
  .checkout_personal_details_opening .commerce_payment .form-item {
    margin: 0 0 17px; }
    .checkout_personal_details_opening .customer_profile_billing .form-item label,
    .checkout_personal_details_opening .commerce_payment .form-item label {
      padding-left: 10px;
      font-size: 0.6875em;
      color: #666262;
      font-weight: normal;
      line-height: 1.45; }
      .checkout_personal_details_opening .customer_profile_billing .form-item label.option,
      .checkout_personal_details_opening .commerce_payment .form-item label.option {
        margin-top: 3px;
        padding-left: 5px;
        font-size: 0.875em;
        line-height: 1.3;
        display: inline-block;
        vertical-align: middle;
        color: #666262; }
        @media screen and (max-width: 680px) {
          .checkout_personal_details_opening .customer_profile_billing .form-item label.option,
          .checkout_personal_details_opening .commerce_payment .form-item label.option {
            width: calc(100% - 25px);
            font-size: 0.8125rem; } }
  .checkout_personal_details_opening .customer_profile_billing .form-wrapper,
  .checkout_personal_details_opening .customer_profile_billing .form-type-select,
  .checkout_personal_details_opening .commerce_payment .form-wrapper,
  .checkout_personal_details_opening .commerce_payment .form-type-select {
    float: left;
    width: 100%;
    margin: 0 0 17px; }
  .checkout_personal_details_opening .customer_profile_billing .field-type-text,
  .checkout_personal_details_opening .customer_profile_billing .field-type-email,
  .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code,
  .checkout_personal_details_opening .commerce_payment .field-type-text,
  .checkout_personal_details_opening .commerce_payment .field-type-email,
  .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code {
    float: left;
    display: block;
    margin-right: 4.34783%;
    width: 47.82609%; }
    .checkout_personal_details_opening .customer_profile_billing .field-type-text:last-child,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email:last-child,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code:last-child,
    .checkout_personal_details_opening .commerce_payment .field-type-text:last-child,
    .checkout_personal_details_opening .commerce_payment .field-type-email:last-child,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code:last-child {
      margin-right: 0; }
    .checkout_personal_details_opening .customer_profile_billing .field-type-text.field-name-field-last-name, .checkout_personal_details_opening .customer_profile_billing .field-type-text.field-name-field-company-no-, .checkout_personal_details_opening .customer_profile_billing .field-type-text.field-name-field-contact-number,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email.field-name-field-last-name,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email.field-name-field-company-no-,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email.field-name-field-contact-number,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-last-name,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-company-no-,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-contact-number,
    .checkout_personal_details_opening .commerce_payment .field-type-text.field-name-field-last-name,
    .checkout_personal_details_opening .commerce_payment .field-type-text.field-name-field-company-no-,
    .checkout_personal_details_opening .commerce_payment .field-type-text.field-name-field-contact-number,
    .checkout_personal_details_opening .commerce_payment .field-type-email.field-name-field-last-name,
    .checkout_personal_details_opening .commerce_payment .field-type-email.field-name-field-company-no-,
    .checkout_personal_details_opening .commerce_payment .field-type-email.field-name-field-contact-number,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-last-name,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-company-no-,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-contact-number {
      float: right;
      margin-right: 0; }
  .checkout_personal_details_opening .customer_profile_billing .select2,
  .checkout_personal_details_opening .commerce_payment .select2 {
    width: 100% !important; }
    .checkout_personal_details_opening .customer_profile_billing .select2 .select2-selection,
    .checkout_personal_details_opening .commerce_payment .select2 .select2-selection {
      height: 38px;
      padding: 5px;
      font-size: 0.75em;
      border-color: #EAE9EC; }
    .checkout_personal_details_opening .customer_profile_billing .select2 .select2-selection__arrow,
    .checkout_personal_details_opening .commerce_payment .select2 .select2-selection__arrow {
      top: 0;
      bottom: 0;
      right: 5px;
      margin: auto; }
  .checkout_personal_details_opening .customer_profile_billing #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-wrapper,
  .checkout_personal_details_opening .commerce_payment #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-wrapper {
    margin-bottom: 0; }
  .checkout_personal_details_opening .customer_profile_billing #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-item,
  .checkout_personal_details_opening .commerce_payment #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-item {
    margin-bottom: 17px; }
  .checkout_personal_details_opening .customer_profile_billing .field-type-list-boolean,
  .checkout_personal_details_opening .commerce_payment .field-type-list-boolean {
    margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .checkout_personal_details_opening .customer_profile_billing .form-wrapper,
    .checkout_personal_details_opening .commerce_payment .form-wrapper {
      width: 100% !important;
      margin-right: 0;
      margin-bottom: 0; }
    .checkout_personal_details_opening .customer_profile_billing .form-item,
    .checkout_personal_details_opening .commerce_payment .form-item {
      float: none;
      margin-bottom: 15px;
      width: 100% !important; }
    .checkout_personal_details_opening .customer_profile_billing .select2-container,
    .checkout_personal_details_opening .commerce_payment .select2-container {
      left: inherit !important; } }
  .checkout_personal_details_opening .addressfield-container .form-item:last-of-type {
    margin-bottom: 0 !important; }
  .checkout_personal_details_opening .commerce_payment::after {
    clear: both;
    content: "";
    display: table; }
  .checkout_personal_details_opening .commerce_payment #edit-commerce-payment-payment-method {
    display: none; }
  .checkout_personal_details_opening .checkout-buttons {
    border: 0;
    padding: 0;
    text-align: center; }
    .checkout_personal_details_opening .checkout-buttons span,
    .checkout_personal_details_opening .checkout-buttons .checkout-back {
      display: none; }
  .checkout_personal_details_opening .checkout-continue {
    background: #FC682D;
    color: #FFF; }
    .checkout_personal_details_opening .checkout-continue:hover {
      background: #FFF;
      color: #FC682D; }
  .checkout_personal_details_opening .checkout_terms_and_conditions {
    margin: 0 0 57px; }
    .checkout_personal_details_opening .checkout_terms_and_conditions a {
      display: inline-block;
      vertical-align: middle;
      font-size: 0.875rem;
      line-height: 1;
      padding-left: 5px;
      text-decoration: underline;
      color: #666262; }
    @media screen and (max-width: 680px) {
      .checkout_personal_details_opening .checkout_terms_and_conditions {
        margin: 30px 0; }
        .checkout_personal_details_opening .checkout_terms_and_conditions a {
          font-size: 0.8125rem; } }
  .checkout_personal_details_opening .icheckbox,
  .checkout_personal_details_opening .iradio {
    height: 16px;
    width: 16px;
    border: 1px solid #474545;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer; }
    .checkout_personal_details_opening .icheckbox.checked,
    .checkout_personal_details_opening .iradio.checked {
      background: url("../../images/build/check_icon.png") no-repeat center;
      background-size: 10.5px auto; }

.view-shopping-cart-checkout-form .views-table {
  margin: 0; }

.view-shopping-cart-checkout-form thead th {
  padding: 0 0 5px;
  text-transform: lowercase;
  font-size: 0.6875em;
  color: #666262;
  line-height: 1.45; }
  .view-shopping-cart-checkout-form thead th.views-field-commerce-total {
    display: none; }

.view-shopping-cart-checkout-form tbody tr {
  padding: 0; }
  .view-shopping-cart-checkout-form tbody tr:last-of-type {
    border-bottom: 0; }

.view-shopping-cart-checkout-form tbody td {
  padding: 16px 0 32px; }

.view-shopping-cart-checkout-form tbody h3 {
  font-size: 0.8125em;
  font-weight: 500;
  line-height: 1.31;
  letter-spacing: -0.4px;
  margin-bottom: 3px; }

.view-shopping-cart-checkout-form tbody .ticket-name {
  font-size: 0.6875em;
  letter-spacing: 2.8px;
  text-transform: uppercase; }

.view-shopping-cart-checkout-form tbody .ticket-price {
  margin-top: 15px;
  color: #474545;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.31; }

.view-shopping-cart-checkout-form tbody .views-field-commerce-total {
  display: none; }

.view-shopping-cart-checkout-form .line-item-summary {
  margin: 23px 0 0; }
  .view-shopping-cart-checkout-form .line-item-summary::after {
    clear: both;
    content: "";
    display: table; }
  .view-shopping-cart-checkout-form .line-item-summary .links {
    margin: 5px 16px 0 0;
    font-size: 0.75em;
    text-decoration: underline;
    text-transform: lowercase;
    line-height: 1.25;
    color: #545151; }
    .view-shopping-cart-checkout-form .line-item-summary .links li {
      padding-left: 0; }
  .view-shopping-cart-checkout-form .line-item-summary .links,
  .view-shopping-cart-checkout-form .line-item-summary .line-item-total {
    float: right; }

.view-shopping-cart-checkout-form .line-item-total-label,
.view-shopping-cart-checkout-form .line-item-total-raw {
  font-size: 1em;
  line-height: 1.56;
  letter-spacing: -0.38px;
  color: #3B3535;
  font-weight: 600;
  text-transform: lowercase; }

.view-shopping-cart-checkout-form .cart-edit-link {
  display: inline-block;
  vertical-align: middle;
  margin-right: 15px;
  font-size: 0.75em;
  line-height: 1.25;
  text-decoration: underline; }

.view-shopping-cart-checkout-form .form-actions {
  display: none; }

@media screen and (max-width: 680px) {
  .view-shopping-cart-checkout-form {
    text-align: left; }
    .view-shopping-cart-checkout-form thead th {
      padding-bottom: 1px; }
    .view-shopping-cart-checkout-form tbody td {
      text-align: left;
      padding: 13.5px 0 31px; }
    .view-shopping-cart-checkout-form tbody h3 {
      font-size: 0.875rem;
      margin-bottom: 0; }
    .view-shopping-cart-checkout-form .line-item-summary {
      margin: 25px 0 0; }
      .view-shopping-cart-checkout-form .line-item-summary .links {
        margin-right: 18px; } }

#commerce-checkout-form-login {
  background-color: #dce4ec; }
  #commerce-checkout-form-login .checkout-buttons {
    display: none; }
  @media screen and (max-width: 680px) {
    #commerce-checkout-form-login .cart-checkout-inner {
      display: block; }
      #commerce-checkout-form-login .cart-checkout-inner .cart-checkout-col-left {
        width: inherit; }
      #commerce-checkout-form-login .cart-checkout-inner .cart-checkout-col-right {
        width: inherit; } }
  #commerce-checkout-form-login .checkout-signin-signup-pane-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 17px; }
    @media screen and (max-width: 680px) {
      #commerce-checkout-form-login .checkout-signin-signup-pane-actions {
        display: block; } }
    #commerce-checkout-form-login .checkout-signin-signup-pane-actions a {
      background: #10487a;
      border-radius: 0.625rem;
      color: #FFF;
      display: block;
      font-weight: 600;
      font-size: 1.125rem;
      letter-spacing: -0.526829px;
      line-height: 1.28;
      opacity: 0.93;
      padding: 34px 36px 34px 20px;
      mix-blend-mode: normal;
      height: 7.0625rem; }
      #commerce-checkout-form-login .checkout-signin-signup-pane-actions a span {
        display: block;
        font-weight: 400;
        font-size: 0.6875rem;
        line-height: 1;
        margin-top: 0.3125rem; }
      @media screen and (max-width: 680px) {
        #commerce-checkout-form-login .checkout-signin-signup-pane-actions a {
          margin-right: 0;
          margin-bottom: 1rem;
          width: 100%; } }

.page-checkout.not-logged-in #modalContent,
.page-checkout.not-logged-in #modalBackdrop {
  display: none;
  opacity: 0; }

.page-checkout.not-logged-in .checkout-signin-signup-pane h1 {
  color: #3B3535;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.7px;
  margin-bottom: 4rem; }
  @media screen and (max-width: 680px) {
    .page-checkout.not-logged-in .checkout-signin-signup-pane h1 {
      font-size: 1.125rem;
      margin-bottom: 2rem; } }

.page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form {
  max-width: 27.0625rem; }
  .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div,
  .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div,
  .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div {
    display: grid;
    grid-template-columns: 1fr 1fr; }
    @media screen and (max-width: 680px) {
      .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div,
      .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div,
      .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div {
        grid-template-columns: 1fr; } }
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-wrapper,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-item,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-wrapper,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-item,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-wrapper,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-item {
      max-width: 11.625rem; }
      @media screen and (max-width: 680px) {
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-wrapper,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-item,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-wrapper,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-item,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-wrapper,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-item {
          max-width: 100%; } }
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div #edit-field-first-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-item-mail,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div #edit-field-company-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-item-pass-pass1,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div #edit-field-first-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-item-mail,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div #edit-field-company-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-item-pass-pass1,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div #edit-field-first-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-item-mail,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div #edit-field-company-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-item-pass-pass1 {
      margin-right: 1rem; }
      @media screen and (max-width: 680px) {
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div #edit-field-first-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-item-mail,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div #edit-field-company-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div .form-item-pass-pass1,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div #edit-field-first-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-item-mail,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div #edit-field-company-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div .form-item-pass-pass1,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div #edit-field-first-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-item-mail,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div #edit-field-company-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div .form-item-pass-pass1 {
          margin-right: 0; } }
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div div[id^='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form > div div[id*='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div div[id^='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] > div div[id*='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div div[id^='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] > div div[id*='edit-account'] {
      display: none; }

#modalContent {
  top: 50% !important;
  left: 0 !important;
  right: 0;
  margin: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media screen and (max-width: 680px) {
    #modalContent {
      top: 0 !important;
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0); } }
  #modalContent .ctools-modal-content {
    position: relative;
    margin: auto;
    border: 0;
    width: 750px !important; }
    @media screen and (max-width: 768px) {
      #modalContent .ctools-modal-content {
        width: 600px !important; } }
    @media screen and (max-width: 680px) {
      #modalContent .ctools-modal-content {
        width: 100% !important; } }
  #modalContent .modal-content {
    overflow: hidden;
    width: 100% !important;
    z-index: 0;
    padding: 18px 77px 70px 287px; }
    #modalContent .modal-content:after {
      content: '';
      height: 2500px;
      width: 2500px;
      background: #FFF;
      border-radius: 50%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 185px;
      margin: auto;
      z-index: -1; }
    #modalContent .modal-content [id^='user-login'] .form-item-name {
      margin: 80px 0 32px; }
    #modalContent .modal-content [id^='user-login'] .form-type-password {
      margin: 0 0 72px; }
    #modalContent .modal-content [id^='user-login'] label {
      font-size: 0.75em;
      font-weight: normal;
      line-height: 1.25;
      padding-left: 12px;
      color: #545151; }
    #modalContent .modal-content [id^='user-login'] .description,
    #modalContent .modal-content [id^='user-login'] .form-required {
      display: none; }
    #modalContent .modal-content [id^='user-login'] .form-actions {
      text-align: center; }
    #modalContent .modal-content *[id^='user-register-form']::after {
      clear: both;
      content: "";
      display: table; }
    #modalContent .modal-content *[id^='user-register-form'] *[id^='edit-account'] {
      margin-top: 30px; }
    #modalContent .modal-content *[id^='user-register-form'] .form-item {
      margin: 0; }
    #modalContent .modal-content *[id^='user-register-form'] .form-wrapper::after,
    #modalContent .modal-content *[id^='user-register-form'] .form-type-password-confirm::after {
      clear: both;
      content: "";
      display: table; }
    #modalContent .modal-content *[id^='user-register-form'] .field-type-text,
    #modalContent .modal-content *[id^='user-register-form'] .form-type-password,
    #modalContent .modal-content *[id^='user-register-form'] .form-type-textfield {
      width: calc(50% - 18px);
      margin: 0 0 20px;
      float: left;
      clear: none; }
      #modalContent .modal-content *[id^='user-register-form'] .field-type-text:nth-child(2n),
      #modalContent .modal-content *[id^='user-register-form'] .form-type-password:nth-child(2n),
      #modalContent .modal-content *[id^='user-register-form'] .form-type-textfield:nth-child(2n) {
        float: right; }
    #modalContent .modal-content *[id^='user-register-form'] .field-type-text {
      margin: 0; }
      #modalContent .modal-content *[id^='user-register-form'] .field-type-text .form-item {
        width: 100%; }
      #modalContent .modal-content *[id^='user-register-form'] .field-type-text.field-name-field-company-name {
        float: left; }
    #modalContent .modal-content *[id^='user-register-form'] label {
      font-size: 0.75em;
      font-weight: normal;
      line-height: 1.25;
      padding-left: 12px;
      color: #545151; }
    #modalContent .modal-content *[id^='user-register-form'] .description,
    #modalContent .modal-content *[id^='user-register-form'] .form-required,
    #modalContent .modal-content *[id^='user-register-form'] .password-strength,
    #modalContent .modal-content *[id^='user-register-form'] .password-confirm:not(.form-text) {
      display: none; }
    #modalContent .modal-content *[id^='user-register-form'] .form-actions {
      width: 100%;
      float: left;
      text-align: center; }
      #modalContent .modal-content *[id^='user-register-form'] .form-actions::after {
        clear: both;
        content: "";
        display: table; }
    @media screen and (max-width: 768px) {
      #modalContent .modal-content {
        padding: 18px 45px 70px 195px; }
        #modalContent .modal-content:after {
          left: 125px; } }
    @media screen and (max-width: 680px) {
      #modalContent .modal-content {
        padding: 20px; }
        #modalContent .modal-content:after {
          content: none; }
        #modalContent .modal-content .ajax-register-links {
          width: 100%;
          display: block;
          text-align: left; }
          #modalContent .modal-content .ajax-register-links li {
            padding-left: 0;
            margin-left: 0;
            width: 49.3%;
            display: inline-block;
            font-size: 0.6875rem; }
        #modalContent .modal-content [id^='user-login'] .form-item-name {
          margin: 25px 0 15px; }
        #modalContent .modal-content [id^='user-login'] .form-type-password {
          margin: 0 0 33px; }
        #modalContent .modal-content [id^='user-login'] label {
          font-size: 0.6875rem;
          padding-left: 9px; }
        #modalContent .modal-content *[id^='user-register-form'] *[id^='edit-account'] {
          margin-top: 25px; }
        #modalContent .modal-content *[id^='user-register-form'] .field-type-text,
        #modalContent .modal-content *[id^='user-register-form'] .form-item {
          width: 100%;
          margin: 0 0 15px; }
          #modalContent .modal-content *[id^='user-register-form'] .field-type-text .form-type-textfield,
          #modalContent .modal-content *[id^='user-register-form'] .form-item .form-type-textfield {
            width: 100%;
            margin-bottom: 0; }
        #modalContent .modal-content *[id^='user-register-form'] label {
          font-size: 0.6875rem;
          padding-left: 10px; }
        #modalContent .modal-content *[id^='user-register-form'] .form-actions {
          width: 100%;
          float: left;
          text-align: center; }
          #modalContent .modal-content *[id^='user-register-form'] .form-actions::after {
            clear: both;
            content: "";
            display: table; } }

.modal-header {
  padding: 0;
  background: url("../../images/build/login-bg.jpg") no-repeat left center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 230px; }
  .modal-header:before {
    content: '';
    background: rgba(242, 116, 58, 0.92);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%; }
  .modal-header img,
  .modal-header .modal-title {
    display: none; }
  .modal-header .close {
    margin: 0;
    background: url("../../images/build/close.png") no-repeat center;
    background-size: cover;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: -540px; }
  @media screen and (max-width: 768px) {
    .modal-header {
      height: 100%;
      width: 150px; }
      .modal-header .close {
        right: -470px; } }
  @media screen and (max-width: 680px) {
    .modal-header {
      overflow: hidden;
      height: 50px;
      width: 100%;
      position: relative;
      top: inherit;
      right: inherit;
      bottom: inherit;
      left: inherit; }
      .modal-header:after {
        content: '';
        height: 550vw;
        width: 550vw;
        background: #FFF;
        border-radius: 50%;
        position: absolute;
        top: 30px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        margin: auto; }
      .modal-header .close {
        top: 10px;
        bottom: inherit;
        right: inherit;
        left: 10px;
        margin: auto; } }

.page-checkout-complete .checkout-completed-checkout-pane {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 70px 0 147px; }
  .page-checkout-complete .checkout-completed-checkout-pane::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 1440px) {
    .page-checkout-complete .checkout-completed-checkout-pane {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-checkout-complete .checkout-completed-checkout-pane::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .page-checkout-complete .checkout-completed-checkout-pane {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .page-checkout-complete .checkout-completed-checkout-pane::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .page-checkout-complete .checkout-completed-checkout-pane {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 50px 20px 61px; }
      .page-checkout-complete .checkout-completed-checkout-pane::after {
        clear: both;
        content: "";
        display: table; } }

.page-checkout-complete .view-header h1 {
  margin-bottom: 30px;
  max-width: 490px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #3B3535;
  line-height: 1.25;
  letter-spacing: -0.7px; }

.page-checkout-complete .view-header p {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 57.44681%;
  margin-bottom: 8px;
  font-size: 0.875em;
  font-weight: normal;
  color: #666262;
  line-height: 1.71; }
  .page-checkout-complete .view-header p:last-child {
    margin-right: 0; }

@media screen and (max-width: 680px) {
  .page-checkout-complete .view-header h1 {
    margin-bottom: 14px;
    font-size: 1.1875rem; }
  .page-checkout-complete .view-header p {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3px; } }

.page-checkout-complete .view-content {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 57.44681%; }
  .page-checkout-complete .view-content:last-child {
    margin-right: 0; }
  .page-checkout-complete .view-content ul {
    padding: 0;
    margin: 0 0 45px; }
  .page-checkout-complete .view-content li {
    list-style: none;
    color: #545151;
    font-size: 1.0625em;
    font-weight: 600;
    margin: 0 0 7px;
    line-height: 1.29;
    letter-spacing: -0.4px; }
    .page-checkout-complete .view-content li:last-of-type {
      margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .page-checkout-complete .view-content {
      width: 100%;
      margin-right: 0; }
      .page-checkout-complete .view-content li {
        font-size: 0.9375em; } }

.page-checkout-complete .view-footer {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 57.44681%; }
  .page-checkout-complete .view-footer:last-child {
    margin-right: 0; }
  .page-checkout-complete .view-footer p {
    font-size: 0.75rem;
    color: #474545;
    margin: 0 0 5px; }
    .page-checkout-complete .view-footer p a {
      font-size: 12px;
      background: #FC682D;
      color: #FFF;
      margin-top: 5px; }
  @media screen and (max-width: 680px) {
    .page-checkout-complete .view-footer {
      width: 100%;
      margin-right: 0; }
      .page-checkout-complete .view-footer p {
        font-size: 0.6875rem; } }

.node-type-about-us {
  overflow-x: hidden; }

.focus-areas {
  padding: 68px 0 124px;
  background-color: #F7F9FC; }
  @media screen and (max-width: 768px) {
    .focus-areas {
      padding: 27px 0 29px; } }
  .focus-areas-intro {
    display: flex;
    justify-content: space-between;
    padding-right: 71px;
    margin-bottom: 56px; }
    @media screen and (max-width: 768px) {
      .focus-areas-intro {
        flex-direction: column;
        margin-bottom: 28px;
        padding-right: 0; } }
  .focus-areas-text {
    max-width: 603px;
    width: 100%;
    padding-top: 3px; }
    .focus-areas-text P {
      font-size: 0.9375rem;
      font-weight: 400;
      color: #041120;
      line-height: 1.5;
      margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        .focus-areas-text P {
          font-size: 0.75rem; } }
      .focus-areas-text P strong {
        font-weight: inherit;
        font-size: inherit;
        color: inherit;
        line-height: inherit; }
    .focus-areas-text ul {
      display: none; }
  .focus-areas-cards {
    clear: both;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-right: 64px;
    gap: 30px 87px; }
    @media screen and (max-width: 1200px) {
      .focus-areas-cards {
        gap: 30px 20px;
        padding-right: 0; } }
    @media screen and (max-width: 768px) {
      .focus-areas-cards {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px; } }

.what-we-do {
  background-color: #fff; }
  .what-we-do-block {
    padding: 59px 0 75px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .what-we-do-block {
        padding: 16px 0 29px; } }
    @media screen and (max-width: 680px) {
      .what-we-do-block {
        text-align: left; } }
  .what-we-do-title {
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      .what-we-do-title {
        margin-bottom: 8px; } }
    @media screen and (max-width: 680px) {
      .what-we-do-title.title {
        font-size: 1.75rem;
        line-height: 1.14; } }
  .what-we-do-desc {
    max-width: 867px;
    width: 100%;
    margin: 0 auto; }
    .what-we-do-desc p {
      font-size: 0.9375rem;
      margin-bottom: 0;
      color: #041120;
      line-height: 1.5;
      letter-spacing: 0.006em; }
      @media screen and (max-width: 680px) {
        .what-we-do-desc p {
          font-size: 0.75rem; } }

.who-we-are {
  background-color: #dce4ec; }
  .who-we-are-inner {
    padding: 48px 0px 46px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .who-we-are-inner {
        padding: 26px 0px 35px; } }
  .who-we-are-img {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    max-width: 691px;
    width: 100%;
    height: 519px;
    border-radius: 20px;
    margin-bottom: 64px;
    margin-left: -6px; }
    @media screen and (max-width: 768px) {
      .who-we-are-img {
        margin-left: 0;
        height: 250px;
        margin-bottom: -58px; } }
  .who-we-are-content {
    position: absolute;
    bottom: 49px;
    right: 0;
    max-width: 547px;
    width: 100%;
    background-color: #fff;
    border-radius: 15px;
    padding: 18px 20px; }
    @media screen and (max-width: 768px) {
      .who-we-are-content {
        padding: 7px 12px 21px; } }
    @media screen and (max-width: 768px) {
      .who-we-are-content {
        position: static;
        max-width: 100%;
        min-height: auto; } }
  .who-we-are-title {
    margin-bottom: 19px; }
    @media screen and (max-width: 768px) {
      .who-we-are-title {
        margin-bottom: 3px; } }
  .who-we-are-par p {
    color: #041120;
    font-size: 0.9375rem;
    margin-bottom: 0;
    letter-spacing: normal;
    line-height: 1.5; }
    .who-we-are-par p:not(:last-of-type) {
      margin-bottom: 28px; }
      @media screen and (max-width: 768px) {
        .who-we-are-par p:not(:last-of-type) {
          margin-bottom: 8px; } }
    @media screen and (max-width: 680px) {
      .who-we-are-par p {
        font-size: 0.75rem;
        line-height: 1.5; } }
    .who-we-are-par p strong {
      font-size: 1.25rem;
      font-weight: 700;
      line-height: 1.5; }
      @media screen and (max-width: 680px) {
        .who-we-are-par p strong {
          font-size: 16px; } }
  .who-we-are-cta {
    display: none; }

.focus-area-page main {
  background-size: 100% auto; }
  .focus-area-page main .container {
    padding: 124px 0 82px; }
  .focus-area-page main .paragraph {
    padding: 0;
    margin-bottom: 100px; }
    .focus-area-page main .paragraph::after {
      clear: both;
      content: "";
      display: table; }
    .focus-area-page main .paragraph:last-of-type {
      margin: 0; }
    .focus-area-page main .paragraph h2 {
      color: #10487a; }
    .focus-area-page main .paragraph h3 {
      margin-top: 45px;
      font-size: 1.0625em;
      font-weight: 700;
      color: #10487a; }
    .focus-area-page main .paragraph .text {
      color: #10487a; }
      .focus-area-page main .paragraph .text p {
        color: inherit; }
    .focus-area-page main .paragraph .paragraph-list {
      margin: 13px 0 0;
      padding: 0; }
      .focus-area-page main .paragraph .paragraph-list li {
        position: relative;
        list-style: none;
        padding-left: 17px;
        margin-bottom: 15px;
        border: 0; }
        .focus-area-page main .paragraph .paragraph-list li:before {
          content: '';
          height: 4px;
          width: 4px;
          background: #BBBDBF;
          border-radius: 50%;
          position: absolute;
          top: 7px;
          left: 0; }
        .focus-area-page main .paragraph .paragraph-list li h3 {
          font-size: 14px;
          line-height: 1.7;
          margin: 0; }
  .focus-area-page main .image-wrap {
    margin-top: 80px;
    position: relative;
    margin-left: 21.2766%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 23.40426%;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 25px rgba(250, 248, 247, 0.54); }
    .focus-area-page main .image-wrap:last-child {
      margin-right: 0; }
    .focus-area-page main .image-wrap:before {
      content: '';
      display: block;
      padding-top: 100%;
      z-index: -1; }
    .focus-area-page main .image-wrap:after {
      content: '';
      position: absolute;
      top: -5px;
      right: 10px;
      height: 63px;
      width: 63px;
      background: rgba(251, 118, 63, 0.85);
      border-radius: 50%; }
  .focus-area-page main strong {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.73;
    letter-spacing: -0.44px; }
  @media screen and (max-width: 1440px) {
    .focus-area-page main .image-wrap {
      margin-left: 12.76596%;
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 31.91489%; }
      .focus-area-page main .image-wrap:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 768px) {
    .focus-area-page main .container {
      padding: 60px 0; } }
  @media screen and (max-width: 680px) {
    .focus-area-page main .container {
      padding: 25px 20px 44px; }
    .focus-area-page main .paragraph {
      margin-bottom: 45px; }
      .focus-area-page main .paragraph h2 {
        margin-bottom: 15px; }
      .focus-area-page main .paragraph h3 {
        margin: 24px 0 15px; }
      .focus-area-page main .paragraph .paragraph-list {
        margin: 15px 0 0; }
        .focus-area-page main .paragraph .paragraph-list li h3 {
          font-size: 13px; }
    .focus-area-page main .text-wrap {
      float: none;
      width: 100%; }
    .focus-area-page main .image-wrap {
      max-width: 205px;
      width: 80%;
      float: none;
      margin: 45px auto 0 !important;
      box-shadow: inset 0 0 0 15px rgba(250, 248, 247, 0.54); }
      .focus-area-page main .image-wrap:after {
        top: 0;
        right: 20px;
        height: 40.5px;
        width: 40.5px; } }

.focus-area-page .focus-area-latest-wrap {
  padding: 100px 0 72px;
  background: #FBF9F8; }
  .focus-area-page .focus-area-latest-wrap h2 {
    line-height: 1.2;
    margin-bottom: 41px;
    letter-spacing: -1.22px; }
  @media screen and (max-width: 768px) {
    .focus-area-page .focus-area-latest-wrap {
      padding: 60px 0; }
      .focus-area-page .focus-area-latest-wrap h2 {
        margin-bottom: 25px; }
      .focus-area-page .focus-area-latest-wrap .card {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .focus-area-page .focus-area-latest-wrap .card:last-child {
          margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .focus-area-page .focus-area-latest-wrap {
      padding: 40px 20px; }
      .focus-area-page .focus-area-latest-wrap h2 {
        margin-bottom: 15px; }
      .focus-area-page .focus-area-latest-wrap .card {
        width: 100%;
        float: none;
        margin-right: 0; } }

.focus-area-main {
  background-color: #fff; }

.focus-area-inner {
  padding: 59px 0 45px; }
  @media screen and (max-width: 768px) {
    .focus-area-inner {
      padding: 24px 48px 12px; } }
  @media screen and (max-width: 680px) {
    .focus-area-inner {
      padding: 24px 0 12px; } }

.focus-area-latest {
  background-color: #dce4ec; }

.focus-area-latest-inner {
  padding: 44px 0 72px; }
  @media screen and (max-width: 768px) {
    .focus-area-latest-inner {
      padding: 17px 0 72px; } }

.focus-area-latest-title {
  margin-bottom: 37px; }
  @media screen and (max-width: 768px) {
    .focus-area-latest-title {
      margin-bottom: 25px; } }

.focus-area-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 35px; }
  @media screen and (max-width: 1200px) {
    .focus-area-cards {
      grid-template-columns: repeat(2, 1fr);
      gap: 24px; } }
  @media screen and (max-width: 768px) {
    .focus-area-cards {
      margin-bottom: 7.75rem; }
      .focus-area-cards .card-content {
        height: initial; }
      .focus-area-cards .slick-dots {
        bottom: -3.75rem; }
        .focus-area-cards .slick-dots button::before {
          content: ''; } }
  @media screen and (max-width: 768px) {
    .focus-area-cards .card {
      width: 274px;
      margin: 0 auto; } }

.node-programmes-landing-page .our-program {
  padding: 75px 0;
  background: #FBF9F8; }

.node-programmes-landing-page .our-program h2,
.node-programmes-landing-page .our-campaigns h2 {
  margin-bottom: 20px; }
  @media screen and (max-width: 680px) {
    .node-programmes-landing-page .our-program h2,
    .node-programmes-landing-page .our-campaigns h2 {
      margin-bottom: 14px; } }

.node-programmes-landing-page .our-program .text,
.node-programmes-landing-page .our-campaigns .text {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 74.46809%;
  margin-bottom: 25px;
  font-weight: 500;
  font-size: 0.9375em;
  color: #3B3535; }
  .node-programmes-landing-page .our-program .text:last-child,
  .node-programmes-landing-page .our-campaigns .text:last-child {
    margin-right: 0; }

.node-programmes-landing-page .our-program .campaigns-programmes::after,
.node-programmes-landing-page .our-campaigns .campaigns-programmes::after {
  clear: both;
  content: "";
  display: table; }

.node-programmes-landing-page .our-program .campaigns-programmes .card.normal,
.node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%; }
  .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:last-child,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:last-child {
    margin-right: 0; }

.node-programmes-landing-page .our-program .campaigns-programmes .card.big,
.node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 48.93617%; }
  .node-programmes-landing-page .our-program .campaigns-programmes .card.big:last-child,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:last-child {
    margin-right: 0; }

@media screen and (min-width: 769px) {
  .node-programmes-landing-page .our-program .campaigns-programmes .card.omega,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.omega {
    margin-right: 0; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.omega + .card,
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.omega + .card {
      clear: both; } }

@media screen and (max-width: 768px) {
  .node-programmes-landing-page .our-program .campaigns-programmes .card.normal, .node-programmes-landing-page .our-program .campaigns-programmes .card.big,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:last-child, .node-programmes-landing-page .our-program .campaigns-programmes .card.big:last-child,
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:last-child,
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:last-child {
      margin-right: 0; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:nth-child(2n), .node-programmes-landing-page .our-program .campaigns-programmes .card.big:nth-child(2n),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:nth-child(2n),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:nth-child(2n) {
      margin-right: 0; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:nth-child(2n+1), .node-programmes-landing-page .our-program .campaigns-programmes .card.big:nth-child(2n+1),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:nth-child(2n+1),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:nth-child(2n+1) {
      clear: left; } }

@media screen and (max-width: 680px) {
  .node-programmes-landing-page .our-program .campaigns-programmes .card.normal, .node-programmes-landing-page .our-program .campaigns-programmes .card.big,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big {
    width: 100%; } }

@media screen and (max-width: 768px) {
  .node-programmes-landing-page .our-program .text,
  .node-programmes-landing-page .our-campaigns .text {
    width: 100%;
    margin-right: 0; } }

.node-programmes-landing-page .our-program .past-link,
.node-programmes-landing-page .our-campaigns .past-link {
  width: 180px;
  margin: 40px auto 20px;
  display: block;
  text-align: center; }

.featured-card {
  height: 100%; }
  @media screen and (max-width: 1200px) {
    .featured-card {
      max-width: 225px;
      margin: 0 auto; } }
  .featured-card h2 {
    font-size: 1.75em;
    line-height: 1.5;
    letter-spacing: -0.98px;
    color: #3B3535;
    margin-bottom: 4px; }
  .featured-card .sub-title {
    font-size: 0.9375em;
    margin-bottom: 30px; }
  .featured-card.orange-overlay {
    padding: 65px 0 115px; }
    .featured-card.orange-overlay h2 {
      color: #FFF;
      font-size: 1.5rem;
      line-height: 1.25;
      margin: 0 auto 5px;
      max-width: 600px; }
    .featured-card.orange-overlay .sub-title {
      font-size: 0.875rem;
      line-height: 1.5;
      margin: 0 auto 44px;
      max-width: 600px; }
    .featured-card.orange-overlay .wrapper {
      margin-bottom: 0; }
    .featured-card.orange-overlay .card-square {
      margin-bottom: 0; }
      .featured-card.orange-overlay .card-square .content {
        min-height: 205px; }
      .featured-card.orange-overlay .card-square .title {
        color: #3B3535;
        margin-bottom: 10px;
        font-weight: 600; }
      .featured-card.orange-overlay .card-square .link-area {
        width: 100%;
        height: 28px;
        text-align: center;
        position: absolute;
        bottom: 25px;
        left: 0; }
        .featured-card.orange-overlay .card-square .link-area a {
          display: inline-block;
          margin: 0 5px; }
      @media screen and (max-width: 1200px) {
        .featured-card.orange-overlay .card-square .content {
          min-height: 145px; }
        .featured-card.orange-overlay .card-square .link-area {
          bottom: 20px; } }
      @media screen and (max-width: 768px) {
        .featured-card.orange-overlay .card-square {
          float: left;
          display: block;
          margin-right: 2.12766%;
          width: 48.93617%;
          margin-bottom: 20px; }
          .featured-card.orange-overlay .card-square:last-child {
            margin-right: 0; }
          .featured-card.orange-overlay .card-square:nth-child(2n) {
            margin-right: 0; }
          .featured-card.orange-overlay .card-square:nth-child(2n+1) {
            clear: left; }
          .featured-card.orange-overlay .card-square h3 {
            font-size: 1.125rem; }
          .featured-card.orange-overlay .card-square p {
            display: block;
            font-size: 0.9375rem; } }
      @media screen and (max-width: 680px) {
        .featured-card.orange-overlay .card-square .content {
          padding: 14px;
          min-height: inherit; }
        .featured-card.orange-overlay .card-square .title {
          font-size: 0.875rem; }
        .featured-card.orange-overlay .card-square p {
          display: none; }
        .featured-card.orange-overlay .card-square .link-area {
          display: none; } }
    @media screen and (max-width: 680px) {
      .featured-card.orange-overlay {
        padding: 25px 20px 5px; }
        .featured-card.orange-overlay h2 {
          font-size: 1.3125rem;
          margin-bottom: 6px; }
        .featured-card.orange-overlay .sub-title {
          font-size: 0.8125rem;
          margin-bottom: 21px; } }
  @media screen and (max-width: 680px) {
    .featured-card {
      padding: 40px 20px; }
      .featured-card h2 {
        font-size: 1.375em;
        line-height: 1.36;
        letter-spacing: -0.77px;
        margin-bottom: 0; }
      .featured-card .sub-title {
        font-size: 0.875em; }
      .featured-card .wrapper {
        margin-bottom: 15px; } }
  @media screen and (min-width: 769px) {
    .featured-card .count-3 .card-square:first-child {
      margin-left: 12.76596%; } }

.our-campaigns {
  background-color: #F7F9FC;
  padding: 63px 0 37px; }
  @media screen and (max-width: 680px) {
    .our-campaigns {
      padding: 27px 0 37px; } }
  .our-campaigns-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-right: 85px;
    gap: 0 20px;
    margin-bottom: 27px; }
    @media screen and (max-width: 1200px) {
      .our-campaigns-content {
        padding: 0; } }
    @media screen and (max-width: 768px) {
      .our-campaigns-content {
        display: block;
        margin-bottom: 20px; } }
  .our-campaigns-title {
    margin-bottom: 0;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .our-campaigns-title {
        font-size: 1.75rem; } }
  .our-campaigns-desc {
    font-size: 1.25rem;
    color: #041120;
    max-width: 603px;
    width: 100%;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .our-campaigns-desc {
        font-size: 0.75rem; } }
  .our-campaigns-cards .card-campaign:not(:last-of-type) {
    margin-bottom: 34px; }
  .our-campaigns .slick-dots button::before {
    content: ''; }

.node-networks-landing .our-networks .networks-landing-intro {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 48.93617%; }
  .node-networks-landing .our-networks .networks-landing-intro:last-child {
    margin-right: 0; }
  .node-networks-landing .our-networks .networks-landing-intro .text-wrap {
    max-width: 85%; }

.node-networks-landing .our-networks .networks-list {
  overflow: hidden; }

.node-networks-landing .our-networks .link-wrap {
  margin-top: 60px; }

.node-networks-landing .our-networks-member {
  padding: 69px 0 70px; }
  .node-networks-landing .our-networks-member .text-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 53.19149%; }
    .node-networks-landing .our-networks-member .text-wrap:last-child {
      margin-right: 0; }
  .node-networks-landing .our-networks-member .text {
    margin-bottom: 25px; }
  @media screen and (max-width: 680px) {
    .node-networks-landing .our-networks-member {
      padding: 40px 20px 45px; }
      .node-networks-landing .our-networks-member .text-wrap {
        width: 100%;
        float: none; }
      .node-networks-landing .our-networks-member .text {
        margin-bottom: 15px; } }

.networks-landing {
  background-color: #F7F9FC; }
  .networks-landing-networks {
    padding: 63px 0 103px; }
    @media screen and (max-width: 1200px) {
      .networks-landing-networks {
        padding: 24px 0; } }
  .networks-landing .featured-cards.count-3 {
    grid-template-columns: repeat(3, 1fr); }
  .networks-landing .featured-cards.count-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px; }
  .networks-landing .featured-cards.count-1 {
    grid-template-columns: 1fr;
    max-width: 300px; }
  .networks-landing-content {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    padding-right: 86px; }
    @media screen and (max-width: 1200px) {
      .networks-landing-content {
        padding-right: 0;
        margin-bottom: 13px; } }
    @media screen and (max-width: 768px) {
      .networks-landing-content {
        flex-direction: column;
        align-items: flex-start; } }
  .networks-landing-title {
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .networks-landing-title {
        font-size: 1.75rem;
        margin-bottom: 1rem; } }
  .networks-landing-text {
    max-width: 603px;
    width: 100%; }
    .networks-landing-text p {
      color: #041120;
      line-height: 1.53;
      font-size: 0.9375rem; }
      .networks-landing-text p:not(:last-of-type) {
        color: #10487a;
        margin-bottom: 26px; }
      .networks-landing-text p strong {
        font-weight: 900;
        font-size: 1.25rem;
        line-height: 1.5; }
      @media screen and (max-width: 768px) {
        .networks-landing-text p {
          font-size: 0.75rem;
          line-height: 1.5; }
          .networks-landing-text p:not(:last-of-type) {
            margin-bottom: 0.5rem; }
          .networks-landing-text p strong {
            font-size: 0.75rem;
            line-height: 1.5; } }
  .networks-landing-member {
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../../images/build/team.jpg"); }
    .networks-landing-member::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: '';
      background-color: rgba(16, 72, 122, 0.8); }
    .networks-landing-member-inner {
      position: relative;
      padding: 47px 0 35px; }
    .networks-landing-member-title {
      color: #fff;
      margin-bottom: 20px; }
    .networks-landing-member-text {
      max-width: 883px;
      width: 100%;
      margin-bottom: 43px; }
      .networks-landing-member-text p {
        font-size: 0.9375rem;
        letter-spacing: -0.023em;
        color: #fff;
        line-height: normal;
        margin-bottom: 0; }
        .networks-landing-member-text p:not(:last-of-type) {
          margin-bottom: 10px; }
    .networks-landing-member-cta {
      font-size: 1rem;
      padding: 7px 23px 5px 14px;
      font-weight: 400; }
      .networks-landing-member-cta::after {
        top: -2px;
        right: 0;
        position: relative;
        content: '';
        width: 8px;
        height: 8px;
        rotate: 45deg;
        box-shadow: 1.5px -1.5px 0 0 #10487a;
        display: inline-block; }
      .networks-landing-member-cta::after {
        margin-left: 8px; }
  .networks-landing-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-right: 64px;
    flex-wrap: wrap;
    gap: 28px 90px; }
    @media screen and (max-width: 1200px) {
      .networks-landing-cards {
        padding-right: 0;
        gap: 0 45px; } }
    @media screen and (max-width: 768px) {
      .networks-landing-cards {
        gap: 0 15px; } }
    @media screen and (max-width: 768px) {
      .networks-landing-cards {
        grid-template-columns: repeat(1, 1fr);
        gap: 15px; } }
    .networks-landing-cards .card-image-cta {
      position: initial; }
      .networks-landing-cards .card-image-cta::before {
        content: "";
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .networks-landing-cards .card-image {
      position: relative;
      overflow: hidden;
      transition: translate 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-color 0.3s ease-in-out; }
      .networks-landing-cards .card-image:hover {
        background-color: #10487a;
        color: #fff;
        translate: 0 -15px;
        box-shadow: 0px 0px 24px rgba(25, 32, 56, 0.08); }
        .networks-landing-cards .card-image:hover .card-image-title,
        .networks-landing-cards .card-image:hover .card-image-desc {
          color: #fff; }
      @media screen and (max-width: 680px) {
        .networks-landing-cards .card-image {
          width: 100%; }
          .networks-landing-cards .card-image-title {
            font-size: 1.125rem;
            line-height: 1.5; }
          .networks-landing-cards .card-image-desc {
            font-size: 0.625rem;
            line-height: 1.5; }
          .networks-landing-cards .card-image-cta {
            display: block; } }
    @media screen and (max-width: 680px) and (max-width: 768px) {
      .networks-landing-cards .card-image-cta {
        padding: 5px 23px 5px 16px; } }
      .networks-landing-cards .card-image-links {
        margin-top: 24px; }

.node-network-application-page #who-why {
  margin-bottom: 25px;
  padding-bottom: 20px; }

.node-network-application-page #practical-info {
  padding: 25px 0 65px;
  margin-bottom: 0; }
  .node-network-application-page #practical-info .practical-information {
    padding: 44px 50px 39px 36px; }
  .node-network-application-page #practical-info dt {
    line-height: 1.2;
    letter-spacing: 2.55px; }

.node-network-application-page #benefits {
  margin-bottom: 0;
  padding: 30px 0 45px; }
  .node-network-application-page #benefits .network-application-benefits {
    margin: 0 0 30px; }
    .node-network-application-page #benefits .network-application-benefits::after {
      clear: both;
      content: "";
      display: table; }
    .node-network-application-page #benefits .network-application-benefits li {
      padding: 0;
      margin-top: 24px;
      background: none;
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .node-network-application-page #benefits .network-application-benefits li:last-child {
        margin-right: 0; }
      .node-network-application-page #benefits .network-application-benefits li:nth-child(2n) {
        margin-right: 0; }
      .node-network-application-page #benefits .network-application-benefits li:nth-child(2n+1) {
        clear: left; }
      .node-network-application-page #benefits .network-application-benefits li ul {
        margin: 0; }
      .node-network-application-page #benefits .network-application-benefits li li {
        position: relative;
        padding-left: 16px;
        font-size: 0.8125rem;
        line-height: 1.43;
        color: #3B3535;
        letter-spacing: -0.41px;
        margin: 0 0 1px;
        width: 100%; }
        .node-network-application-page #benefits .network-application-benefits li li:before {
          content: '';
          height: 3px;
          width: 3px;
          position: absolute;
          top: 6px;
          left: 5px;
          border-radius: 50%;
          background: #3B3535; }
    .node-network-application-page #benefits .network-application-benefits h3 {
      font-size: 0.625em;
      line-height: 1.2;
      font-weight: normal;
      text-transform: uppercase;
      margin-bottom: 9px;
      letter-spacing: 2.55px; }

.node-network-application-page #options {
  padding: 45px 0 50px; }
  .node-network-application-page #options .tickets {
    margin: 0; }
  .node-network-application-page #options .ticket {
    position: relative;
    padding: 51px 0 30px; }
    .node-network-application-page #options .ticket h2 {
      font-size: 1.0625em;
      color: #545151;
      font-weight: 600;
      margin-bottom: 5px;
      float: left;
      width: calc(100% - 140px); }
      .node-network-application-page #options .ticket h2 span {
        margin: 0 5px; }
    .node-network-application-page #options .ticket:first-of-type {
      padding-top: 25px; }
      .node-network-application-page #options .ticket:first-of-type .buy-tickets-form-add-single-to-cart {
        top: 25px; }
  .node-network-application-page #options .primary-call-action {
    padding: 10px 18px 8px;
    float: right; }
  .node-network-application-page #options .buy-tickets-form-add-single-to-cart {
    position: absolute;
    top: 51px;
    right: 0; }

.node-network-application-page #more {
  margin: 0;
  padding: 50px 0 0; }
  .node-network-application-page #more .text {
    margin-bottom: 28px; }
  .node-network-application-page #more .secondary-call-action, .node-network-application-page #more .company-header .form-submit, .company-header .node-network-application-page #more .form-submit, .node-network-application-page #more .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .node-network-application-page #more .form-submit,
  .node-network-application-page #more .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .node-network-application-page #more .form-submit {
    margin-right: 15px; }

.node-type-company #company-information {
  margin-bottom: 108px; }
  .node-type-company #company-information .strong {
    font-weight: 500;
    font-size: 0.875rem;
    color: #545151;
    line-height: 1.42;
    letter-spacing: -0.41px;
    margin-bottom: 21px; }
  .node-type-company #company-information .text {
    margin-bottom: 30px; }

.node-type-company #company-representatives h2 {
  margin-bottom: 30px; }

.node-type-company .company-representative {
  width: 95%;
  padding-bottom: 28px;
  margin-bottom: 23px;
  border-bottom: 1px solid #EAEAEA; }
  .node-type-company .company-representative:last-of-type {
    margin-bottom: 0;
    border-bottom: 0; }
  .node-type-company .company-representative .avatar {
    display: inline-block;
    vertical-align: middle;
    height: 115px;
    width: 115px;
    background: url("../../images/build/avatar.png") no-repeat center;
    background-size: cover;
    border-radius: 50%;
    overflow: hidden; }
  .node-type-company .company-representative .content {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 120px);
    padding-left: 24px;
    max-width: 350px; }
  .node-type-company .company-representative h3 {
    color: #545151;
    font-size: 1.0625rem;
    line-height: 1.29;
    margin-bottom: 3px; }
  .node-type-company .company-representative .job-title {
    font-size: 0.875rem;
    color: #666262;
    line-height: 1.64;
    margin-bottom: 14px; }
  .node-type-company .company-representative .contact-info {
    padding: 0;
    margin: 0; }
    .node-type-company .company-representative .contact-info li {
      list-style: none;
      margin-bottom: 4px;
      font-size: 0.75rem;
      font-weight: normal;
      letter-spacing: -0.3px;
      line-height: 1.58;
      color: #666262; }
      .node-type-company .company-representative .contact-info li:last-of-type {
        margin-bottom: 0; }

.node-type-event .accessibility .breadcrumb {
  display: none; }

.node-type-event .main-with-sidebar section {
  display: block;
  width: 100%;
  margin-bottom: 100px; }
  .node-type-event .main-with-sidebar section::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-event .main-with-sidebar section p {
    margin-bottom: 20px; }
    .node-type-event .main-with-sidebar section p:last-of-type {
      margin-bottom: 15px; }
    .node-type-event .main-with-sidebar section p img {
      max-width: 100%;
      height: auto; }
  @media screen and (max-width: 680px) {
    .node-type-event .main-with-sidebar section {
      margin-bottom: 40px; }
      .node-type-event .main-with-sidebar section p {
        margin-bottom: 15px; }
        .node-type-event .main-with-sidebar section p:last-of-type {
          margin-bottom: 10px; } }

.node-type-event #practical-info .event-practical-info {
  padding: 45px 33px;
  float: left;
  display: block;
  margin-right: 3.22581%;
  width: 87.09677%;
  background: #FBF9F8; }
  .node-type-event #practical-info .event-practical-info:last-child {
    margin-right: 0; }

.node-type-event #practical-info .addeventatc {
  float: right;
  margin-top: 3px; }

.node-type-event #practical-info .secondary-date {
  margin-top: 5px; }
  .node-type-event #practical-info .secondary-date::after {
    clear: both;
    content: "";
    display: table; }

.node-type-event #practical-info ul {
  margin: 0;
  padding: 0; }

.node-type-event #practical-info li {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.43;
  letter-spacing: -0.41px;
  color: #545151;
  margin-bottom: 20px;
  padding-left: 25px;
  list-style: none;
  width: 100%; }
  .node-type-event #practical-info li.date {
    background: url("../../images/build/time.png") no-repeat left 2px;
    background-size: 13px auto; }
  .node-type-event #practical-info li.address {
    background: url("../../images/build/address.png") no-repeat left 2px;
    background-size: 12px auto; }
  .node-type-event #practical-info li:last-of-type {
    margin-bottom: 0; }

.node-type-event #practical-info .day,
.node-type-event #practical-info .time,
.node-type-event #practical-info .location {
  display: inline-block;
  vertical-align: middle;
  margin-right: 12px; }

.node-type-event #practical-info .tertiary-call-action {
  margin-top: 3px;
  font-size: 0.75rem; }
  .node-type-event #practical-info .tertiary-call-action:before {
    top: 3px; }

@media screen and (max-width: 1200px) {
  .node-type-event #practical-info .event-practical-info {
    width: 100%; } }

@media screen and (max-width: 680px) {
  .node-type-event #practical-info .event-practical-info {
    padding: 25px; }
  .node-type-event #practical-info li {
    font-size: 0.8125rem;
    margin-bottom: 12px; } }

.node-type-event #speakers h2 {
  margin-bottom: 19px;
  letter-spacing: -0.03em; }

.node-type-event #speakers h3 {
  font-size: 0.9375rem;
  font-weight: 600;
  margin-bottom: 3px;
  line-height: 1.3;
  letter-spacing: -0.4px; }

.node-type-event #speakers .salutation {
  clear: both;
  color: #666262;
  font-size: 0.75rem;
  line-height: 1.65; }

.node-type-event #speakers a.fancybox {
  display: block; }

.node-type-event #speakers .event-speakers {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(218px, 218px));
  gap: 15px; }

.node-type-event #speakers .event-speaker {
  position: relative;
  list-style: none;
  border-radius: 20px;
  overflow: hidden;
  background-color: #F7F9FC; }

.node-type-event #speakers .event-speaker-frame {
  height: 191px; }

.node-type-event #speakers .event-speaker-readmore {
  color: #f37324;
  font-size: 0.75rem;
  font-weight: 300;
  display: block; }

.node-type-event #speakers img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.node-type-event #speakers .text-wrap {
  padding: 6px 18px 10px;
  font-size: 0; }

.node-type-event #speakers .event-speaker-job-title {
  clear: both;
  color: #666262;
  font-size: 0.75rem;
  line-height: 1.65;
  margin-bottom: 2px; }

.node-type-event #speakers .text {
  font-size: 0.75rem;
  line-height: 1.58; }

@media screen and (max-width: 680px) {
  .node-type-event #speakers img {
    height: 84px;
    width: 84px; }
  .node-type-event #speakers h3 {
    font-size: 0.9375rem;
    margin-bottom: 5px; }
  .node-type-event #speakers .event-speaker {
    position: relative;
    list-style: none;
    padding: 16px 0; }
    .node-type-event #speakers .event-speaker:last-of-type {
      border-bottom: 0; }
  .node-type-event #speakers .text-wrap {
    width: calc(100% - 100px);
    padding-left: 15px; }
  .node-type-event #speakers .event-speaker-job-title {
    font-size: 0.75rem;
    line-height: 1.4;
    margin-bottom: 0; }
  .node-type-event #speakers .text {
    display: none; } }

.node-type-event #registration h2 {
  margin-bottom: 2px; }

.node-type-event #location #map {
  float: left; }

.node-type-event #location .event-map-text-wrap {
  float: left;
  width: calc(100% - 395px);
  padding-left: 25px; }

.node-type-event #location h3 {
  font-size: 1.0625em;
  font-weight: 600;
  margin-bottom: 10px;
  color: #545151; }

.node-type-event #location .event-map-address {
  font-size: 0.875em;
  line-height: 1.64; }

@media screen and (max-width: 680px) {
  .node-type-event #location h2 {
    margin-bottom: 20px; }
  .node-type-event #location #map {
    width: 100% !important;
    margin-bottom: 15px; }
  .node-type-event #location .event-map-text-wrap {
    width: 100%;
    padding-left: 0; } }

.node-type-event #terms {
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.71;
  color: #666262; }
  .node-type-event #terms h2 {
    color: #3B3535; }
  @media screen and (max-width: 680px) {
    .node-type-event #terms {
      font-size: 0.8125rem; } }

.node-type-event .event-external-link {
  margin-top: 20px; }

/** EVENT PROGRAMMES **/
.event-programme-header {
  padding: 60px 0; }
  .event-programme-header .pre-title {
    font-size: 1rem;
    font-weight: 600; }
  .event-programme-header h1 {
    font-size: 3.0625rem;
    margin: -10px 0 0; }

.event-programme-main {
  padding-top: 40px; }
  .event-programme-main .event-programme-days-wrap {
    border-bottom: 2px solid #EAE9EC; }
    .event-programme-main .event-programme-days-wrap::after {
      clear: both;
      content: "";
      display: table; }
    .event-programme-main .event-programme-days-wrap h2 {
      font-size: 0.6875rem;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      float: left;
      position: relative;
      top: 10px; }
      @media screen and (max-width: 680px) {
        .event-programme-main .event-programme-days-wrap h2 {
          padding-left: 20px; } }
  .event-programme-main .event-programme-days {
    float: left;
    position: relative;
    top: 2px;
    margin-left: 35px; }
    .event-programme-main .event-programme-days li {
      float: left;
      margin-right: 35px; }
    .event-programme-main .event-programme-days .day-wrap,
    .event-programme-main .event-programme-days .divider {
      display: inline-block; }
    .event-programme-main .event-programme-days .divider {
      padding: 0 5px; }
    .event-programme-main .event-programme-days a {
      display: block;
      font-size: 0.9375rem;
      text-transform: uppercase;
      font-weight: 600;
      letter-spacing: -0.05em;
      margin-left: -2px;
      border-left: 2px solid transparent;
      transition: all 0.2s ease-in-out;
      color: #999;
      height: 52px; }
      .event-programme-main .event-programme-days a.active, .event-programme-main .event-programme-days a:hover {
        border-bottom: 2px solid #F2743A;
        color: #3B3535; }
      .event-programme-main .event-programme-days a .location {
        font-size: 0.75rem;
        font-weight: 400;
        text-transform: none;
        color: #545151; }
  .event-programme-main .event-programme-items {
    padding-top: 30px; }
    .event-programme-main .event-programme-items li {
      overflow: hidden;
      padding: 15px 12px; }
      .event-programme-main .event-programme-items li.color-grey {
        background: #F3F3F4; }
      .event-programme-main .event-programme-items li:last-child {
        border-bottom: 0; }
    .event-programme-main .event-programme-items .time {
      float: left;
      color: #999;
      font-size: 1.0625rem;
      font-weight: 600;
      line-height: 1.4;
      width: 80px;
      min-height: 1px; }
    .event-programme-main .event-programme-items .text {
      overflow: hidden; }
    .event-programme-main .event-programme-items h2 {
      font-size: 1.0625rem;
      font-weight: 600;
      margin: 0; }
    .event-programme-main .event-programme-items.hidden {
      display: none; }
  .event-programme-main .event-schedule-item {
    padding: 10px 0; }
    @media screen and (min-width: 681px) {
      .event-programme-main .event-schedule-item {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .event-programme-main .event-schedule-item:last-child {
          margin-right: 0; } }
    .event-programme-main .event-schedule-item .room {
      background: url(../../images/build/marker.png) left top no-repeat;
      background-size: 12px auto;
      padding-left: 20px;
      font-size: 0.9375rem;
      font-weight: 500;
      line-height: 1;
      margin-bottom: 10px; }
    .event-programme-main .event-schedule-item .speaker {
      font-size: 0.9375rem;
      margin-bottom: 20px;
      margin-top: 3px; }
    .event-programme-main .event-schedule-item .text {
      font-size: 0.84375rem; }
    .event-programme-main .event-schedule-item a {
      display: inline-block;
      font-size: 0.75rem;
      font-weight: 500;
      border-left: 2px solid #F2743A;
      line-height: 1;
      padding-left: 5px;
      margin-top: 15px; }

.event-programme-detail-wrap {
  position: relative;
  padding: 50px 0; }
  @media screen and (min-width: 769px) {
    .event-programme-detail-wrap .event-programme-detail {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 65.95745%; }
      .event-programme-detail-wrap .event-programme-detail:last-child {
        margin-right: 0; } }
  .event-programme-detail-wrap .event-programme-detail-close {
    position: absolute;
    right: 0;
    top: 15px;
    background: none;
    border: 0; }
    .event-programme-detail-wrap .event-programme-detail-close svg {
      width: 20px;
      height: 20px; }
    .event-programme-detail-wrap .event-programme-detail-close g {
      stroke: #F2743A; }
  .event-programme-detail-wrap .date-and-room {
    color: #999999;
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 18px; }
  .event-programme-detail-wrap .room {
    padding-left: 20px;
    background: url(../../images/build/marker.png) left center no-repeat;
    background-size: 12px auto; }
  .event-programme-detail-wrap h2 {
    font-size: 1.5rem;
    margin-bottom: 5px; }
  .event-programme-detail-wrap .speaker {
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 20px; }
  .event-programme-detail-wrap .speaker-wrap {
    margin-top: 60px; }
    .event-programme-detail-wrap .speaker-wrap h3 {
      font-size: 1.5rem; }
  .event-programme-detail-wrap .speaker-inner {
    clear: both;
    margin-bottom: 30px;
    overflow: hidden; }
  .event-programme-detail-wrap .speaker-image {
    float: left;
    width: 119px;
    height: 119px;
    border-radius: 119px;
    overflow: hidden;
    margin-right: 30px; }
    .event-programme-detail-wrap .speaker-image img {
      width: 100%;
      height: auto;
      display: block; }
  .event-programme-detail-wrap .speaker-text-wrap {
    overflow: hidden; }
  .event-programme-detail-wrap h4 {
    font-size: 1.0625rem;
    font-weight: 600;
    margin-bottom: 5px; }
  .event-programme-detail-wrap .job-title {
    font-size: 0.875rem;
    color: #666262;
    margin-bottom: 8px; }
  .event-programme-detail-wrap .bio {
    font-size: 0.75rem;
    color: #666262; }
  .event-programme-detail-wrap.hidden {
    display: none; }

.event-gallery a:not(.open-gallery-link),
.paragraph-gallery a:not(.open-gallery-link) {
  display: block;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 31.91489%;
  margin-bottom: 13px;
  transition: opacity 0.2s ease-in-out; }
  .event-gallery a:not(.open-gallery-link):last-child,
  .paragraph-gallery a:not(.open-gallery-link):last-child {
    margin-right: 0; }
  .event-gallery a:not(.open-gallery-link):nth-child(3n),
  .paragraph-gallery a:not(.open-gallery-link):nth-child(3n) {
    margin-right: 0; }
  .event-gallery a:not(.open-gallery-link):nth-child(3n+1),
  .paragraph-gallery a:not(.open-gallery-link):nth-child(3n+1) {
    clear: left; }
  .event-gallery a:not(.open-gallery-link):nth-child(n+7),
  .paragraph-gallery a:not(.open-gallery-link):nth-child(n+7) {
    display: none; }
  .event-gallery a:not(.open-gallery-link):hover,
  .paragraph-gallery a:not(.open-gallery-link):hover {
    opacity: 0.8; }
  .event-gallery a:not(.open-gallery-link) img,
  .paragraph-gallery a:not(.open-gallery-link) img {
    width: 100%;
    height: auto;
    display: block; }

.section-past-events {
  color: #FFF;
  padding: 92px 0 45px;
  background-color: #F2743A;
  background-size: cover;
  background-position: center center;
  overflow: hidden; }
  @media screen and (min-width: 681px) {
    .section-past-events .section-past-events-block {
      display: inline-block;
      margin-right: 50px; } }
  .section-past-events h2 {
    font-size: 1.5rem;
    margin-bottom: 10px; }
  .section-past-events .text {
    font-size: 0.875rem;
    border-bottom: 1px solid #FFF;
    padding-bottom: 30px;
    margin-bottom: 30px;
    min-width: 280px; }
  @media screen and (max-width: 680px) {
    .section-past-events {
      padding: 53px 25px;
      text-align: center; }
      .section-past-events .section-past-events-block {
        margin-bottom: 40px; }
        .section-past-events .section-past-events-block:last-child {
          margin-bottom: 0; }
      .section-past-events h2 {
        font-size: 1.3125rem;
        margin-bottom: 5px;
        line-height: 1.1;
        letter-spacing: -0.61px; }
      .section-past-events .text {
        font-size: 0.8125rem;
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 15px; } }

#sponsors h2 {
  margin-bottom: 30px; }

#sponsors h3 {
  font-weight: 500;
  color: #3B3535; }

#sponsors p + h3 {
  margin-top: 50px; }

#sponsors img {
  margin: 0 40px 20px 0;
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto; }

@media screen and (max-width: 680px) {
  #sponsors img {
    margin: 0 auto 20px; } }

.field-type-youtube .field-item,
.field-type-soundcloud .field-item {
  margin-bottom: 30px; }

.event-programmes .text {
  margin-bottom: 20px; }

.event-upcoming {
  background-color: #dce4ec; }
  .event-upcoming-inner {
    padding: 46px 0 44px; }
    @media screen and (max-width: 680px) {
      .event-upcoming-inner {
        padding: 24px 0 40px; } }
  .event-upcoming-title {
    margin-bottom: 21px;
    padding-left: 5px; }
    @media screen and (max-width: 680px) {
      .event-upcoming-title {
        font-size: 1.5rem;
        line-height: 1.3;
        text-align: center; } }
  .event-upcoming-cards {
    display: grid;
    grid-auto-columns: auto;
    grid-auto-rows: auto;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 318px 206px;
    grid-template-areas: "one two four five" "three three six six";
    gap: 20px 18px;
    margin-bottom: 51px; }
    @media screen and (max-width: 768px) {
      .event-upcoming-cards {
        display: block; }
        .event-upcoming-cards.slick-dotted.slick-slider {
          margin-bottom: 5.9375rem; }
        .event-upcoming-cards .slick-slide {
          min-height: 17.875rem; }
        .event-upcoming-cards .slick-dots {
          bottom: -3.125rem; }
          .event-upcoming-cards .slick-dots button:before {
            content: ''; } }
  .event-upcoming-card:first-of-type {
    grid-area: one; }
  .event-upcoming-card:nth-of-type(2) {
    grid-area: two; }
  .event-upcoming-card:nth-of-type(3) {
    grid-area: three; }
  .event-upcoming-card:nth-of-type(4) {
    grid-area: four; }
  .event-upcoming-card:nth-of-type(5) {
    grid-area: five; }
  .event-upcoming-card:nth-of-type(6) {
    grid-area: six; }
  .event-upcoming-button-wrap {
    display: flex;
    justify-content: center; }
  .event-upcoming-cta {
    font-size: 1rem;
    padding: 8px 24px 8px 17px; }
    .event-upcoming-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .event-upcoming-cta::after {
      margin-left: 8px; }

.event-about {
  background-color: #fff; }
  .event-about-inner {
    text-align: center;
    padding: 59px 0 64px; }
    @media screen and (max-width: 680px) {
      .event-about-inner {
        text-align: left;
        padding: 16px 0 24px; } }
  .event-about-title {
    margin-bottom: 25px; }
    @media screen and (max-width: 680px) {
      .event-about-title {
        font-size: 1.75rem; } }
  .event-about-desc {
    max-width: 867px;
    width: 100%;
    margin: 0 auto; }
    .event-about-desc p {
      color: #041120;
      margin-bottom: 0;
      font-size: 0.9375rem;
      font-weight: 500;
      line-height: 1.5; }
      @media screen and (max-width: 680px) {
        .event-about-desc p {
          font-size: 0.75rem; } }

.event-past {
  background-color: #F7F9FC; }
  .event-past-inner {
    padding: 45px 0 49px; }
    @media screen and (max-width: 680px) {
      .event-past-inner {
        padding: 32px 0 48px; } }
  .event-past-title {
    margin-bottom: 33px; }
    .event-past-title ~ .text {
      margin-bottom: 1.5rem; }
    @media screen and (max-width: 680px) {
      .event-past-title {
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 2rem; } }
  .event-past-cards {
    margin-bottom: 32px; }
    .event-past-cards .view-past-events .wrapper {
      padding-left: 0;
      padding-right: 0; }
      .event-past-cards .view-past-events .wrapper .view-content {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 26px;
        margin-bottom: 32px; }
    .event-past-cards .view-past-events .card-past {
      display: block; }
      @media screen and (max-width: 768px) {
        .event-past-cards .view-past-events .card-past {
          max-width: 280px;
          margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      .event-past-cards {
        margin-bottom: 5.9375rem; }
        .event-past-cards .slick-dots {
          bottom: -3.125rem; } }
  .event-past-button {
    display: flex;
    justify-content: center; }
  .event-past-cta {
    font-size: 1rem;
    padding: 7px 24px 6px 16px; }
    .event-past-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .event-past-cta::after {
      margin-left: 9px; }
  .event-past .slick-dots button::before {
    content: ''; }

.event-related {
  background-color: #F7F9FC;
  padding: 50px 0; }
  .event-related-title {
    margin-bottom: 33px; }
  .event-related-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(292px, 1fr));
    gap: 10px 10px; }
    .event-related-cards .topic-content {
      min-height: 318px; }

.node-type-events-landing-page .section-key-events {
  background: #FBF9F8;
  padding: 60px 0; }
  .node-type-events-landing-page .section-key-events .key-events::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-events-landing-page .section-key-events .card-image-left {
    padding: 0 8px 0 24px; }
    .node-type-events-landing-page .section-key-events .card-image-left .title {
      font-size: 1rem;
      margin-bottom: 6px; }
  @media screen and (max-width: 1200px) {
    .node-type-events-landing-page .section-key-events .card-image-left {
      padding: 0; } }
  @media screen and (max-width: 680px) {
    .node-type-events-landing-page .section-key-events {
      padding: 25px 20px; }
      .node-type-events-landing-page .section-key-events h2 {
        margin-bottom: 0; }
      .node-type-events-landing-page .section-key-events .text {
        font-size: 0.875em;
        line-height: 1.5;
        letter-spacing: -0.41px;
        margin-bottom: 30px; } }

.node-type-events-landing-page .section-upcoming-events {
  position: relative;
  background: #FBF9F8;
  padding: 40px 0;
  text-align: center; }
  .node-type-events-landing-page .section-upcoming-events:after {
    content: '';
    height: 215px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #FFF;
    z-index: 0; }
  .node-type-events-landing-page .section-upcoming-events .container {
    z-index: 1; }
  .node-type-events-landing-page .section-upcoming-events h2 {
    text-align: left;
    margin-bottom: 38px; }
  .node-type-events-landing-page .section-upcoming-events .upcoming-events {
    text-align: left; }
  .node-type-events-landing-page .section-upcoming-events .card {
    margin-bottom: 45px; }
    .node-type-events-landing-page .section-upcoming-events .card .title {
      margin-bottom: 7px; }
  .node-type-events-landing-page .section-upcoming-events .primary-call-action {
    margin: 45px auto 0; }
  @media screen and (max-width: 768px) {
    .node-type-events-landing-page .section-upcoming-events .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%;
      margin-bottom: 25px; }
      .node-type-events-landing-page .section-upcoming-events .card:last-child {
        margin-right: 0; }
      .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n) {
        margin-right: 0; }
      .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 680px) {
    .node-type-events-landing-page .section-upcoming-events {
      padding: 25px 20px; }
      .node-type-events-landing-page .section-upcoming-events .card {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 100%; }
        .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n) {
          margin-right: 2.12766%; }
        .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n+1) {
          clear: none; }
        .node-type-events-landing-page .section-upcoming-events .card:last-child {
          margin-right: 0; }
      .node-type-events-landing-page .section-upcoming-events .primary-call-action {
        margin: 0 auto; } }

.node-type-events-landing-page .section-about-events {
  padding: 50px 0 90px;
  text-align: center; }
  .node-type-events-landing-page .section-about-events h2 {
    margin-bottom: 25px; }
  .node-type-events-landing-page .section-about-events .text {
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.64; }
  @media screen and (max-width: 680px) {
    .node-type-events-landing-page .section-about-events {
      padding: 40px 25px 45px; }
      .node-type-events-landing-page .section-about-events h2 {
        margin-bottom: 10px; } }

.node-type-training-consulting-landing-page h2 {
  font-size: 2.1875em;
  color: #3B3535;
  margin-bottom: 30px;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page h2 {
      font-size: 1.75em; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page h2 {
      font-size: 1.375em; } }

.node-type-training-consulting-landing-page .section-training {
  padding: 100px 0 50px;
  background: #FBF9F8;
  text-align: center; }
  .node-type-training-consulting-landing-page .section-training .text {
    max-width: 700px;
    margin: 0 auto 50px;
    font-size: 0.875em; }
    @media screen and (max-width: 1200px) {
      .node-type-training-consulting-landing-page .section-training .text {
        margin-bottom: 40px; } }
    @media screen and (max-width: 680px) {
      .node-type-training-consulting-landing-page .section-training .text {
        font-size: 0.875em; } }
  .node-type-training-consulting-landing-page .section-training .card-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-training-consulting-landing-page .section-training .card {
    text-align: left; }
    .node-type-training-consulting-landing-page .section-training .card:nth-child(4n) {
      margin-right: 0; }
    .node-type-training-consulting-landing-page .section-training .card:nth-child(4n+1) {
      clear: left; }
  .node-type-training-consulting-landing-page .section-training .primary-call-action {
    margin-top: 50px; }
  @media screen and (max-width: 1200px) {
    .node-type-training-consulting-landing-page .section-training {
      padding: 70px 0 35px; }
      .node-type-training-consulting-landing-page .section-training .text {
        margin-bottom: 40px; } }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .section-training .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .node-type-training-consulting-landing-page .section-training .card:last-child {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-training .card:nth-child(2n) {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-training .card:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-training {
      padding: 25px 20px; }
      .node-type-training-consulting-landing-page .section-training .card {
        width: 100%; } }

.node-type-training-consulting-landing-page .section-consulting {
  padding: 50px 0 100px;
  background: #FBF9F8;
  text-align: center; }
  .node-type-training-consulting-landing-page .section-consulting .text {
    max-width: 700px;
    margin: 0 auto 50px;
    font-size: 0.875em;
    color: #666262; }
    @media screen and (max-width: 680px) {
      .node-type-training-consulting-landing-page .section-consulting .text {
        font-size: 0.8125em;
        margin-bottom: 25px; } }
  .node-type-training-consulting-landing-page .section-consulting .card {
    text-align: left; }
  .node-type-training-consulting-landing-page .section-consulting .primary-call-action {
    margin-top: 50px; }
  @media screen and (max-width: 1200px) {
    .node-type-training-consulting-landing-page .section-consulting {
      padding: 35px 0 70px; } }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .section-consulting .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .node-type-training-consulting-landing-page .section-consulting .card:last-child {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-consulting .card:nth-child(2n) {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-consulting .card:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-consulting {
      padding: 25px 20px; }
      .node-type-training-consulting-landing-page .section-consulting .card {
        width: 100%; } }

.node-type-training-consulting-landing-page .orange-overlay {
  padding: 56px 0 50px; }
  .node-type-training-consulting-landing-page .orange-overlay .wrapper {
    padding-bottom: 22px;
    border-bottom: 1px solid #FFF;
    margin-bottom: 30px; }
    .node-type-training-consulting-landing-page .orange-overlay .wrapper::after {
      clear: both;
      content: "";
      display: table; }
  .node-type-training-consulting-landing-page .orange-overlay h2 {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%;
    font-size: 1.5em;
    color: #FFF;
    line-height: 1.25;
    letter-spacing: -0.7px;
    margin-bottom: 0; }
    .node-type-training-consulting-landing-page .orange-overlay h2:last-child {
      margin-right: 0; }
  .node-type-training-consulting-landing-page .orange-overlay .text {
    margin-left: 8.51064%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    font-size: 0.875em;
    line-height: 1.5; }
    .node-type-training-consulting-landing-page .orange-overlay .text:last-child {
      margin-right: 0; }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .orange-overlay h2 {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 40.42553%; }
      .node-type-training-consulting-landing-page .orange-overlay h2:last-child {
        margin-right: 0; }
    .node-type-training-consulting-landing-page .orange-overlay .text {
      margin-left: 0%; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .orange-overlay {
      padding: 40px 20px 34px; }
      .node-type-training-consulting-landing-page .orange-overlay .wrapper {
        padding-bottom: 0;
        border-bottom: 0;
        margin-bottom: 20px; }
      .node-type-training-consulting-landing-page .orange-overlay h2 {
        font-size: 1.3125em;
        line-height: 1.19;
        margin-bottom: 5px;
        width: 100%; }
      .node-type-training-consulting-landing-page .orange-overlay .text {
        font-size: 0.8125em;
        font-weight: 500;
        width: 100%; } }

.node-type-training-consulting-landing-page .section-our-impact {
  padding: 100px 0;
  text-align: center; }
  .node-type-training-consulting-landing-page .section-our-impact .container {
    max-width: 100%; }
  .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide {
    outline: none;
    margin: 0 38px;
    padding: 45px 90px;
    background: #FBF9F8;
    opacity: 0.7;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current {
      opacity: 1; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:before {
        content: '';
        position: absolute;
        top: -19px;
        left: -21px;
        height: 38px;
        width: 48px;
        background: url("../../images/build/quote-left.png") no-repeat center;
        background-size: 100% auto;
        z-index: -1; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:after {
        content: '';
        position: absolute;
        right: 27px;
        bottom: -19px;
        height: 38px;
        width: 48px;
        background: url("../../images/build/quote-right.png") no-repeat center;
        background-size: 100% auto;
        z-index: -1; }
      @media screen and (max-width: 680px) {
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:before, .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:after {
          content: none; } }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .text {
      display: none; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .text-full {
      display: block;
      position: relative;
      font-size: 0.875rem;
      color: #999;
      margin: 0 auto 30px;
      line-height: 1.57;
      z-index: 1;
      max-width: 650px; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .single-slide-header {
      display: none; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .landing-slide-header {
      font-size: 0.875rem;
      font-weight: 500;
      color: #545151;
      line-height: 1.42;
      letter-spacing: -0.41px; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .link-underline {
      display: none; }
  .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-next {
    right: 10%; }
  .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-prev {
    left: 10%; }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-next {
      right: 3%; }
    .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-prev {
      left: 3%; } }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .section-our-impact {
      padding: 70px 0; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide {
        padding: 45px 60px; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-our-impact {
      padding: 41px 0 39px; }
      .node-type-training-consulting-landing-page .section-our-impact h2 {
        margin-bottom: 25px; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide {
        margin: 0 10px;
        padding: 30px 10px; }
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current {
          padding: 30px 20px; }
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .text {
          font-size: 0.84375em; }
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide h3 {
          font-size: 0.75em; } }

.node-type-training-consulting .event-single-header {
  background: #F3F3F4; }

.node-type-training-consulting .testimonials-slider {
  margin: 30px 0; }
  .node-type-training-consulting .testimonials-slider .testimonials-slide {
    padding: 39px 76px; }
  .node-type-training-consulting .testimonials-slider h3 {
    font-size: 1.0625em;
    font-weight: 600;
    margin-bottom: 7px;
    color: #545151;
    line-height: 1.3;
    letter-spacing: -0.4px; }
  .node-type-training-consulting .testimonials-slider .text {
    font-size: 0.75em;
    line-height: 1.58;
    margin-bottom: 36px;
    color: #666262; }
  .node-type-training-consulting .testimonials-slider .link-underline {
    text-transform: lowercase; }

.node-type-training-consulting .slick-dots {
  bottom: -30px; }

.node-type-training-consulting .slick-arrow {
  height: 35px;
  width: 35px; }

@media screen and (max-width: 768px) {
  .node-type-training-consulting .testimonials-slider .testimonials-slide {
    padding: 30px 50px; }
  .node-type-training-consulting .testimonials-slider .text {
    margin-bottom: 15px; }
  .node-type-training-consulting .slick-arrow {
    height: 30px;
    width: 30px; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-prev {
      left: 10px; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-next {
      right: 10px; } }

@media screen and (max-width: 680px) {
  .node-type-training-consulting .main-with-sidebar {
    padding: 40px 0 45px; }
  .node-type-training-consulting .paragraph:not(.paragraph-testimonials) {
    padding: 35px 20px 8px; }
    .node-type-training-consulting .paragraph:not(.paragraph-testimonials):first-of-type {
      padding-top: 0; }
  .node-type-training-consulting .paragraph-testimonials h2, .node-type-training-consulting .paragraph-testimonials .text {
    padding: 0 20px; }
  .node-type-training-consulting .testimonials-slider .testimonials-slide {
    padding: 25px 35px;
    margin: 0 20px; }
  .node-type-training-consulting .testimonials-slider .text {
    margin-bottom: 41px;
    padding: 0; }
  .node-type-training-consulting .slick-dots {
    bottom: -35px; }
  .node-type-training-consulting .slick-arrow {
    height: 30px;
    width: 30px; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-next {
      right: 1%; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-prev {
      left: 1%; } }

.contact-details {
  background-color: #F7F9FC;
  padding: 33px 0; }
  .contact-details-inner {
    background-color: #fff;
    border-radius: 20px;
    padding: 28px 107px;
    min-height: 355px; }
    @media screen and (max-width: 1200px) {
      .contact-details-inner {
        padding: 28px 30px; } }
    @media screen and (max-width: 680px) {
      .contact-details-inner {
        padding: 24px 16px 32px 16px; } }
  .contact-details-title {
    font-size: 1.5rem;
    font-weight: 400;
    color: #10487a;
    letter-spacing: -0.03em;
    margin-bottom: 43px; }

.contact-locations {
  display: flex;
  gap: 10px 229px; }
  @media screen and (max-width: 768px) {
    .contact-locations {
      gap: 10px 70px; } }
  @media screen and (max-width: 680px) {
    .contact-locations {
      display: block; } }

@media screen and (max-width: 768px) {
  .contact-location {
    width: 50%; } }

@media screen and (max-width: 680px) {
  .contact-location {
    width: 100%; } }

.contact-info-item {
  color: #545151;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.03em;
  padding-left: 20px;
  position: relative;
  font-size: 0.875rem;
  margin-bottom: 6px; }
  .contact-info-item::before {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1rem;
    font-family: inherit;
    color: #f37324;
    font-weight: 500; }
  .contact-info-item a {
    color: inherit; }

.contact-info-number {
  font-size: 0.875rem; }

.contact-info-address {
  margin-bottom: 32px; }
  @media screen and (min-width: 681px) {
    .contact-info-address {
      min-height: 6.75rem; } }
  .contact-info-address::before {
    content: url("../../images/build/address.svg");
    left: -5px;
    top: 1px;
    color: #f37324;
    font-weight: 300; }

.contact-info-tel::before {
  content: 'T';
  left: -5px;
  top: -1px; }

.contact-info-fax::before {
  content: 'F';
  left: -5px;
  top: -2px; }

.contact-info-map {
  display: block;
  position: relative;
  margin-top: 6px;
  font-size: 0.75rem;
  letter-spacing: normal;
  padding-left: 7px; }
  .contact-info-map::before {
    position: absolute;
    content: '';
    height: 10px;
    width: 2px;
    top: 3px;
    left: 0;
    background-color: #f37324; }

.contact-message {
  background-color: #dce4ec;
  padding: 44px 0; }
  @media screen and (max-width: 768px) {
    .contact-message {
      padding: 24px 0; } }
  .contact-message-inner {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    display: flex; }
  .contact-message-title {
    font-size: 1.5rem;
    color: #10487a;
    letter-spacing: normal;
    font-weight: 400;
    letter-spacing: -0.027em; }
    @media screen and (max-width: 768px) {
      .contact-message-title {
        margin-bottom: 5px; } }

.contact-image {
  max-width: 504px;
  width: 100%;
  background-image: url("../../images/build/contact-image.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 768px) {
    .contact-image {
      display: none; } }

.contact-content {
  flex-grow: 1;
  padding: 40px 111px 78px 114px; }
  @media screen and (max-width: 1200px) {
    .contact-content {
      padding: 32px 40px 16px;
      min-width: 532px; } }
  @media screen and (max-width: 768px) {
    .contact-content {
      min-width: 100%;
      padding: 30px 19px 16px; } }

.contact-form #rhm-helpers-entityform-form > div {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 0 19px;
  grid-template-areas: "first last" "email number" "subject subject" "message message" "action action"; }
  @media screen and (max-width: 680px) {
    .contact-form #rhm-helpers-entityform-form > div {
      display: block; } }

.contact-form #rhm-helpers-entityform-form label {
  padding-left: 0; }

.contact-form #edit-field-first-name {
  grid-area: first; }

.contact-form #edit-field-last-name {
  grid-area: last; }

.contact-form #edit-field-email {
  grid-area: email; }

.contact-form #edit-field-contact-number {
  grid-area: number; }

@media screen and (max-width: 680px) {
  .contact-form #edit-field-first-name,
  .contact-form #edit-field-last-name,
  .contact-form #edit-field-email,
  .contact-form #edit-field-contact-number {
    padding: 0 71px 0 0; } }

.contact-form #edit-field-subject {
  grid-area: subject; }
  .contact-form #edit-field-subject .select2-container {
    width: 100% !important; }
    @media screen and (max-width: 680px) {
      .contact-form #edit-field-subject .select2-container {
        left: 0 !important; } }

.contact-form #edit-field-message {
  grid-area: message; }

.contact-form #edit-actions {
  grid-area: action;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-right: 37px;
  margin: 0; }
  .contact-form #edit-actions .captcha {
    margin: 0; }
  .contact-form #edit-actions .form-submit {
    background-color: #10487a;
    background-image: url("../../svg/angle-right.svg");
    background-position: right 20px bottom 50%;
    background-repeat: no-repeat;
    min-width: 5.75rem;
    padding-right: 2.5rem; }
  @media screen and (max-width: 680px) {
    .contact-form #edit-actions {
      flex-direction: column; }
      .contact-form #edit-actions .form-submit {
        margin-top: 2rem;
        width: 7.5rem; } }

.contact-form #edit-submit {
  border: none;
  color: #fff;
  border-radius: 50px;
  position: relative;
  padding: 12px 14px;
  font-weight: 300;
  background-color: #10487a;
  font-size: 0.8rem; }

.node-type-page {
  background-size: 100% auto; }
  .node-type-page #content-area section {
    margin-bottom: 60px; }
    .node-type-page #content-area section::after {
      clear: both;
      content: "";
      display: table; }
  .node-type-page #content-area article.template-terms section {
    margin-bottom: 30px; }
  .node-type-page article .container {
    padding: 100px 0; }
    @media screen and (max-width: 680px) {
      .node-type-page article .container {
        padding: 11px 21px 45px; } }
  .node-type-page article.template-terms .container {
    padding: 50px 0; }
  .node-type-page .text-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .node-type-page .text-wrap:last-child {
      margin-right: 0; }
    .node-type-page .text-wrap h5 {
      font-size: 0.6875em;
      color: #3B3535;
      margin-bottom: 13px;
      letter-spacing: 2.8px;
      text-transform: uppercase;
      font-weight: normal; }
    .node-type-page .text-wrap p {
      margin-bottom: 25px; }
      .node-type-page .text-wrap p br {
        display: none; }
    .node-type-page .text-wrap a:not(.primary-call-action):not(.secondary-call-action) {
      color: #F2743A; }
      .node-type-page .text-wrap a:not(.primary-call-action):not(.secondary-call-action):hover {
        text-decoration: underline; }
    @media screen and (max-width: 1200px) {
      .node-type-page .text-wrap {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 61.70213%; }
        .node-type-page .text-wrap:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .node-type-page .text-wrap {
        float: none;
        width: 100%;
        margin-top: 17px; }
        .node-type-page .text-wrap h5 {
          font-size: 0.625em;
          margin-bottom: 10px;
          letter-spacing: 1.6px; } }
    .node-type-page .text-wrap .links {
      margin-top: 30px; }
  .node-type-page .image-wrap {
    position: relative;
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 27.65957%;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 25px rgba(250, 248, 247, 0.54); }
    .node-type-page .image-wrap:last-child {
      margin-right: 0; }
    .node-type-page .image-wrap:before {
      content: '';
      display: block;
      padding-top: 100%; }
    .node-type-page .image-wrap:after {
      content: '';
      position: absolute;
      top: 5px;
      right: 10px;
      height: 63px;
      width: 63px;
      background: rgba(251, 118, 63, 0.85);
      border-radius: 50%; }
    @media screen and (max-width: 1200px) {
      .node-type-page .image-wrap {
        margin-left: 4.25532%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 31.91489%; }
        .node-type-page .image-wrap:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .node-type-page .image-wrap {
        float: none;
        margin: 47px auto 45px !important;
        max-width: 205px;
        width: 80%;
        box-shadow: inset 0 0 0 15px rgba(250, 248, 247, 0.54); }
        .node-type-page .image-wrap:after {
          top: 0;
          right: 5px;
          height: 41px;
          width: 41px; } }
  .node-type-page .template-terms .orange-overlay .container {
    padding-top: 0;
    padding-bottom: 0; }
  .node-type-page .template-terms .orange-overlay h1 {
    font-size: 1.5rem;
    margin: 0; }
  @media screen and (min-width: 769px) {
    .node-type-page .template-terms .text-wrap {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 74.46809%; }
      .node-type-page .template-terms .text-wrap:last-child {
        margin-right: 0; } }
  .node-type-page .template-terms section {
    font-size: 0.875rem; }
    .node-type-page .template-terms section h2 {
      font-size: 1.125rem;
      font-weight: 600; }

.basic-page {
  background-color: #EDF1F7; }
  .basic-page-inner {
    padding: 33px 0; }
  .basic-page-content {
    background-color: #fff;
    padding: 40px 103px;
    border-radius: 20px; }
    @media screen and (max-width: 768px) {
      .basic-page-content {
        padding: 40px 20px; } }
    @media screen and (max-width: 768px) {
      .basic-page-content .btn-back {
        display: none; } }
  .basic-page-section:not(:last-of-type) {
    margin-bottom: 28px; }
  .basic-page-heading {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 13px;
    letter-spacing: -0.03em;
    line-height: normal; }
  .basic-page-par {
    max-width: 713px;
    width: 100%; }
    .basic-page-par p {
      font-size: 0.875rem;
      margin-bottom: 0; }
      .basic-page-par p:not(:last-of-type) {
        margin-bottom: 30px; }
  .basic-page-buttons {
    margin-top: 30px; }
  .basic-page-cta {
    padding: 9px 24px 9px 16px;
    font-weight: 500;
    font-size: 0.75rem; }
    .basic-page-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .basic-page-cta::after {
      margin-left: 10px;
      top: -1px; }

.node-type-faq-landing .content {
  background-size: 100% auto; }

.node-type-faq-landing .faq-page .container {
  padding: 80px 0 165px; }
  @media screen and (max-width: 768px) {
    .node-type-faq-landing .faq-page .container {
      padding: 50px 0 60px; } }
  @media screen and (max-width: 680px) {
    .node-type-faq-landing .faq-page .container {
      padding: 0; } }

.node-type-faq-landing .faq-nav {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%; }
  .node-type-faq-landing .faq-nav:last-child {
    margin-right: 0; }
  @media screen and (max-width: 680px) {
    .node-type-faq-landing .faq-nav {
      display: none; } }

.node-type-faq-landing .faq-wrapper {
  margin-left: 8.51064%;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 65.95745%; }
  .node-type-faq-landing .faq-wrapper:last-child {
    margin-right: 0; }
  @media screen and (max-width: 680px) {
    .node-type-faq-landing .faq-wrapper {
      margin-left: 0%;
      width: 100%;
      padding: 25px 20px 40px; } }

.node-type-faq-landing .field-label {
  display: none; }

.get-involved {
  background-color: #dce4ec; }
  .get-involved-section {
    padding: 74px 0 73px; }
  .get-involved-content {
    max-width: 955px;
    width: 100%;
    margin: 0 auto; }
  .get-involved-title {
    font-size: 3.0625rem;
    color: #10487a;
    letter-spacing: normal;
    margin-bottom: 25px;
    text-align: center;
    padding-right: 22px; }
    @media screen and (max-width: 768px) {
      .get-involved-title {
        padding-right: 0;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.2; } }
  .get-involved-text {
    text-align: center; }
    .get-involved-text p {
      font-size: 1.25rem;
      margin: 0;
      color: #10487a;
      line-height: 1.5; }
      @media screen and (max-width: 768px) {
        .get-involved-text p {
          font-size: 1rem;
          margin-bottom: 15px; } }
  .get-involved-grid {
    margin-top: 45px;
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-areas: "main main two three" "main main four five" "six seven eight nine";
    gap: 18px; }
    @media screen and (max-width: 768px) {
      .get-involved-grid {
        margin-top: 15px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto repeat(4, 1fr);
        grid-template-areas: "main main" "two three" "four five" "six seven" "eight nine";
        gap: 15px; } }
    .get-involved-grid .grid {
      background-color: #10487a;
      border-radius: 20px;
      display: flex;
      flex-direction: column;
      overflow: hidden; }
      .get-involved-grid .grid:first-of-type {
        grid-area: main;
        min-height: 460px; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid:first-of-type {
            min-height: 327px; } }
      .get-involved-grid .grid:nth-of-type(2) {
        grid-area: two; }
      .get-involved-grid .grid:nth-of-type(3) {
        grid-area: three; }
      .get-involved-grid .grid:nth-of-type(4) {
        grid-area: four; }
      .get-involved-grid .grid:nth-of-type(5) {
        grid-area: five; }
      .get-involved-grid .grid:nth-of-type(6) {
        grid-area: six; }
      .get-involved-grid .grid:nth-of-type(7) {
        grid-area: seven; }
      .get-involved-grid .grid:nth-of-type(8) {
        grid-area: eight; }
      .get-involved-grid .grid:nth-of-type(9) {
        grid-area: nine; }
      .get-involved-grid .grid-anchor {
        display: block;
        height: 100%;
        position: relative; }
      .get-involved-grid .grid-background {
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover; }
      .get-involved-grid .grid-content {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: 21px 25px 16px; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-content {
            padding: 21px 15px 16px; } }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid-content {
            padding: 7px 15px 16px; } }
      .get-involved-grid .grid-title {
        font-size: 1.125rem;
        font-weight: 500;
        color: #fff;
        letter-spacing: -0.03em;
        margin-bottom: 10px;
        line-height: 1.3; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-title {
            font-size: 1rem; } }
      .get-involved-grid .grid-par {
        margin: 0;
        font-size: 0.6875rem;
        color: #fff;
        line-height: 1.5; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-par {
            font-size: 0.5rem; } }
      .get-involved-grid .grid-link {
        margin-top: auto;
        color: #fff;
        font-size: 0.8125rem; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-link {
            font-weight: 500; } }
        .get-involved-grid .grid-link.cta {
          margin-top: 0; }
      .get-involved-grid .grid__main .grid-background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .get-involved-grid .grid__main .grid-content {
        position: relative;
        width: 199px;
        padding: 0;
        margin: 45px 24px 0 auto; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid__main .grid-content {
            margin: 27px 43px 0 auto; } }
      .get-involved-grid .grid__main .grid-title {
        color: #3B3535;
        font-size: 1.5rem; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid__main .grid-title {
            font-weight: 400; } }
      .get-involved-grid .grid__main .grid-par {
        color: #3B3535;
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid__main .grid-par {
            font-size: 0.6875rem;
            margin-bottom: 18px; } }
      .get-involved-grid .grid__main .grid-link {
        align-self: baseline; }
        .get-involved-grid .grid__main .grid-link.cta {
          padding: 10px 30px 7px;
          font-weight: 500;
          font-size: 0.875rem; }
          @media screen and (max-width: 768px) {
            .get-involved-grid .grid__main .grid-link.cta {
              font-weight: 600;
              padding: 4px 10px; } }
      .get-involved-grid .grid__social {
        padding-bottom: 23px; }
    .get-involved-grid .social-media {
      padding: 0 25px;
      display: flex;
      justify-content: space-between; }
      .get-involved-grid .social-media-item {
        margin: 0;
        background-color: #fff;
        box-shadow: none;
        height: 35px;
        width: 35px; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .social-media-item {
            width: 25px;
            height: 25px; } }
        .get-involved-grid .social-media-item span {
          display: none; }
        .get-involved-grid .social-media-item g,
        .get-involved-grid .social-media-item path {
          fill: #10487a; }

/** ==== PERSONAL DETAILS ===== **/
.page-profile {
  /** Profile General Item **/
  /** Profile Booked Event **/
  /** Profile Your Meetings **/
  /** Profile Personal Details **/
  /** Profile Memberships **/
  /** Profile Your Tickets **/
  /** Profile Company Information **/
  /** Profile Company Representatives **/
  /** Mobile Version **/ }
  .page-profile .main-with-sidebar {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 65.95745%;
    float: right; }
    .page-profile .main-with-sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 680px) {
      .page-profile .main-with-sidebar {
        float: none;
        width: 100%; } }
  .page-profile .user-edit-form-wrap {
    padding: 20px 0;
    float: left;
    display: block;
    margin-right: 3.22581%;
    width: 74.19355%;
    border-bottom: 1px solid #EAEAEA;
    overflow: hidden;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .page-profile .user-edit-form-wrap:last-child {
      margin-right: 0; }
    .page-profile .user-edit-form-wrap .user-edit-form-summary {
      overflow: hidden;
      padding: 0; }
    .page-profile .user-edit-form-wrap .name {
      float: left;
      font-size: 0.8125rem;
      color: #474545;
      font-weight: 500; }
    .page-profile .user-edit-form-wrap button {
      float: right;
      font-size: 0.75em; }
    .page-profile .user-edit-form-wrap:last-child {
      border-bottom: 0; }
    .page-profile .user-edit-form-wrap .profile-pages-personal-form {
      display: none;
      margin-top: 17px; }
    .page-profile .user-edit-form-wrap.open {
      padding: 20px 0; }
      .page-profile .user-edit-form-wrap.open .profile-pages-personal-form {
        display: block;
        margin-top: 17px; }
    .page-profile .user-edit-form-wrap label {
      font-size: 0.6875em;
      font-weight: 400; }
    .page-profile .user-edit-form-wrap label[for=change_password],
    .page-profile .user-edit-form-wrap label[for=change_password_] {
      position: absolute;
      right: 0;
      cursor: pointer;
      color: #f37324; }
      .page-profile .user-edit-form-wrap label[for=change_password] #change_password,
      .page-profile .user-edit-form-wrap label[for=change_password] #change_password_,
      .page-profile .user-edit-form-wrap label[for=change_password_] #change_password,
      .page-profile .user-edit-form-wrap label[for=change_password_] #change_password_ {
        display: none; }
    .page-profile .user-edit-form-wrap .password-wrap.hidden {
      display: none; }
    .page-profile .user-edit-form-wrap .form-item {
      position: relative;
      margin-top: 0; }
      .page-profile .user-edit-form-wrap .form-item.half {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .page-profile .user-edit-form-wrap .form-item.half:last-child {
          margin-right: 0; }
      .page-profile .user-edit-form-wrap .form-item.omega {
        margin-right: 0; }
      .page-profile .user-edit-form-wrap .form-item.clear {
        clear: both; }
    .page-profile .user-edit-form-wrap .user-picture-label {
      display: block;
      margin-bottom: 5px; }
    .page-profile .user-edit-form-wrap .user-picture {
      width: 83px;
      height: 83px;
      overflow: hidden;
      border-radius: 50%;
      margin-right: 20px;
      float: left;
      cursor: pointer; }
      .page-profile .user-edit-form-wrap .user-picture img {
        width: 100%;
        height: auto;
        display: block; }
    .page-profile .user-edit-form-wrap .supported-formats {
      color: #666262;
      font-size: 0.6875rem;
      margin-top: 5px; }
    .page-profile .user-edit-form-wrap input[name="picture"] {
      display: none; }
    .page-profile .user-edit-form-wrap input[type="file"] {
      font-size: 0.8125em; }
    .page-profile .user-edit-form-wrap .form-actions {
      clear: both;
      text-align: center;
      margin: 0 0 7px;
      padding-top: 22px; }
      .page-profile .user-edit-form-wrap .form-actions input {
        display: inline-block;
        margin: 0 15px; }
        .page-profile .user-edit-form-wrap .form-actions input[type="submit"] {
          background-color: #10487a;
          box-shadow: none; }
    .page-profile .user-edit-form-wrap .form-item-error input {
      border-color: #F2743A; }
    .page-profile .user-edit-form-wrap .error-message {
      font-size: 0.8125em;
      color: #F2743A;
      line-height: 1.2;
      margin-top: 4px; }
    .page-profile .user-edit-form-wrap .picture-placeholder {
      height: 78px;
      width: 78px;
      background: #FBF9F8;
      border: 1px solid #EAEAEA;
      border-radius: 3px;
      text-align: center;
      cursor: pointer;
      float: left;
      margin-right: 20px; }
      .page-profile .user-edit-form-wrap .picture-placeholder span {
        font-size: 1.75em;
        color: #C9C9C9;
        display: inline-block;
        height: 25px;
        width: 25px;
        text-align: center;
        border: 1px solid #C9C9C9;
        line-height: 1;
        border-radius: 50%;
        margin-top: 25px;
        padding-top: 3px; }
    @media screen and (max-width: 768px) {
      .page-profile .user-edit-form-wrap {
        width: 100%;
        margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .page-profile .user-edit-form-wrap {
        padding: 14px 0; }
        .page-profile .user-edit-form-wrap.open {
          padding: 30px 0; }
        .page-profile .user-edit-form-wrap .form-item {
          width: 100%; }
          .page-profile .user-edit-form-wrap .form-item.half {
            width: 100%; } }
  .page-profile .profile,
  .page-profile .profile-landing {
    padding: 0; }
  .page-profile .field-name-field-title .field-label,
  .page-profile .field-name-field-external-link .field-label,
  .page-profile .field-name-field-video .field-label,
  .page-profile .field-type-soundcloud .field-label,
  .page-profile .field-name-field-is-archived .field-label {
    display: none; }
  .page-profile .field-name-field-title {
    margin-top: 20px; }
  .page-profile .field-name-field-title .field-item {
    font-weight: 600; }
  .page-profile .field-name-field-is-archived .field-items {
    display: none; }
  .page-profile .field-name-field-resource-date {
    margin-bottom: 100px;
    margin-top: -10px; }
    .page-profile .field-name-field-resource-date .field-label {
      display: none; }
  .page-profile .profile-landing-coming-up .profile-item {
    padding: 0; }
    .page-profile .profile-landing-coming-up .profile-item h3 {
      padding-bottom: 5px;
      margin-bottom: 10px; }
  .page-profile .profile section {
    margin-bottom: 100px; }
  .page-profile .profile p,
  .page-profile .profile .text {
    font-size: 0.8125em;
    color: #666262; }
  .page-profile .profile .icon-title {
    font-size: 1.5rem;
    font-weight: 400;
    text-transform: capitalize;
    line-height: 1.25;
    letter-spacing: -0.7px;
    margin-bottom: 30px;
    overflow: hidden;
    display: flex;
    align-items: center; }
    .page-profile .profile .icon-title a {
      font-size: 1rem;
      display: block;
      font-weight: 400;
      line-height: 1;
      letter-spacing: 0.005em;
      position: relative;
      text-transform: lowercase;
      margin-left: auto;
      background-color: #10487a;
      border-radius: 50px;
      color: #fff;
      padding: 11px 23px 11px 15px;
      border: 1px solid #10487a;
      transition-property: color, background-color;
      transition-duration: 0.3s;
      transition-timing-function: ease-in-out; }
      .page-profile .profile .icon-title a::after {
        top: -2px;
        right: 0;
        position: relative;
        content: '';
        width: 8px;
        height: 8px;
        rotate: 45deg;
        box-shadow: 1.5px -1.5px 0 0 #fff;
        display: inline-block; }
      .page-profile .profile .icon-title a:hover {
        text-decoration: none;
        background-color: #fff;
        color: #10487a; }
        .page-profile .profile .icon-title a:hover::after {
          box-shadow: 1px -1px 0 0 #10487a; }
      .page-profile .profile .icon-title a::after {
        margin-left: 6px;
        transition: box-shadow 0.3s ease-in-out; }
    .page-profile .profile .icon-title .icon {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #3B3535;
      display: inline-block;
      vertical-align: middle;
      margin-right: 15px;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 50%; }
      .page-profile .profile .icon-title .icon.icon-upcoming {
        background-image: url(../../images/build/icon-upcoming-event-dark.png); }
      .page-profile .profile .icon-title .icon.icon-calendar {
        background-image: url(../../images/build/icon-calendar-dark.png); }
      .page-profile .profile .icon-title .icon.icon-publication {
        background-image: url(../../images/build/icon-publication-dark.png); }
      .page-profile .profile .icon-title .icon.icon-note {
        background-image: url(../../images/build/icon-note-dark.png); }
      .page-profile .profile .icon-title .icon.icon-featured {
        background-image: url(../../images/build/icon-featured.png);
        background-size: 47%; }
  @media screen and (max-width: 768px) {
    .page-profile .profile .icon-title {
      font-size: 1.25rem;
      margin-bottom: 20px; } }
  .page-profile .profile-booked-event a {
    margin-top: 15px; }
  @media screen and (min-width: 681px) {
    .page-profile .booked-event h3 {
      margin-right: 100px; } }
  .page-profile .profile-item {
    border: 0;
    position: relative;
    margin-bottom: 30px;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear;
    padding-left: 0; }
    .page-profile .profile-item .secondary-call-action, .page-profile .profile-item .company-header .form-submit, .company-header .page-profile .profile-item .form-submit, .page-profile .profile-item .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .page-profile .profile-item .form-submit,
    .page-profile .profile-item .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .page-profile .profile-item .form-submit {
      position: relative; }
    .page-profile .profile-item.complete .secondary-call-action, .page-profile .profile-item.complete .company-header .form-submit, .company-header .page-profile .profile-item.complete .form-submit, .page-profile .profile-item.complete .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .page-profile .profile-item.complete .form-submit,
    .page-profile .profile-item.complete .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .page-profile .profile-item.complete .form-submit {
      top: 11px; }
    .page-profile .profile-item .item-wrapper {
      padding: 5px 0;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .page-profile .profile-item .text {
      clear: both; }
    .page-profile .profile-item .booked-event-actions {
      position: absolute;
      top: 0;
      right: 15px; }
      .page-profile .profile-item .booked-event-actions li {
        float: left;
        margin-left: 10px; }
        .page-profile .profile-item .booked-event-actions li:first-of-type {
          margin-left: 0; }
      .page-profile .profile-item .booked-event-actions a {
        color: #FC682D;
        font-size: 0.75rem;
        text-transform: lowercase;
        font-weight: 400;
        line-height: 1.25;
        transition: all 333ms linear; }
    .page-profile .profile-item .profile-item-title {
      position: relative;
      font-size: 0.9375em;
      color: #3B3535;
      font-weight: 500;
      line-height: 1.73;
      letter-spacing: -0.44px;
      border: 0;
      margin-bottom: 2px;
      float: left;
      max-width: calc(100% - 188px); }
    .page-profile .profile-item .profile-item-meta {
      clear: both;
      font-size: 0.6875em;
      text-transform: uppercase;
      font-weight: normal;
      color: #666262;
      margin: 5px 0 6px; }
    .page-profile .profile-item .profile-item-summary {
      font-size: 0.8125em;
      font-weight: normal;
      line-height: 1.61;
      margin-bottom: 10px;
      color: #666262;
      word-break: break-word; }
    .page-profile .profile-item .file > a,
    .page-profile .profile-item .ticket-call-action {
      margin-top: 15px;
      display: inline-flex; }
    .page-profile .profile-item .ticket-call-action {
      margin-left: 15px; }
    .page-profile .profile-item .booked-event-close {
      display: none; }
    .page-profile .profile-item.open {
      border: 1px solid #EAEAEA;
      position: relative; }
      .page-profile .profile-item.open h3:after {
        content: none; }
      .page-profile .profile-item.open .item-wrapper {
        padding: 16px 19px 16px 29px;
        background: #F2743A; }
      .page-profile .profile-item.open .booked-event-close {
        position: absolute;
        top: 5px;
        right: 10px;
        display: block;
        color: #FFF;
        font-size: 2.375em;
        line-height: 1; }
      .page-profile .profile-item.open .profile-item-title,
      .page-profile .profile-item.open .profile-item-meta,
      .page-profile .profile-item.open .profile-item-summary {
        color: #FFF; }
      .page-profile .profile-item.open .profile-item-summary {
        margin-bottom: 0; }
      .page-profile .profile-item.open:before,
      .page-profile .profile-item.open .booked-event-actions,
      .page-profile .profile-item.open .ticket-call-action {
        display: none; }
    .page-profile .profile-item .form-wrap {
      padding: 24px 20px 20px 17px;
      border: 1px solid #F1F1F2;
      border-top: 0;
      background: #FFF;
      overflow: hidden; }
      .page-profile .profile-item .form-wrap h3 {
        font-size: 0.6875em;
        text-transform: uppercase;
        font-weight: normal;
        letter-spacing: 0.25em;
        border: 0;
        margin-bottom: 0;
        padding-left: 5px; }
      .page-profile .profile-item .form-wrap h4 {
        font-size: 0.8125em;
        font-weight: 500;
        overflow: hidden;
        margin-bottom: 0; }
        .page-profile .profile-item .form-wrap h4 button {
          float: right;
          font-size: 0.75rem;
          font-weight: 400; }
      .page-profile .profile-item .form-wrap .guest {
        border-bottom: 1px solid #EAEAEA;
        padding: 20px 0 20px 10px;
        overflow: hidden; }
        .page-profile .profile-item .form-wrap .guest:last-child {
          border-bottom: 0; }
      .page-profile .profile-item .form-wrap .fields-wrap {
        display: none;
        margin-top: 12px;
        max-width: 500px; }
      .page-profile .profile-item .form-wrap .input-wrap {
        margin-bottom: 10px; }
        .page-profile .profile-item .form-wrap .input-wrap.half {
          float: left;
          display: block;
          margin-right: 2.12766%;
          width: 48.93617%; }
          .page-profile .profile-item .form-wrap .input-wrap.half:last-child {
            margin-right: 0; }
        .page-profile .profile-item .form-wrap .input-wrap.omega {
          margin-right: 0; }
      .page-profile .profile-item .form-wrap label {
        font-size: 0.6875em;
        color: #666262;
        font-weight: 400;
        text-indent: 10px; }
      .page-profile .profile-item .form-wrap .additional-info {
        margin-top: 28px; }
        .page-profile .profile-item .form-wrap .additional-info h3 {
          font-size: 0.6875rem;
          line-height: 2.8;
          margin-bottom: 15px; }
        .page-profile .profile-item .form-wrap .additional-info textarea {
          max-width: 500px;
          height: 135px;
          background: rgba(234, 233, 236, 0.26);
          border: 1px solid #EAE9EC;
          border-radius: 3px;
          font-size: 0.875rem;
          color: #545151; }
      .page-profile .profile-item .form-wrap .message {
        font-size: 0.875rem;
        color: #F2743A;
        border: 1px solid #F2743A;
        padding: 5px;
        margin: 15px 0;
        font-weight: 600; }
      .page-profile .profile-item .form-wrap .form-actions {
        margin: 0;
        text-align: center; }
        .page-profile .profile-item .form-wrap .form-actions input[type="reset"] {
          margin-left: 22px; }
  .page-profile button.booked-event-add-details {
    color: #FC682D;
    font-size: 0.75em;
    text-transform: lowercase;
    font-weight: 400;
    line-height: 1.25;
    padding: 0;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  @media screen and (max-width: 680px) {
    .page-profile .profile-meeting {
      padding: 25px 0 45px; } }
  .page-profile .profile-pages-personal-details {
    position: relative; }
    .page-profile .profile-pages-personal-details::after {
      clear: both;
      content: "";
      display: table; }
    .page-profile .profile-pages-personal-details h3 {
      text-transform: uppercase;
      font-size: 0.6875em;
      font-weight: 300;
      border-bottom: 1px solid #999;
      letter-spacing: 0.25em;
      padding-bottom: 3px;
      margin-bottom: 0; }
    @media screen and (max-width: 680px) {
      .page-profile .profile-pages-personal-details {
        padding: 25px 0 45px; }
        .page-profile .profile-pages-personal-details h3 {
          font-size: 0.625rem;
          padding-bottom: 0; } }
  .page-profile .profile-memberships .membership {
    margin-bottom: 80px; }
  .page-profile .profile-memberships section {
    margin-bottom: 50px; }
  .page-profile .profile-memberships h3,
  .page-profile .profile-memberships h4 {
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.28;
    letter-spacing: -0.53px;
    color: #3B3535; }
  .page-profile .profile-memberships .membership-meta {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: normal;
    margin-bottom: 10px;
    color: #666262; }
  .page-profile .profile-memberships .text {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.42;
    color: #545151;
    margin-bottom: 17px; }
  .page-profile .profile-memberships .file-downloads {
    padding: 0;
    list-style-type: none; }
    .page-profile .profile-memberships .file-downloads li {
      display: inline-block;
      text-align: center;
      margin-right: 15px; }
    .page-profile .profile-memberships .file-downloads .file-info {
      margin-top: -3px;
      font-size: 0.6875em;
      text-transform: uppercase;
      color: #666262; }
  @media screen and (max-width: 680px) {
    .page-profile .profile-memberships {
      padding: 25px 0 45px;
      position: relative; }
      .page-profile .profile-memberships h2 {
        font-size: 1.25rem;
        margin-bottom: 25px; }
      .page-profile .profile-memberships section {
        margin-bottom: 45px; } }
  .page-profile .profile-your-tickets section {
    margin-bottom: 100px; }
  .page-profile .profile-your-tickets .ticket-allowance-summary::after {
    clear: both;
    content: "";
    display: table; }
  .page-profile .profile-your-tickets .ticket-allowance-summary h2 {
    font-size: 1.0625rem;
    font-weight: 600;
    border-bottom: 1px solid #999;
    color: #545151;
    padding-bottom: 3px;
    letter-spacing: -0.4px;
    margin-bottom: 8px; }
  .page-profile .profile-your-tickets .ticket-allowance-summary p {
    font-size: 0.875rem;
    color: #999;
    line-height: 1.57;
    margin-bottom: 43px; }
  .page-profile .profile-your-tickets .ticket-allowance-summary-item {
    border-bottom: 1px solid #EAE9EC;
    font-size: 0.8125em;
    padding: 10px 0; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item::after {
      clear: both;
      content: "";
      display: table; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item .event-type {
      float: left;
      font-weight: 500; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item .benefit {
      float: right;
      font-size: 0.875em; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item:last-child {
      border-bottom: 0; }
  @media screen and (max-width: 680px) {
    .page-profile .profile-your-tickets {
      padding: 25px 0 45px; }
      .page-profile .profile-your-tickets section {
        margin-bottom: 50px; }
      .page-profile .profile-your-tickets h2 {
        margin-bottom: 25px; }
      .page-profile .profile-your-tickets .profile-item {
        display: block; }
      .page-profile .profile-your-tickets .ticket-allowance-summary {
        padding: 20px; } }
    @media screen and (max-width: 680px) and (max-width: 680px) {
      .page-profile .profile-your-tickets .ticket-allowance-summary {
        padding: 20px 0; } }
  @media screen and (max-width: 680px) {
        .page-profile .profile-your-tickets .ticket-allowance-summary h2 {
          font-size: 0.9375rem; }
        .page-profile .profile-your-tickets .ticket-allowance-summary p {
          font-size: 0.8125rem;
          margin-bottom: 20px; } }
  .page-profile .profile-company-information::after {
    clear: both;
    content: "";
    display: table; }
  .page-profile .profile-company-information .profile-pages-company-form {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 74.46809%; }
    .page-profile .profile-company-information .profile-pages-company-form:last-child {
      margin-right: 0; }
  .page-profile .profile-company-information input:not([type="submit"]) {
    background: #FBF9F8; }
  .page-profile .profile-company-information label {
    padding-left: 15px; }
    @media screen and (max-width: 680px) {
      .page-profile .profile-company-information label {
        padding-left: 0; } }
  .page-profile .profile-company-information label,
  .page-profile .profile-company-information p {
    font-size: 0.6875rem;
    font-weight: 400;
    color: #666262; }
  .page-profile .profile-company-information .form-item {
    margin: 0 0 15px; }
    .page-profile .profile-company-information .form-item:first-of-type, .page-profile .profile-company-information .form-item:nth-of-type(2) {
      display: inline-block;
      width: calc((100% / 2) - 14px); }
    .page-profile .profile-company-information .form-item:first-of-type {
      margin-right: 23px; }
  .page-profile .profile-company-information .select2-container {
    display: block;
    font-size: 0.875rem;
    width: 100% !important;
    outline: none;
    margin-bottom: 5px;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .page-profile .profile-company-information .select2-container .select2-selection--multiple {
      border: 1px solid #EAE9EC !important;
      padding: 5px 15px 0;
      border-radius: 3px;
      background: #FBF9F8; }
    .page-profile .profile-company-information .select2-container .select2-selection__rendered {
      padding: 0; }
      .page-profile .profile-company-information .select2-container .select2-selection__rendered li {
        margin: 3px 5px;
        background: #FFF;
        border-radius: 40px;
        border: 0;
        font-size: 0.6875rem;
        text-transform: uppercase;
        color: #474545;
        letter-spacing: 2px;
        padding: 7px 10px 5px 13px; }
        .page-profile .profile-company-information .select2-container .select2-selection__rendered li .select2-selection__choice__remove {
          float: right;
          font-size: 13px;
          font-weight: normal;
          margin: 0 0 0 3px;
          line-height: 1.5; }
      .page-profile .profile-company-information .select2-container .select2-selection__rendered .select2-search--inline {
        display: none; }
    .page-profile .profile-company-information .select2-container.select2-container--focus .select2-selection--multiple {
      background: #FBF9F8; }
  .page-profile .profile-company-information #field_summary {
    padding: 20px;
    height: 150px;
    background: #FBF9F8 !important; }
  .page-profile .profile-company-information #body {
    padding: 20px;
    height: 380px;
    background: #FBF9F8 !important; }
  .page-profile .profile-company-information .form-actions {
    text-align: center; }
    .page-profile .profile-company-information .form-actions input {
      margin: 0 10px; }
  @media screen and (max-width: 1200px) {
    .page-profile .profile-company-information .profile-pages-company-form {
      width: 100%;
      margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .page-profile .profile-company-information {
      padding: 25px 0 35px; }
      .page-profile .profile-company-information .form-item:first-of-type, .page-profile .profile-company-information .form-item:nth-of-type(2) {
        width: 100%; }
      .page-profile .profile-company-information .form-item:first-of-type {
        margin-right: 0; }
      .page-profile .profile-company-information .select2-container {
        left: 0 !important; } }
  .page-profile .profile-company-representatives {
    position: relative; }
    .page-profile .profile-company-representatives p {
      clear: both;
      color: #666262;
      font-size: 0.6875rem;
      margin-bottom: 5px; }
    .page-profile .profile-company-representatives .company-representative {
      overflow: hidden;
      border-bottom: 1px solid #EAEAEA;
      padding: 23px 0 30px; }
      .page-profile .profile-company-representatives .company-representative:last-child {
        border-bottom: 0; }
      .page-profile .profile-company-representatives .company-representative .picture {
        display: inline-block;
        vertical-align: middle;
        width: 115px;
        margin-right: 30px; }
        .page-profile .profile-company-representatives .company-representative .picture img {
          width: 100%;
          height: auto;
          overflow: hidden;
          border-radius: 50%; }
      .page-profile .profile-company-representatives .company-representative .text {
        overflow: hidden;
        display: inline-block;
        vertical-align: middle;
        width: calc(100% - 150px); }
      .page-profile .profile-company-representatives .company-representative h3 {
        font-size: 1.0625rem;
        margin-bottom: 5px;
        font-weight: 600;
        color: #545151; }
      .page-profile .profile-company-representatives .company-representative .job-title {
        font-size: 0.875rem;
        color: #666262;
        margin-bottom: 13px; }
      .page-profile .profile-company-representatives .company-representative ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        font-size: 0.75rem; }
      .page-profile .profile-company-representatives .company-representative li {
        margin-bottom: 6px;
        color: #666262; }
    @media screen and (max-width: 680px) {
      .page-profile .profile-company-representatives {
        padding: 25px 0 45px; }
        .page-profile .profile-company-representatives h2 {
          margin-bottom: 15px; }
        .page-profile .profile-company-representatives .company-representative {
          padding: 15px 0; }
          .page-profile .profile-company-representatives .company-representative .picture {
            vertical-align: top;
            width: 84px;
            margin-right: 15px; }
          .page-profile .profile-company-representatives .company-representative .text {
            vertical-align: top;
            width: calc(100% - 105px); }
          .page-profile .profile-company-representatives .company-representative h3 {
            font-size: 0.9375rem; }
          .page-profile .profile-company-representatives .company-representative .job-title {
            font-size: 0.75rem;
            margin-bottom: 5px; }
          .page-profile .profile-company-representatives .company-representative li {
            margin-bottom: 0; } }
  .page-profile .main-wrapper.no-membership .sidebar-menu.sidebar .menu #public-profile,
  .page-profile .main-wrapper.reps-count-0 .sidebar-menu.sidebar .menu #public-profile {
    display: none; }
  .page-profile .profile-page-mobile-current-section {
    display: none; }
  @media screen and (max-width: 680px) {
    .page-profile .sidebar-menu {
      display: inline-block;
      margin-right: 0;
      padding: 13px 21px 11px;
      background: rgba(251, 249, 248, 0.96);
      z-index: 2; }
      .page-profile .sidebar-menu .profile-page-mobile-current-section {
        position: relative;
        display: inline-block;
        font-size: 0.75rem;
        color: #474545;
        font-weight: 600; }
        .page-profile .sidebar-menu .profile-page-mobile-current-section:after {
          content: '';
          height: 2px;
          width: 14px;
          position: absolute;
          bottom: -11px;
          left: 0;
          background: #FC682D; }
      .page-profile .sidebar-menu .btn-more {
        display: block; }
      .page-profile .sidebar-menu ul.menu {
        display: none;
        padding: 15px 0 5px; }
        .page-profile .sidebar-menu ul.menu li {
          width: 100%;
          max-width: inherit; }
      .page-profile .sidebar-menu li .menu {
        display: block;
        padding: 0;
        border: 0;
        margin-bottom: 10px; }
        .page-profile .sidebar-menu li .menu li {
          margin: 0;
          padding: 8px 0;
          font-size: 0.8125rem; }
          .page-profile .sidebar-menu li .menu li a {
            -webkit-transition: all 111ms linear;
            -moz-transition: all 111ms linear;
            transition: all 111ms linear; }
          .page-profile .sidebar-menu li .menu li.active-trail {
            border: 0; }
          .page-profile .sidebar-menu li .menu li:hover a {
            font-weight: 600; }
    .page-profile .main-with-sidebar {
      padding: 0; } }
  @media screen and (max-width: 680px) and (max-width: 768px) {
    .page-profile .main-with-sidebar {
      padding: 20px; } }
  @media screen and (max-width: 680px) {
    .page-profile .profile {
      margin: 0; }
      .page-profile .profile section {
        margin-bottom: 0;
        border-bottom: 1px solid #EAEAEA;
        padding: 12px 26px 10px 21px; } }
    @media screen and (max-width: 680px) and (max-width: 680px) {
      .page-profile .profile section {
        padding: 12px 0 10px; } }
  @media screen and (max-width: 680px) {
        .page-profile .profile section.toggled {
          padding: 15px 26px 25px 21px; } }
      @media screen and (max-width: 680px) and (max-width: 680px) {
        .page-profile .profile section.toggled {
          padding: 15px 0 25px; } }
  @media screen and (max-width: 680px) {
          .page-profile .profile section.toggled .icon-title {
            background: url("../../images/build/profile-arrow_close.svg") no-repeat right center;
            background-size: 10px auto;
            margin-bottom: 15px; }
          .page-profile .profile section.toggled .profile-item,
          .page-profile .profile section.toggled p {
            display: block; }
      .page-profile .profile .icon-title {
        cursor: pointer;
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.67;
        letter-spacing: -0.44px;
        margin-bottom: 0;
        background: url("../../images/build/profile-arrow_open.svg") no-repeat right center;
        background-size: 10px auto; }
        .page-profile .profile .icon-title .icon,
        .page-profile .profile .icon-title a {
          display: none; }
      .page-profile .profile h3 {
        font-size: 1rem;
        margin-bottom: 8px; }
      .page-profile .profile .text {
        font-size: 0.75rem; }
      .page-profile .profile p {
        display: none; }
    .page-profile .profile-item {
      display: none;
      padding: 0; }
      .page-profile .profile-item .profile-item-title {
        font-size: 0.875rem;
        margin-bottom: 3px;
        line-height: 1.35; }
      .page-profile .profile-item .item-wrapper {
        padding: 0 19px 0 16px; }
      .page-profile .profile-item .profile-item-meta {
        font-size: 0.6875rem;
        line-height: 1.45;
        margin: 0 0 7px; }
      .page-profile .profile-item .profile-item-summary {
        color: #999;
        font-size: 0.6875rem;
        margin-bottom: 0; }
      .page-profile .profile-item .booked-event-actions {
        width: 100%;
        margin: 10px 0;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; }
        .page-profile .profile-item .booked-event-actions::after {
          clear: both;
          content: "";
          display: table; }
      .page-profile .profile-item .ticket-call-action {
        margin-top: 0; }
      .page-profile .profile-item.open {
        padding: 0; }
        .page-profile .profile-item.open .item-wrapper {
          padding: 12px 13px 14.5px 16px; }
        .page-profile .profile-item.open .profile-item-title {
          margin-bottom: 3px; }
          .page-profile .profile-item.open .profile-item-title:after {
            content: none; }
        .page-profile .profile-item.open .profile-item-meta {
          margin-bottom: 0; }
        .page-profile .profile-item.open .profile-item-summary {
          display: none; }
        .page-profile .profile-item.open .booked-event-close {
          top: 25px;
          font-size: 1.0625rem;
          font-weight: 500; }
        .page-profile .profile-item.open:before {
          display: none; }
      .page-profile .profile-item .form-wrap {
        background: #FFF;
        padding: 14px 14px 20px; }
        .page-profile .profile-item .form-wrap h3 {
          font-size: 0.625rem; }
        .page-profile .profile-item .form-wrap h4 {
          font-size: 0.8125rem; }
        .page-profile .profile-item .form-wrap .guest {
          padding: 20px 0; }
        .page-profile .profile-item .form-wrap .fields-wrap {
          margin-top: 8px;
          max-width: 100%; }
        .page-profile .profile-item .form-wrap .input-wrap {
          width: 100%;
          margin-bottom: 15px; }
          .page-profile .profile-item .form-wrap .input-wrap.half {
            width: 100%; }
          .page-profile .profile-item .form-wrap .input-wrap:last-of-type {
            margin-bottom: 0; }
        .page-profile .profile-item .form-wrap .additional-info {
          margin-top: 8px; }
          .page-profile .profile-item .form-wrap .additional-info h3 {
            font-size: 0.625rem;
            line-height: 1.4;
            margin-bottom: 13px; }
          .page-profile .profile-item .form-wrap .additional-info textarea {
            margin-top: 4px;
            max-width: 100%;
            font-size: 0.8125rem; }
        .page-profile .profile-item .form-wrap .form-actions input[type="reset"] {
          margin-left: 15px; } }

.profile-column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 34px; }
  .profile-column-header .profile-column-heading {
    margin-bottom: 0; }

h2.profile-column-heading {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 0;
  letter-spacing: -0.03em;
  line-height: 1.25;
  margin-bottom: 34px; }

/** Profile Your Publications **/
@media screen and (max-width: 680px) {
  .profile-your-publications .profile-item {
    display: block; } }

@media screen and (max-width: 680px) {
  .profile-your-publications .profile-item .item-wrapper {
    padding: 0; } }

.profile-your-publications-cta {
  font-size: 1rem;
  color: #fff;
  padding: 8px 22px 7px 16px;
  display: none; }
  .profile-your-publications-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  .profile-your-publications-cta::after {
    margin-left: 10px; }
  .page-profile-your-publications .profile-your-publications-cta {
    display: inline-block; }
    @media screen and (max-width: 680px) {
      .page-profile-your-publications .profile-your-publications-cta {
        display: none; } }

.profile-booked-events-cta {
  font-size: 1rem;
  color: #fff;
  padding: 8px 22px 7px 16px; }
  .profile-booked-events-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  @media screen and (max-width: 680px) {
    .profile-booked-events-cta {
      display: none; } }
  .profile-booked-events-cta::after {
    margin-left: 10px; }

.section-network-message {
  background: #FAF9FA;
  padding: 30px 60px;
  border-left: 3px solid #F2743A; }
  @media screen and (max-width: 768px) {
    .section-network-message {
      display: none; } }
  .section-network-message h2 {
    color: #F2743A;
    text-transform: uppercase;
    font-size: 1.0625rem;
    font-weight: 500;
    letter-spacing: 0.01em; }
  .section-network-message .text p {
    font-size: 0.875rem;
    color: #3B3535; }
  .section-network-message p:last-child {
    margin-bottom: 0; }
  .section-network-message a {
    color: #F2743A; }

div.addeventatc {
  border: 0;
  background: none;
  font-family: "Poppins", sans-serif;
  color: #FC682D !important;
  font-size: 0.75em;
  text-transform: lowercase;
  font-weight: 400;
  line-height: 1.25;
  padding: 0;
  -webkit-transition: all 111ms linear;
  -moz-transition: all 111ms linear;
  transition: all 111ms linear; }
  div.addeventatc:hover {
    font-size: 0.75em;
    outline: none;
    border: 0; }
  div.addeventatc .addeventatc_icon {
    display: none; }
  div.addeventatc:active {
    top: 0; }
  div.addeventatc:focus {
    border: 0; }
  div.addeventatc .addeventatc_dropdown {
    top: 23px !important; }
  div.addeventatc .copyx {
    display: none !important; }

/** Profile Tickets History **/
.profile-tickets-history {
  display: none; }
  .profile-tickets-history h2 {
    margin-bottom: 24px; }
  .profile-tickets-history .view-filters {
    margin: 0 0 36px;
    width: 285px;
    float: right;
    position: relative; }
  .profile-tickets-history .views-exposed-widgets {
    margin: 0; }
    .profile-tickets-history .views-exposed-widgets label {
      display: none; }
  .profile-tickets-history .views-widget-filter-title_field_value {
    padding: 0;
    width: 100%;
    background: rgba(234, 233, 236, 0.26); }
    .profile-tickets-history .views-widget-filter-title_field_value input[type="text"] {
      border: 0;
      background: transparent;
      padding-left: 35px; }
  .profile-tickets-history .views-submit-button {
    height: 100%;
    width: 11px;
    padding: 0;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 13px; }
    .profile-tickets-history .views-submit-button input[type="submit"] {
      margin: auto 0;
      border: 0;
      padding: 0;
      font-size: 0;
      height: 11px;
      width: 11px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      background: url("../../images/build/search.svg") no-repeat center;
      background-size: 100% auto;
      border-radius: inherit; }
  .profile-tickets-history table {
    width: 100%; }
    .profile-tickets-history table th {
      font-size: 0.6875rem;
      text-transform: uppercase;
      letter-spacing: 2.8px;
      color: #474545;
      text-align: center;
      padding: 0 0 10px;
      border-bottom: 1px solid #999; }
      .profile-tickets-history table th:first-of-type {
        text-align: left; }
    .profile-tickets-history table td {
      text-align: center;
      border-bottom: 1px solid #EAEAEA; }
      .profile-tickets-history table td:first-of-type {
        font-size: 0.8125rem;
        font-weight: 500;
        padding: 10px 0 5px;
        text-align: left; }
      .profile-tickets-history table td:nth-child(2) {
        font-size: 0.6875rem;
        color: #666262; }
      .profile-tickets-history table td:last-of-type a {
        font-size: 0.75rem; }

.email-exists-message {
  padding: 40px !important; }
  .email-exists-message button {
    margin-right: 10px; }

.page-profile-meeting-notes .select2-container .select2-dropdown.select2-dropdown--above {
  margin-top: 0; }

@media screen and (max-width: 680px) {
  .page-profile-meeting-notes {
    /* Then style the iframe to fit in the container div with full height and width */ }
    .page-profile-meeting-notes .main-with-sidebar {
      padding: 0; }
      .page-profile-meeting-notes .main-with-sidebar > .profile-meeting {
        display: flex;
        flex-direction: column;
        padding-top: 0; }
        .page-profile-meeting-notes .main-with-sidebar > .profile-meeting .profile-column-heading-wrapper {
          order: 2;
          padding: 20px; }
        .page-profile-meeting-notes .main-with-sidebar > .profile-meeting .meeting-note-network-filter-form {
          order: 1;
          padding: 24px 20px;
          background-color: #dce4ec; }
        .page-profile-meeting-notes .main-with-sidebar > .profile-meeting .meeting-note-wrapper {
          order: 3;
          padding: 20px; }
      .page-profile-meeting-notes .main-with-sidebar h2.profile-column-heading {
        margin-bottom: 0; }
    .page-profile-meeting-notes .select2-container .select2-dropdown:not(.select2-dropdown--above)::before {
      left: calc(75% - 50px); }
    .page-profile-meeting-notes .field-type-youtube .field-items > div {
      position: relative;
      overflow: hidden;
      width: 100%;
      padding-top: 56.25%;
      /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */ }
    .page-profile-meeting-notes .youtube-field-player {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%; } }

.page-profile-meeting-notes .select2-dropdown {
  min-width: 320px; }

.page-profile-meeting-notes .select2-container--default .select2-selection--single {
  border: none; }

@media screen and (max-width: 680px) {
  .page-profile-meeting-notes .meeting-note.profile-item {
    display: block; } }

.page-profile-meeting-notes .meeting-note-network-filter-form > div {
  display: flex;
  border: 1px solid #EAEAEA;
  justify-content: space-between;
  width: 230px;
  margin-bottom: 56px; }
  @media screen and (max-width: 680px) {
    .page-profile-meeting-notes .meeting-note-network-filter-form > div {
      margin-bottom: 0;
      background-color: #EAEAEA;
      width: 100%;
      align-items: center; } }

.page-profile-meeting-notes .meeting-note-filter-fieldwrapper {
  width: calc(100% - 60px);
  border-right: 1px solid #EAEAEA;
  padding: 0 28px;
  display: flex;
  flex-direction: column; }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper label {
    order: 1; }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper span {
    order: 2; }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper select {
    order: 3; }
  @media screen and (max-width: 680px) {
    .page-profile-meeting-notes .meeting-note-filter-fieldwrapper {
      flex-direction: row;
      justify-content: space-between;
      align-items: center; }
      .page-profile-meeting-notes .meeting-note-filter-fieldwrapper .select2-container--default .select2-selection--single {
        background-color: transparent; } }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper #select2-meeting_notes_filter_network-container {
    padding-left: 0; }
    @media screen and (max-width: 680px) {
      .page-profile-meeting-notes .meeting-note-filter-fieldwrapper #select2-meeting_notes_filter_network-container {
        font-size: 13px; } }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper label {
    color: #474545;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    margin-top: 8px; }
    @media screen and (max-width: 680px) {
      .page-profile-meeting-notes .meeting-note-filter-fieldwrapper label {
        margin-top: 0; } }

.page-profile-meeting-notes .meeting-note-filter .select2-container {
  width: auto !important; }

.page-profile-meeting-notes .meeting-note-submit {
  background: url("../../images/build/search.svg") no-repeat center;
  background-size: 11px;
  font-size: 0;
  width: 60px;
  height: 60px;
  border: none;
  padding: 0; }

.node-type-news-publication .main-with-sidebar {
  margin-left: 34.04255%;
  margin-left: 0; }

.node-type-news-publication .sidebar img {
  width: 80%;
  height: auto;
  margin: 0 auto;
  display: block; }

.node-type-news-publication .ticket:first-of-type {
  padding-top: 0; }

.node-type-news-publication .paragraph:first-child h2 {
  display: none; }

.node-type-news-publication .paragraph,
.node-type-news-publication .purchase-report,
.node-type-news-publication .paragraph:first-of-type {
  padding-bottom: 50px; }

.node-type-news-publication .purchase-report .ticket {
  padding: 20px 0; }
  .node-type-news-publication .purchase-report .ticket:first-of-type {
    padding-top: 0; }

.node-type-news-publication .purchase-report .ticket h2 {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #3B3535;
  line-height: 1.47; }

.node-type-news-publication .purchase-report .price {
  font-size: 1.0625rem;
  font-weight: 600;
  color: #545151;
  line-height: 1.29;
  letter-spacing: -0.4px;
  margin-bottom: 0; }

@media screen and (max-width: 768px) {
  .node-type-news-publication .main-with-sidebar {
    margin-left: 0%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 100%; }
    .node-type-news-publication .main-with-sidebar:last-child {
      margin-right: 0; } }

@media screen and (max-width: 680px) {
  .node-type-news-publication .main-with-sidebar {
    padding: 0; }
  .node-type-news-publication .paragraph,
  .node-type-news-publication .purchase-report,
  .node-type-news-publication .paragraph:first-of-type {
    padding: 22.5px 20px; }
  .node-type-news-publication .buy-tickets-form .ticket .text-wrap {
    width: 100%;
    margin-bottom: 15px; }
  .node-type-news-publication .buy-tickets-form .ajax-response {
    display: none; }
  .node-type-news-publication .buy-tickets-form .primary-call-action {
    margin-left: 0; } }

@media screen and (max-width: 768px) {
  .node-type-news-publication .field-name-field-audio {
    padding: 0 20px; } }

.node-type-news-publication .podcast-host-speaker {
  display: flex;
  gap: 38px;
  flex-wrap: wrap;
  margin-bottom: 15px; }
  @media screen and (max-width: 768px) {
    .node-type-news-publication .podcast-host-speaker {
      padding: 0 20px;
      display: block; } }
  .node-type-news-publication .podcast-host-speaker .host-speaker-wrap {
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .node-type-news-publication .podcast-host-speaker .host-speaker-wrap {
        display: block; } }
    @media screen and (max-width: 768px) {
      .node-type-news-publication .podcast-host-speaker .host-speaker-wrap:first-of-type {
        margin-bottom: 20px; } }
  .node-type-news-publication .podcast-host-speaker .host-speaker-title {
    font-size: 1.5rem;
    letter-spacing: -0.03em;
    margin-bottom: 1.5625rem; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-list {
    display: flex;
    gap: 38px;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .node-type-news-publication .podcast-host-speaker .host-speaker-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(218px, 218px));
        gap: 15px; } }
    .node-type-news-publication .podcast-host-speaker .host-speaker-list-content {
      display: block; }
    .node-type-news-publication .podcast-host-speaker .host-speaker-list-item {
      min-height: 19.5rem; }
      .node-type-news-publication .podcast-host-speaker .host-speaker-list-item img {
        border-top-left-radius: 0.5rem;
        border-top-right-radius: 0.5rem;
        min-width: 13.625rem;
        height: 11.9375rem; }
      .node-type-news-publication .podcast-host-speaker .host-speaker-list-item .text-wrap {
        background-color: #F7F9FC;
        border-bottom-left-radius: 0.5rem;
        border-bottom-right-radius: 0.5rem;
        padding: 8px 16px 16px 16px; }
        .node-type-news-publication .podcast-host-speaker .host-speaker-list-item .text-wrap .fancybox {
          color: #f37324;
          font-size: 12px;
          line-height: 1.25; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-department {
    color: #474545;
    font-size: 0.625rem;
    line-height: 1.4; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-name {
    margin-bottom: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.33;
    color: #3B3535; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-salutation {
    font-size: 0.75rem;
    line-height: 1.5; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-job-title {
    font-size: 0.75rem;
    line-height: 1.5;
    color: dark_very_grayish_red_2; }

.view-search {
  position: relative; }
  .view-search #edit-search-api-views-fulltext.error {
    border-color: #FC682D; }
  @media screen and (max-width: 680px) {
    .view-search .btn-back {
      margin: 0 20px;
      width: calc(100% - 40px);
      margin-bottom: 17px;
      display: none; } }

.search-form-wrap {
  position: fixed;
  top: -50px;
  right: 0;
  height: 0;
  left: 0;
  background: rgba(71, 69, 69, 0.95);
  opacity: 0;
  transition: all 0.5s ease-in-out, top 0.5s ease-in-out, z-index 0.6s step-end, height 0.6s step-end;
  overflow: hidden;
  z-index: 10; }
  .search-form-wrap.active {
    top: 50px;
    height: calc(100vh - 50px);
    bottom: 0;
    opacity: 1;
    transition: opacity 0.5s ease-in-out, top 0.5s ease-in-out; }

.search-form {
  max-width: 668px;
  padding: 20px;
  margin: 145px auto 0;
  position: relative; }
  .search-form button {
    position: absolute;
    top: 15px;
    right: -20px;
    background: 0;
    border: 0; }
  .search-form input[type="text"] {
    margin-top: 0;
    height: 65px;
    padding: 20px 40px;
    font-size: 17px; }
  .search-form input[type="submit"] {
    width: 60px;
    height: 0;
    padding-bottom: 63px;
    overflow: hidden;
    background: #2E2929;
    background: url(../../images/build/search.svg) center center no-repeat;
    text-indent: -9999px;
    border: 0;
    position: absolute;
    right: 20px;
    top: 20px;
    transition: background 0.2s ease-in-out; }
    .search-form input[type="submit"]:hover {
      background-color: #F2743A; }

.view-search {
  background-color: #EDF1F7; }
  .view-search-filter {
    background-color: #10487a; }
  .view-search-form {
    padding: 52px 0;
    max-width: 628px;
    width: 100%;
    margin: 0 auto; }
    .view-search-form .views-exposed-widget {
      float: none;
      padding: 0; }
    .view-search-form .views-submit-button {
      float: none;
      padding: 0;
      position: absolute;
      right: 0;
      top: 0; }
    .view-search-form .views-exposed-widgets {
      margin-bottom: 0;
      position: relative; }
    .view-search-form .form-submit {
      width: 15px;
      height: 0;
      padding-top: 25px;
      overflow: hidden;
      border: 0;
      text-indent: -9999px;
      background: url(../../images/build/search.svg) center center no-repeat;
      margin: 0 !important; }
  .view-search-inner {
    padding: 67px 0 22px; }
  .view-search-heading {
    font-size: 2.1875em;
    font-weight: 500;
    margin-bottom: 27px;
    letter-spacing: -0.043em;
    color: #3B3535; }
    @media screen and (max-width: 768px) {
      .view-search-heading {
        font-size: 1.5rem;
        font-weight: 400; } }
  .view-search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(425px, 1fr));
    gap: 15px 16px;
    margin-bottom: 50px; }
    @media screen and (max-width: 680px) {
      .view-search-results {
        display: flex;
        flex-direction: column; } }
    @media screen and (max-width: 680px) {
      .view-search-results .result {
        padding: 23px 20px; } }

.node-vacancy {
  background: #dce4ec;
  padding: 100px 0; }
  @media screen and (max-width: 680px) {
    .node-vacancy .wrapper {
      padding: 0; } }
  .node-vacancy .inner {
    background-color: #fff;
    border-radius: 20px;
    padding: 30px 78px;
    max-width: 56.125rem; }
    @media screen and (max-width: 680px) {
      .node-vacancy .inner {
        padding: 24px 16px 48px 16px; } }
  .node-vacancy .departments {
    list-style-type: none;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    margin: 0 0 5px;
    padding: 0; }
  .node-vacancy h1 {
    font-size: 2.1875rem;
    line-height: 1.2;
    letter-spacing: -1.23px;
    font-weight: 600;
    margin-bottom: 2px; }
  .node-vacancy h2,
  .node-vacancy h3 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 15px; }
  .node-vacancy .date {
    font-size: 0.6875rem;
    color: #666262;
    margin-bottom: 15px;
    display: block; }
  .node-vacancy .summary {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #3B3535;
    margin-bottom: 50px; }
  .node-vacancy .text strong {
    font-size: inherit; }
  .node-vacancy .text ul {
    font-size: 0.875rem;
    margin: 25px 0;
    list-style-type: none;
    list-style-image: none; }
    .node-vacancy .text ul li {
      margin-bottom: 12px;
      padding-left: 20px;
      font-weight: 500;
      position: relative;
      list-style-type: none;
      list-style-image: none;
      background: none; }
      .node-vacancy .text ul li:before {
        content: '';
        background: #BBBDBF;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px;
        position: absolute;
        left: 0;
        top: 10px; }
  .node-vacancy .text li {
    margin-bottom: 8px; }
  .node-vacancy .text .cta {
    font-size: 1rem;
    padding: 8px 16px; }
    .node-vacancy .text .cta::after {
      content: url("../../images/build/mail.svg");
      display: inline-block;
      width: 14px;
      height: 11px;
      margin-left: 10px; }
  @media screen and (max-width: 680px) {
    .node-vacancy {
      padding: 35px 20px 50px; }
      .node-vacancy .departments {
        font-size: 0.625rem;
        margin: 0 0 8px; }
      .node-vacancy h1 {
        font-size: 1.5rem;
        line-height: 1.25;
        margin-bottom: 0.5rem; }
      .node-vacancy h2 {
        font-size: 0.9375rem;
        margin-bottom: 8px; }
      .node-vacancy .summary {
        font-size: 0.75rem;
        line-height: 1.25;
        margin-bottom: 1.58; }
      .node-vacancy .text ul {
        font-size: 0.75rem; }
      .node-vacancy .text li {
        margin-bottom: 5px; } }

.page-eform-submit-apply-now {
  background-size: 100% auto; }
  .page-eform-submit-apply-now .field-name-field-markup-title p {
    font-size: 1.5rem;
    font-weight: 700;
    color: #3B3535;
    margin-bottom: 60px; }
  .page-eform-submit-apply-now .entity-entityform-type {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .page-eform-submit-apply-now .entity-entityform-type::after {
      clear: both;
      content: "";
      display: table; }
    .page-eform-submit-apply-now .entity-entityform-type .content {
      padding: 100px 0 50px;
      max-width: 470px; }
      .page-eform-submit-apply-now .entity-entityform-type .content h1 {
        font-size: 1.5rem;
        margin-bottom: 55px; }
    .page-eform-submit-apply-now .entity-entityform-type .form-item {
      margin: 0 0 32px; }
    .page-eform-submit-apply-now .entity-entityform-type .field-type-email,
    .page-eform-submit-apply-now .entity-entityform-type .field-widget-text-textfield {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .page-eform-submit-apply-now .entity-entityform-type .field-type-email:last-child,
      .page-eform-submit-apply-now .entity-entityform-type .field-widget-text-textfield:last-child {
        margin-right: 0; }
    .page-eform-submit-apply-now .entity-entityform-type .field-name-field-last-name,
    .page-eform-submit-apply-now .entity-entityform-type .field-name-field-contact-number {
      margin-right: 0; }
    .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume {
      position: relative; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .dragdropfile-processed {
        outline: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .dragdropfile-processed:before {
          content: none; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume fieldset {
        border: 0;
        padding: 0; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-legend {
        font-size: 0.6875rem;
        color: #666262;
        margin-left: 7px; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-wrapper {
        position: relative;
        border: 1px solid #EAE9EC; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-description {
        width: 180px;
        font-size: 0.875rem;
        line-height: 1.45;
        color: #666262;
        text-transform: uppercase;
        position: absolute;
        bottom: 60px;
        left: 33%; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file {
        position: relative;
        margin: 0;
        padding: 50px 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file:before {
          content: '';
          position: absolute;
          top: 50%;
          left: 55px;
          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          transform: translateY(-50%);
          background: url("../../images/build/submit-plus.png") no-repeat center;
          background-size: 26px auto;
          height: 26px;
          width: 26px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file label {
          display: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="submit"] {
          font-size: 0.75rem;
          padding: 10px 18px 8px;
          position: absolute;
          top: 110px;
          right: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="file"] {
          font-size: 0.75rem;
          position: absolute;
          top: 118px;
          left: 0; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .description {
        width: 180px;
        font-size: 0.6875rem;
        line-height: 1.45;
        z-index: -1;
        color: #666262;
        position: absolute;
        top: 60%;
        left: 33%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .description strong {
          font-size: 0.6875rem;
          font-weight: normal; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table {
        margin: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table thead,
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .file-icon,
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .tabledrag-handle {
          display: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table tr {
          border: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table td {
          padding: 10px 10px 5px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .form-managed-file {
          font-size: 0.75rem;
          color: #999;
          text-transform: uppercase; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .form-managed-file a {
            color: #999; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table input[type="submit"] {
          float: right;
          padding: 0;
          font-size: 0;
          border: 0;
          border-radius: 0;
          height: 14px;
          width: 14px;
          background: url("../../images/build/close-dark.png") no-repeat center;
          background-size: 8px auto; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .tabledrag-toggle-weight-wrapper {
        display: none; }
    .page-eform-submit-apply-now .entity-entityform-type .field-type-entityreference {
      width: 100%;
      clear: both;
      overflow: hidden; }
    .page-eform-submit-apply-now .entity-entityform-type select,
    .page-eform-submit-apply-now .entity-entityform-type .select2 {
      width: 100% !important; }
    .page-eform-submit-apply-now .entity-entityform-type .form-actions {
      margin: 70px 0 0; }
    @media screen and (max-width: 1200px) {
      .page-eform-submit-apply-now .entity-entityform-type {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .page-eform-submit-apply-now .entity-entityform-type::after {
          clear: both;
          content: "";
          display: table; }
        .page-eform-submit-apply-now .entity-entityform-type .content {
          padding: 80px 0 50px; } }
    @media screen and (max-width: 768px) {
      .page-eform-submit-apply-now .entity-entityform-type {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .page-eform-submit-apply-now .entity-entityform-type::after {
          clear: both;
          content: "";
          display: table; }
        .page-eform-submit-apply-now .entity-entityform-type .content {
          padding: 45px 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .dragdropfile-processed:before {
          content: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-description {
          display: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file {
          padding: 15px 10px; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file:before {
            content: none; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="file"] {
            position: relative;
            top: inherit;
            right: inherit;
            bottom: inherit;
            left: inherit;
            font-size: 0.75rem;
            opacity: 1;
            z-index: 0;
            width: calc(100% - 80px);
            display: inline-block; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="submit"] {
            position: relative;
            top: inherit;
            right: inherit;
            bottom: inherit;
            left: inherit;
            opacity: 1;
            width: 70px;
            float: right;
            display: inline-block;
            padding: 7px 12px 5px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .description {
          clear: both;
          width: 100%;
          padding: 15px 0 0;
          position: relative;
          top: inherit;
          right: inherit;
          bottom: inherit;
          left: inherit;
          -webkit-transform: translateY(0);
          -moz-transform: translateY(0);
          -ms-transform: translateY(0);
          -o-transform: translateY(0);
          transform: translateY(0); }
        .page-eform-submit-apply-now .entity-entityform-type .form-actions {
          margin: 30px 0 0; } }
    @media screen and (max-width: 680px) {
      .page-eform-submit-apply-now .entity-entityform-type {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .page-eform-submit-apply-now .entity-entityform-type::after {
          clear: both;
          content: "";
          display: table; }
        .page-eform-submit-apply-now .entity-entityform-type .content {
          padding: 40px 20px;
          max-width: 100%; }
          .page-eform-submit-apply-now .entity-entityform-type .content h1 {
            font-size: 1.375rem;
            margin-bottom: 25px; }
        .page-eform-submit-apply-now .entity-entityform-type .form-item {
          margin: 0 0 16px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-type-email,
        .page-eform-submit-apply-now .entity-entityform-type .field-widget-text-textfield {
          width: 100%;
          margin-right: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .select2-container {
          left: 0 !important; } }

.partners-body-inner {
  padding: 40px 0; }

.partners-body-content-main {
  text-align: center;
  max-width: 867px;
  width: 100%;
  margin: 0 auto; }
  .partners-body-content-main p {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #10487a;
    line-height: 1.5;
    margin-bottom: 0; }

.partners-body-wrap {
  padding: 68px 0 68px;
  background-color: #F7F9FC; }
  @media screen and (max-width: 768px) {
    .partners-body-wrap {
      padding: 32px 0 54px; } }
  .partners-body-wrap-global {
    background: #dce4ec; }

.partners-body-content h2 {
  color: #10487a;
  font-size: 2.1875rem;
  font-weight: 600;
  margin-bottom: 3px;
  letter-spacing: -0.016em;
  line-height: 0.86; }
  @media screen and (max-width: 768px) {
    .partners-body-content h2 {
      font-size: 1.75rem;
      line-height: 1.3; } }

.partners-body-content p {
  font-size: 0.875rem;
  margin-bottom: 35px;
  letter-spacing: normal;
  line-height: 1.7;
  max-width: 581px;
  width: 100%; }
  @media screen and (max-width: 680px) {
    .partners-body-content p {
      font-size: 0.75rem;
      line-height: 1.5;
      color: #10487a; } }

.partners-body-content ul {
  background-color: #fff;
  border-radius: 20px;
  padding: 49px 0 40px 138px;
  column-count: 2; }
  @media screen and (max-width: 768px) {
    .partners-body-content ul {
      column-count: 1;
      padding: 24px 16px; } }

.partners-body-content li {
  font-size: 0.875rem;
  letter-spacing: -0.024em;
  position: relative;
  padding-left: 16px; }
  .partners-body-content li::before {
    position: absolute;
    top: 8px;
    left: 0;
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #BBBDBF; }
  .partners-body-content li:not(:last-of-type) {
    margin-bottom: 14px; }

.partners-body-content a {
  text-decoration: underline;
  font-size: inherit;
  letter-spacing: inherit; }

.partners-body .text {
  color: #3B3535;
  font-size: 1.0625rem;
  font-weight: 500;
  max-width: 490px;
  padding: 81px 0 89px; }
  .partners-body .text p {
    margin-bottom: 0; }

.partners-our-parters {
  padding: 80px 0; }
  .partners-our-parters h2 {
    font-size: 1.5rem;
    line-height: 1.25;
    margin-bottom: 10px; }
  .partners-our-parters .text {
    color: #666262;
    font-size: 0.875rem; }
  .partners-our-parters .partners-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%;
    margin-left: 0%; }
    .partners-our-parters .partners-wrap:last-child {
      margin-right: 0; }
  .partners-our-parters .partners-list li {
    overflow: hidden; }
  .partners-our-parters .partners-list .text {
    vertical-align: middle;
    display: inline-block;
    width: calc(100% - 170px); }
  .partners-our-parters .partners-list .image {
    vertical-align: middle;
    display: inline-block;
    width: 141px;
    text-align: center;
    margin: 0 22px 0 0; }
  .partners-our-parters .partners-list img {
    zoom: 100%;
    max-width: 100%; }
  @media screen and (max-width: 768px) {
    .partners-our-parters .partners-wrap {
      width: 100%; }
    .partners-our-parters .partners-list li {
      margin-bottom: 0; }
    .partners-our-parters .partners-list .text {
      vertical-align: top;
      width: calc(100% - 105px); }
    .partners-our-parters .partners-list .image {
      width: 80px;
      vertical-align: top;
      margin: 0 15px 0 0; } }
  @media screen and (max-width: 680px) {
    .partners-our-parters {
      padding: 29px 20px 48px; }
      .partners-our-parters h2 {
        font-size: 1.25rem;
        margin-bottom: 15px; }
      .partners-our-parters .text {
        font-size: 0.8125rem;
        letter-spacing: -0.34px;
        margin-bottom: 45px; }
      .partners-our-parters .partners-list li {
        min-height: 65px;
        margin: 0 0 30px !important; }
        .partners-our-parters .partners-list li:last-of-type {
          margin-bottom: 0 !important; }
      .partners-our-parters .partners-list .text {
        width: calc(100% - 100px);
        font-size: 0.6875rem;
        line-height: 1.63;
        margin-bottom: 0; }
      .partners-our-parters .partners-list .image {
        width: 85px;
        margin: 0 8px 0 0; }
        .partners-our-parters .partners-list .image img {
          zoom: 100%; } }

.partners-page-body {
  padding: 100px 0; }
  .partners-page-body h2 {
    margin: 0 0 15px;
    font-size: 1.5rem;
    line-height: 1.25; }
  .partners-page-body h3 {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 30px 0 15px; }
  .partners-page-body ul {
    columns: 2;
    margin-bottom: 50px; }
    .partners-page-body ul li {
      position: relative;
      font-size: 0.875rem;
      font-weight: 500;
      color: #545151;
      margin-bottom: 8px;
      padding-left: 18px; }
      .partners-page-body ul li:before {
        content: '';
        background: #BBBDBF;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        position: absolute;
        top: 9px;
        left: 0; }
    .partners-page-body ul a {
      text-decoration: underline; }
  .partners-page-body p {
    max-width: 410px;
    margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .partners-page-body {
      padding: 80px 0; } }
  @media screen and (max-width: 680px) {
    .partners-page-body {
      padding: 40px 20px; }
      .partners-page-body h2 {
        margin: 0 0 15px;
        font-size: 1.25rem; }
      .partners-page-body h3 {
        font-size: 0.9375rem;
        margin: 0; }
      .partners-page-body ul {
        columns: 1;
        margin-bottom: 16px; }
        .partners-page-body ul li {
          margin-bottom: 8px;
          padding-left: 12px; }
      .partners-page-body p {
        font-size: 0.875rem;
        max-width: 100%;
        margin-bottom: 15px; }
      .partners-page-body .text > div {
        margin-bottom: 40px; }
        .partners-page-body .text > div h3 {
          cursor: pointer;
          padding: 13px 0;
          background: url("../../images/build/profile-arrow_open.svg") no-repeat right center;
          background-size: 12px auto;
          -webkit-transition: all 333ms linear;
          -moz-transition: all 333ms linear;
          transition: all 333ms linear; }
        .partners-page-body .text > div ul {
          display: none;
          margin-bottom: 0; }
          .partners-page-body .text > div ul:first-of-type {
            display: block; } }

.press-page-body {
  padding: 74px 0; }
  .press-page-body .inner p {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #3B3535; }
  @media screen and (min-width: 769px) {
    .press-page-body .inner {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 74.46809%; }
      .press-page-body .inner:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .press-page-body {
      padding: 25px 20px; } }

.press-page-main {
  background: #FBF9F8; }

.press-page-feature {
  background-color: #10487a;
  padding: 46px 0 103px; }
  .press-page-feature-title {
    color: #fff;
    margin-bottom: 20px; }
  .press-page-feature-text {
    margin-bottom: 17px; }
    .press-page-feature-text p {
      color: #fff;
      font-size: 0.9375rem;
      letter-spacing: -0.025em;
      margin: 0; }
  .press-page-feature-cta {
    font-size: 1rem;
    font-weight: 500;
    padding: 7px 23px 7px 15px; }
    .press-page-feature-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    .press-page-feature-cta::after {
      margin-left: 8px; }

.press-page-items {
  background-color: #dce4ec;
  padding: 34px 0 58px; }
  .press-page-items-title {
    margin-bottom: 28px; }
  .press-page-items-cards {
    margin-bottom: 36px;
    display: none; }
    @media screen and (min-width: 769px) {
      .press-page-items-cards.desktop {
        display: block; } }
    @media screen and (max-width: 768px) {
      .press-page-items-cards.tablet {
        display: block; } }
    @media screen and (max-width: 768px) {
      .press-page-items-cards .kard {
        max-width: 276px;
        margin: 0 auto; } }
  .press-page-items-button {
    display: flex;
    justify-content: center; }
  .press-page-items-cta {
    padding: 8px 24px 8px 16px;
    font-size: 1rem;
    font-weight: 400; }
    .press-page-items-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .press-page-items-cta::after {
      margin-left: 8px; }
  .press-page-items .view-block {
    background-color: #dce4ec; }
  .press-page-items .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
    gap: 23px 32px; }
    @media screen and (max-width: 768px) {
      .press-page-items .view-content {
        display: initial; }
        .press-page-items .view-content > .slick-dots {
          position: initial;
          margin-top: 3.125rem; }
          .press-page-items .view-content > .slick-dots button::before {
            content: ''; } }

.sitemap-banner h1 {
  font-size: 1.5rem;
  margin: 0; }

@media screen and (max-width: 680px) {
  .sitemap-banner {
    padding: 40px 20px 34px; } }

.sitemap-main {
  padding: 58px 0;
  background-size: 100% auto; }
  .sitemap-main h2 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 15px; }
  .sitemap-main .sitemap-block {
    margin-bottom: 50px; }
    @media screen and (min-width: 769px) {
      .sitemap-main .sitemap-block {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 31.91489%; }
        .sitemap-main .sitemap-block:last-child {
          margin-right: 0; }
        .sitemap-main .sitemap-block:nth-child(3n) {
          margin-right: 0; }
        .sitemap-main .sitemap-block:nth-child(3n+1) {
          clear: left; } }
  .sitemap-main li {
    margin-bottom: 8px; }
    .sitemap-main li:before {
      content: '';
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #C9C9C9;
      vertical-align: middle;
      margin-right: 10px;
      display: inline-block; }
  .sitemap-main a {
    text-decoration: underline;
    font-size: 0.875rem;
    font-weight: 500; }
    .sitemap-main a:hover {
      text-decoration: none; }
  @media screen and (max-width: 680px) {
    .sitemap-main {
      padding: 25px 20px 45px; }
      .sitemap-main h2 {
        font-size: 0.9375rem;
        font-weight: 600; }
      .sitemap-main .sitemap-block {
        margin-bottom: 45px; }
      .sitemap-main li {
        margin-bottom: 10px; } }

.not-found {
  position: relative;
  background-color: #dce4ec;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 619px; }
  @media screen and (max-width: 680px) {
    .not-found {
      padding: 0 20px;
      min-height: 462px; } }
  .not-found-inner {
    max-width: 630px;
    width: 100%; }
  .not-found-heading {
    font-size: 3.0625rem;
    font-weight: 600;
    margin-bottom: 13px;
    color: #10487a;
    letter-spacing: -0.03em;
    margin-bottom: 3px; }
  .not-found-desc {
    font-size: 0.875rem;
    margin-bottom: 30px;
    line-height: 1.7; }
  .not-found-cta {
    font-size: 0.75rem;
    padding: 9px 23px 9px 16px;
    letter-spacing: 0.04em;
    position: relative; }
    .not-found-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .not-found-cta::after {
      top: -1px;
      margin-left: 9px; }
  .not-found-search-form {
    position: relative;
    margin-top: 38px; }
    .not-found-search-form-field[type="text"] {
      padding: 21px 40px 16px;
      font-size: 1.0625rem;
      font-weight: 600;
      color: #999;
      letter-spacing: -0.01em; }
    .not-found-search-form-button {
      position: absolute;
      top: 0;
      right: 0;
      background: url(../../images/build/search.svg) center center no-repeat;
      border: 0;
      text-indent: -9999px;
      overflow: hidden;
      width: 63px;
      height: 64px;
      outline: none; }
  .not-found-submit {
    margin-top: 20px; }
  @media screen and (max-width: 680px) {
    .not-found:before {
      height: 135px;
      width: 135px;
      position: absolute;
      top: -50px;
      right: 25px; }
    .not-found:after {
      content: none; }
    .not-found .inner {
      padding: 0 20px;
      margin: 90px auto 105px; }
    .not-found h1 {
      font-size: 1.375rem;
      margin-bottom: 4px; }
    .not-found .text {
      font-size: 0.8125rem;
      margin-bottom: 15px; }
    .not-found .primary-call-action {
      margin-left: 0; }
    .not-found form {
      margin-top: 20px; }
      .not-found form input[type="text"] {
        padding: 10px 20px; }
      .not-found form input[type="submit"] {
        height: 45px;
        width: 45px; } }

.area-chart {
  width: 100%;
  height: 490px; }

.report-percent-page .title-wrap {
  padding-top: 40px;
  padding-bottom: 40px; }

.report-percent-page h1 {
  text-align: center;
  font-size: 1.75rem;
  margin: 0; }

.report-percent-page .subtitle {
  text-align: center;
  font-size: 0.8125rem;
  margin-top: 10px; }

.report-percent-page.grid {
  background: #FBF9F8; }
  .report-percent-page.grid .charts {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px 0; }
    .report-percent-page.grid .charts::after {
      clear: both;
      content: "";
      display: table; }
  .report-percent-page.grid .chart-wrap {
    padding: 10px;
    background: #FFF;
    margin-bottom: 20px; }
    @media screen and (min-width: 769px) {
      .report-percent-page.grid .chart-wrap {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .report-percent-page.grid .chart-wrap:last-child {
          margin-right: 0; }
        .report-percent-page.grid .chart-wrap:nth-child(2n) {
          margin-right: 0; }
        .report-percent-page.grid .chart-wrap:nth-child(2n+1) {
          clear: left; } }

.report-percent-page.full {
  margin-bottom: 60px; }

@media screen and (max-width: 768px) {
  .report-percent-page h1 {
    font-size: 1.375rem; } }

@media screen and (max-width: 680px) {
  .report-percent-page .title-wrap {
    padding-top: 30px;
    padding-bottom: 25px; }
  .report-percent-page h1 {
    font-size: 1.125rem; } }

/*** LEAGUE TABLE ***/
.report-league-page .title-wrap {
  padding-bottom: 40px; }

.report-league-page h1 {
  text-align: center;
  font-size: 1.75rem;
  margin: 0; }

@media screen and (max-width: 768px) {
  .report-league-page .title-wrap {
    padding: 25px 20px 40px; }
  .report-league-page h1 {
    font-size: 1.375rem; }
  .report-league-page .league-table {
    padding: 0 20px; } }

@media screen and (max-width: 680px) {
  .report-league-page .title-wrap {
    padding-bottom: 25px; }
  .report-league-page h1 {
    font-size: 1.125rem; } }

.male-boards-companies {
  border-top: 1px solid #eaeaea;
  padding: 30px; }
  .male-boards-companies h3 {
    font-size: 1rem;
    margin-bottom: 15px;
    text-align: center; }
  .male-boards-companies .male-boards-companies-header {
    overflow: hidden;
    margin-bottom: 13px; }
    .male-boards-companies .male-boards-companies-header > div {
      width: 50%;
      float: left;
      text-align: center;
      font-size: 12px;
      color: #999; }
  .male-boards-companies .male-boards-companies-company {
    border: 1px solid #eaeaea;
    display: flex;
    margin-bottom: 3px; }
    .male-boards-companies .male-boards-companies-company::after {
      clear: both;
      content: "";
      display: table; }
    .male-boards-companies .male-boards-companies-company > div {
      text-align: center;
      font-size: 12px;
      color: #999;
      flex: 0 0 50%;
      padding: 12px;
      line-height: 1.5;
      align-self: center; }
    .male-boards-companies .male-boards-companies-company .name {
      color: #FC682D;
      font-size: 0.875rem;
      font-weight: 600;
      line-height: 1.3; }
    .male-boards-companies .male-boards-companies-company .stock {
      font-size: 0.6875rem;
      color: #999;
      font-weight: 500; }
    .male-boards-companies .male-boards-companies-company .industry {
      background: #f3f3f4;
      font-size: 0.875rem;
      font-weight: 600;
      color: #666262;
      align-self: center;
      padding: 21px;
      overflow: hidden;
      position: relative; }
      .male-boards-companies .male-boards-companies-company .industry:before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 100px 0 100px 25px;
        border-color: transparent transparent transparent #fff;
        position: absolute;
        left: -14px;
        /* top: 50%; */
        margin-top: -90px; }
    .male-boards-companies .male-boards-companies-company.flagged {
      position: relative; }
      .male-boards-companies .male-boards-companies-company.flagged .company {
        padding-left: 40px; }
      .male-boards-companies .male-boards-companies-company.flagged:before {
        content: url(../../svg/exclamation.svg);
        display: block;
        position: absolute;
        top: 50%;
        margin-top: -10px;
        left: 15px; }
  .male-boards-companies .flag-legend {
    color: #666262;
    font-size: 0.6875rem;
    line-height: 1.3;
    text-align: center;
    margin: 20px 0 35px; }
    .male-boards-companies .flag-legend:before {
      content: url(../../svg/exclamation.svg);
      display: inline-block;
      margin-right: 10px;
      vertical-align: middle; }

.bar-line-summary {
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 30px;
  padding-bottom: 15px; }
  .bar-line-summary .data {
    overflow: hidden;
    border-radius: 3px;
    margin: 30px 30px 10px; }
    .bar-line-summary .data > div {
      float: left;
      color: #fff;
      text-align: center;
      padding: 23px 0;
      line-height: 1.2; }
    .bar-line-summary .data .data-1 {
      background: #FC682D;
      position: relative;
      z-index: 1;
      min-width: 120px;
      max-width: calc(100% - 120px); }
      .bar-line-summary .data .data-1 > div {
        position: relative;
        left: 12px; }
    .bar-line-summary .data .data-2 {
      background: #664fa3;
      position: relative;
      overflow: hidden;
      min-width: 120px;
      max-width: calc(100% - 120px); }
      .bar-line-summary .data .data-2:before {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 100px 0 100px 40px;
        border-color: transparent transparent transparent #FC682D;
        position: absolute;
        left: 0;
        top: -46px; }
    .bar-line-summary .data .number {
      font-size: 1.625rem;
      font-weight: 600;
      margin-bottom: -3px; }
    .bar-line-summary .data .percent {
      font-size: 0.9375rem;
      font-weight: 600; }
    .bar-line-summary .data .label {
      font-size: 0.75rem; }
  .bar-line-summary .message {
    text-align: center;
    font-size: 0.8125rem;
    color: #3b3535;
    font-weight: 600; }
    .bar-line-summary .message .total {
      font-size: 1.625rem;
      padding: 0 3px; }
  @media screen and (max-width: 680px) {
    .bar-line-summary .data {
      margin: 20px 20px 10px; }
      .bar-line-summary .data .data-1 {
        min-width: 80px;
        max-width: calc(100% - 80px); }
      .bar-line-summary .data .data-2 {
        min-width: 80px;
        max-width: calc(100% - 80px); }
      .bar-line-summary .data .number {
        font-size: 1.25rem; }
      .bar-line-summary .data .percent {
        font-size: 0.875rem; }
    .bar-line-summary .message .total {
      font-size: 1.25rem; } }

.male-boards-stats {
  overflow: hidden; }
  .male-boards-stats > div {
    width: 50%;
    float: left;
    display: flex;
    padding: 20px;
    align-items: center;
    position: relative; }
  .male-boards-stats .value {
    font-size: 2.8125rem;
    font-weight: 600;
    margin-right: 5px; }
  .male-boards-stats .label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #545151; }
  .male-boards-stats .left {
    padding-left: 50px; }
    .male-boards-stats .left .value {
      color: #FC682D; }
    .male-boards-stats .left:before {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 25px 0 25px 12px;
      border-color: transparent transparent transparent #FC682D;
      position: absolute;
      left: 0;
      top: 27px; }
  .male-boards-stats .right {
    padding-right: 50px; }
    .male-boards-stats .right .value {
      color: #664fa3; }
    .male-boards-stats .right:before {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 25px 0 25px 12px;
      border-color: transparent transparent transparent #664fa3;
      position: absolute;
      right: 0;
      top: 27px;
      transform: rotate(180deg); }
  @media screen and (max-width: 768px) {
    .male-boards-stats {
      padding: 30px 25px;
      position: relative; }
      .male-boards-stats:before, .male-boards-stats:after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 0 25px 12px;
        border-color: transparent transparent transparent #FC682D;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto; }
      .male-boards-stats:before {
        left: 0; }
      .male-boards-stats:after {
        right: 0;
        transform: rotate(180deg); }
      .male-boards-stats > div {
        width: 100%;
        float: none;
        padding: 0; }
      .male-boards-stats .value {
        font-size: 1.5625rem;
        margin-right: 15px; }
      .male-boards-stats .left {
        padding: 0; }
        .male-boards-stats .left:before {
          content: none; }
      .male-boards-stats .right {
        padding: 0; }
        .male-boards-stats .right:before {
          content: none; } }

.report-methodology-page .node-inner-inner {
  max-width: 650px;
  margin: 50px auto; }

.report-methodology-page h1 {
  text-align: center;
  font-size: 1.5rem; }

.report-methodology-page .body ul, .report-methodology-page .body p {
  font-size: 0.875rem;
  color: #545151; }

.report-methodology-page .body ul {
  margin: 20px 0; }

.report-methodology-page .body li {
  margin-bottom: 15px;
  position: relative;
  padding-left: 30px; }
  .report-methodology-page .body li:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 10px;
    width: 9px;
    height: 9px;
    border-radius: 9px;
    background: #FC682D; }

.report-header {
  background: #F3F3F4;
  padding: 60px 0 35px; }
  .report-header .report-link {
    line-height: 1.2;
    display: inline-block;
    padding-left: 40px; }
    .report-header .report-link span {
      display: block; }
    .report-header .report-link:before {
      content: '';
      display: inline-block;
      width: 31px;
      height: 31px;
      background: url(../../svg/arrow-right.svg) center center no-repeat #545151;
      border-radius: 31px;
      vertical-align: middle;
      transform: rotate(180deg);
      position: absolute;
      left: 0;
      top: 1px; }
  .report-header .link-title {
    font-size: 17px;
    font-weight: 600; }
  .report-header .subtitle {
    font-size: 12px; }
  @media screen and (max-width: 768px) {
    .report-header {
      padding: 30px 20px 15px; }
      .report-header .report-link {
        padding-left: 30px; }
        .report-header .report-link:before {
          height: 20px;
          width: 20px;
          background: url(../../svg/arrow-right.svg) center center no-repeat #545151;
          background-size: 10px auto;
          border-radius: 20px; }
      .report-header .link-title {
        font-size: 14px; }
      .report-header .subtitle {
        font-size: 14px;
        font-weight: 500; } }

.report-sub-links {
  margin-bottom: 50px; }
  .report-sub-links .container {
    position: relative;
    border-bottom: 2px solid #f4f4f5; }
  .report-sub-links ul::after {
    clear: both;
    content: "";
    display: table; }
  .report-sub-links li {
    float: left;
    margin-right: 25px; }
  .report-sub-links a {
    font-size: 0.875rem;
    display: block;
    padding: 23px 5px 23px 0;
    position: relative; }
    .report-sub-links a.active:after {
      content: '';
      display: block;
      width: 15px;
      height: 2px;
      background: #FC682D;
      position: absolute;
      bottom: -2px;
      left: 0; }
  .report-sub-links .mobile-more {
    display: none; }
  @media screen and (max-width: 768px) {
    .report-sub-links {
      margin-bottom: 25px;
      padding: 0 20px; }
      .report-sub-links ul {
        width: calc(100% - 60px); }
      .report-sub-links li {
        float: none; }
        .report-sub-links li:not(.active) {
          display: none; }
      .report-sub-links a {
        font-size: 0.75rem;
        padding: 14px 0 9px; }
      .report-sub-links .mobile-more {
        display: block;
        cursor: pointer;
        position: absolute;
        top: 14px;
        right: 0;
        font-size: 0.75rem;
        line-height: 1.25;
        letter-spacing: -0.3px;
        color: #545151;
        padding-right: 10px; }
        .report-sub-links .mobile-more:before {
          content: '';
          margin: auto;
          height: 6px;
          width: 6px;
          position: absolute;
          top: 6px;
          right: 0;
          background: url("../../images/build/header-aroow.png") no-repeat center;
          background-size: 100% auto; } }

.report-page {
  background: #fbf9f8; }
  .report-page .programme-header h1 {
    margin-top: 34px;
    margin-bottom: 0; }
  .report-page .programme-header .subtitle {
    font-size: 1.9375rem; }
  .report-page .report-sub-links {
    background: #FFF;
    margin: 0; }
  .report-page .report-message {
    background: #FFF;
    font-size: 1.75rem;
    font-weight: 700;
    padding: 43px 0 60px;
    position: relative; }
    .report-page .report-message p {
      font-size: 1.75rem;
      color: #474545;
      line-height: 1.2; }
  .report-page .report-message-inner {
    position: relative; }
    .report-page .report-message-inner:after {
      content: '';
      display: block;
      width: 23px;
      height: 46px;
      background-color: #ffd1ba;
      border-bottom-left-radius: 100px;
      border-top-left-radius: 100px;
      border-left: 0;
      position: absolute;
      left: -40px;
      top: 6px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }
  .report-page .report-section {
    margin-bottom: 60px;
    background: #FFF; }
    .report-page .report-section .header {
      padding: 30px 23px;
      position: relative;
      border-bottom: 1px solid #eaeaea; }
      .report-page .report-section .header .data-link {
        position: absolute;
        width: 42px;
        height: 42px;
        border-radius: 42px;
        background: #474545;
        text-align: center;
        line-height: 2.9;
        top: 80px;
        right: -21px; }
        .report-page .report-section .header .data-link svg {
          width: 15px;
          height: auto; }
      .report-page .report-section .header .report-share-link {
        position: absolute;
        top: 20px;
        right: 30px;
        color: #FC682D;
        font-size: 0.75rem;
        display: inline-block;
        padding-right: 20px;
        background: url(../../svg/share.svg) right center no-repeat; }
    .report-page .report-section .key-data {
      font-size: 0.8125rem;
      font-weight: 600; }
    .report-page .report-section .hsi-woman-wrapper {
      position: relative;
      padding: 25px 20px 0; }
      .report-page .report-section .hsi-woman-wrapper:before {
        content: '';
        height: 0;
        width: 0;
        border-style: solid;
        border-width: 13px 72.5px 0 72.5px;
        border-color: #fc682d transparent transparent transparent;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: auto; }
      .report-page .report-section .hsi-woman-wrapper .last-point {
        display: block;
        margin: 0 auto;
        text-align: center; }
      .report-page .report-section .hsi-woman-wrapper .point {
        font-size: 45px;
        font-weight: 600;
        color: #fc682d;
        line-height: 1;
        letter-spacing: -1.04px; }
        .report-page .report-section .hsi-woman-wrapper .point span {
          font-size: 22px; }
      .report-page .report-section .hsi-woman-wrapper .text {
        font-size: 13px;
        font-weight: 600;
        color: #545151; }
    .report-page .report-section .gauge-chart {
      border-bottom: 1px solid #eaeaea; }
    .report-page .report-section .gaugeContent {
      text-align: center; }
      .report-page .report-section .gaugeContent .data {
        display: block;
        margin-bottom: 10px; }
        .report-page .report-section .gaugeContent .data::after {
          clear: both;
          content: "";
          display: table; }
        .report-page .report-section .gaugeContent .data .woman, .report-page .report-section .gaugeContent .data .man {
          width: 50%;
          float: left; }
        .report-page .report-section .gaugeContent .data .woman {
          color: #fc682d; }
        .report-page .report-section .gaugeContent .data .man {
          color: #664fa3; }
        .report-page .report-section .gaugeContent .data .percentage {
          font-size: 21px;
          font-weight: 600;
          letter-spacing: -0.48px;
          line-height: 1;
          margin: 5px 0 3px; }
          .report-page .report-section .gaugeContent .data .percentage span {
            font-size: 18px; }
        .report-page .report-section .gaugeContent .data .number {
          font-size: 15px;
          font-weight: 600;
          line-height: 1; }
      .report-page .report-section .gaugeContent .total {
        font-size: 12px;
        font-weight: 500;
        color: #999;
        letter-spacing: -0.28;
        line-height: 2; }
    .report-page .report-section .analysis {
      display: inline-block;
      font-size: 0.9375rem;
      font-weight: 600;
      color: #666262;
      margin: 30px;
      border-top: 1px solid #999;
      border-bottom: 1px solid #999;
      padding: 10px 0 25px;
      cursor: pointer; }
      .report-page .report-section .analysis .analysis-popup {
        display: none; }
      .report-page .report-section .analysis .analysis-link {
        display: inline-block;
        width: 15px;
        height: 15px;
        border-radius: 15px;
        background: #474545;
        position: relative;
        top: 2px;
        left: 2px; }
        .report-page .report-section .analysis .analysis-link svg {
          width: 9px;
          height: auto;
          position: relative;
          top: -2px;
          left: 3px; }
    .report-page .report-section .analysis-header {
      color: #474545;
      font-size: 0.6875rem;
      letter-spacing: 2.8px;
      line-height: 1;
      text-transform: uppercase;
      position: relative;
      top: -16px; }
      .report-page .report-section .analysis-header span {
        display: inline-block;
        padding: 2px 8px 2px 21px;
        background: url(../../images/build/search.svg) left center no-repeat #FFF;
        background-size: 11px auto; }
    .report-page .report-section .analysis-text {
      color: #666262;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.3; }
      .report-page .report-section .analysis-text p:last-of-type {
        margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .report-page .report-section .gaugeContent .data {
        margin-top: 10px;
        margin-bottom: 0; } }
  .report-page .most-eventful > h3 {
    text-align: center;
    font-size: 1rem;
    margin-top: 40px;
    margin-bottom: 10px; }
  .report-page .most-eventful .subtitle {
    font-size: 0.6875rem;
    text-align: center;
    margin-bottom: 30px; }
  .report-page .most-eventful .league-table-header, .report-page .most-eventful .arrow {
    display: none; }
  .report-page .report-section-top-10 > h3 {
    text-align: center;
    font-size: 1rem;
    margin-top: 40px; }
  .report-page .report-section-top-10 .league-table-header, .report-page .report-section-top-10 .arrow {
    display: none; }
  .report-page .horizontal-chart {
    padding: 39px 34px; }
    .report-page .horizontal-chart h3 {
      color: #3b3535;
      font-size: 16px;
      font-weight: 600;
      padding: 0 10px; }
    .report-page .horizontal-chart .value-text {
      display: none; }
    .report-page .horizontal-chart .bars {
      position: relative;
      padding: 10px 10px 14px;
      border-left: 1px solid #eaeaea;
      border-right: 1px solid #eaeaea; }
      .report-page .horizontal-chart .bars * {
        z-index: 1;
        position: relative; }
      .report-page .horizontal-chart .bars:before {
        z-index: 0;
        content: '';
        height: 100%;
        width: 1px;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: 0 auto;
        background: #eaeaea; }
    .report-page .horizontal-chart .bar-1 {
      background: #ffd1ba;
      border-radius: 3px;
      overflow: hidden;
      margin-bottom: 7px;
      min-height: 38px;
      position: relative; }
      .report-page .horizontal-chart .bar-1 .value-text {
        display: block;
        padding-top: 2px;
        padding-bottom: 0; }
      .report-page .horizontal-chart .bar-1 .value {
        background: #FC682D;
        color: #FFF;
        text-align: center;
        font-size: 0.8125rem;
        font-weight: 600;
        padding: 8px 10px 9px;
        min-width: 60px;
        position: relative;
        min-height: 38px; }
        .report-page .horizontal-chart .bar-1 .value .percent {
          color: #ffd1ba;
          font-size: 0.75rem; }
      .report-page .horizontal-chart .bar-1.show-outside .percent {
        position: absolute;
        left: calc(100% + 20px);
        color: #FC682D;
        width: 100px;
        text-align: left;
        top: 3px; }
    .report-page .horizontal-chart .bar-2 .value {
      background: #664fa3;
      height: 14px;
      border-radius: 2px; }
    .report-page .horizontal-chart .bar-3 .value {
      background: #ab9ecc;
      height: 14px;
      border-radius: 2px; }
    .report-page .horizontal-chart .bar-4 .value {
      background: #e3dcf2;
      height: 14px;
      border-radius: 2px; }
    .report-page .horizontal-chart .years {
      margin-top: 5px;
      padding: 0 10px; }
      .report-page .horizontal-chart .years ul {
        list-style-type: none;
        margin: 0;
        padding: 0; }
      .report-page .horizontal-chart .years li {
        float: left;
        color: #474545;
        font-size: 0.6875rem;
        line-height: 1.72;
        position: relative;
        padding: 0 0 0 16px;
        margin-right: 10px; }
        .report-page .horizontal-chart .years li:before {
          content: '';
          display: block;
          width: 11px;
          height: 11px;
          border-radius: 11px;
          background: #FC682D;
          position: absolute;
          left: 0;
          top: 3px; }
        .report-page .horizontal-chart .years li:nth-child(2):before {
          background: #664fa3; }
        .report-page .horizontal-chart .years li:nth-child(3):before {
          background: #ab9ecc; }
        .report-page .horizontal-chart .years li:nth-child(4) {
          margin-right: 0; }
          .report-page .horizontal-chart .years li:nth-child(4):before {
            background: #e3dcf2; }
  .report-page .progress-items {
    padding: 30px 23px; }
  .report-page .progress-item {
    margin-bottom: 25px; }
    .report-page .progress-item img {
      float: left;
      width: 25px;
      height: auto;
      padding: 2px;
      border: 1px solid #dadcea;
      margin-right: 5px;
      position: relative;
      top: 8px; }
    .report-page .progress-item .text-wrap {
      overflow: hidden; }
    .report-page .progress-item .progress-item-header {
      overflow: hidden;
      padding-bottom: 7px; }
    .report-page .progress-item h3 {
      font-size: 1rem;
      margin: 0 0 -3px; }
    .report-page .progress-item .subtitle {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.05em; }
    .report-page .progress-item .bar {
      background: #ffd1ba;
      border-radius: 3px;
      overflow: hidden; }
    .report-page .progress-item .bar-inner {
      background: #FC682D;
      text-align: center;
      color: #FFF;
      font-size: 0.8125rem;
      font-weight: 600;
      padding: 8px;
      min-width: 50px; }
  .report-page .report-analysis-wrap {
    background: #FFF;
    padding: 25px 20px 40px; }
  .report-page .report-analysis-intro {
    background: #474545;
    padding: 25px 25px 35px;
    border-radius: 4px;
    color: #FFF;
    margin-bottom: 35px; }
    .report-page .report-analysis-intro .label {
      font-size: 0.8125rem;
      font-weight: 600;
      margin-bottom: 15px; }
    .report-page .report-analysis-intro .text {
      color: #FFF;
      font-size: 1.625rem;
      font-weight: 600;
      line-height: 1.3; }
  .report-page .report-analysis-main {
    padding: 0 13px;
    font-size: 0.875rem; }
  @media screen and (max-width: 768px) {
    .report-page .report-message {
      font-size: 1.375rem;
      padding: 46px 0 32px; }
      .report-page .report-message p {
        font-size: 1.375rem;
        line-height: 1.6; }
    .report-page .report-message-inner:after {
      width: 16px;
      height: 32px;
      left: -27px; }
    .report-page .main-wrapper {
      padding: 32px 0; } }
  @media screen and (max-width: 680px) {
    .report-page .report-message {
      font-size: 1rem;
      padding: 20px 22px 22px; }
      .report-page .report-message p {
        font-size: 1rem;
        line-height: 1.7; }
    .report-page .report-message-inner:after {
      width: 10px;
      height: 20px;
      left: -15px; }
    .report-page .main-wrapper {
      padding: 27px 0; }
    .report-page .main-with-sidebar {
      padding: 0; }
    .report-page .report-section {
      margin-bottom: 25px; }
      .report-page .report-section .header {
        padding: 20px 21px; }
        .report-page .report-section .header .report-share-link {
          right: 21px; }
        .report-page .report-section .header .data-link {
          width: 30px;
          height: 30px;
          border-radius: 30px;
          top: 42px;
          right: 21px; }
          .report-page .report-section .header .data-link svg {
            width: 11px;
            -webkit-transform: translateY(-7px);
            -moz-transform: translateY(-7px);
            -ms-transform: translateY(-7px);
            -o-transform: translateY(-7px);
            transform: translateY(-7px); }
      .report-page .report-section .key-data {
        font-size: 0.75rem;
        padding-right: 80px; }
      .report-page .report-section h2 {
        font-size: 18px;
        line-height: 1.39;
        letter-spacing: -0.5px;
        padding-right: 75px;
        margin-bottom: 5px;
        min-height: 30px; }
      .report-page .report-section .hsi-woman-wrapper {
        padding: 20px 20px 0; }
        .report-page .report-section .hsi-woman-wrapper:before {
          border-width: 6px 33.5px 0 33.5px; }
        .report-page .report-section .hsi-woman-wrapper .point {
          font-size: 25px;
          letter-spacing: -0.6px; }
          .report-page .report-section .hsi-woman-wrapper .point span {
            font-size: 12px; }
        .report-page .report-section .hsi-woman-wrapper .text {
          font-size: 12px; }
      .report-page .report-section .chart-wrap {
        overflow: hidden; }
      .report-page .report-section .single-area-chart {
        margin-top: -75px; }
      .report-page .report-section .gaugeContent {
        display: block;
        -webkit-transform: translateY(30px);
        -moz-transform: translateY(30px);
        -ms-transform: translateY(30px);
        -o-transform: translateY(30px);
        transform: translateY(30px); }
        .report-page .report-section .gaugeContent .data {
          width: 80%;
          margin: 0 auto 20px; }
          .report-page .report-section .gaugeContent .data img {
            width: 7px; }
          .report-page .report-section .gaugeContent .data .percentage {
            font-size: 14px;
            letter-spacing: -0.3px;
            line-height: 0.93;
            margin: 0; }
            .report-page .report-section .gaugeContent .data .percentage span {
              font-size: 12px; }
          .report-page .report-section .gaugeContent .data .number {
            font-size: 12px; }
      .report-page .report-section .analysis {
        font-size: 0.75rem;
        margin: 20px;
        padding: 13px 0 13px; }
        .report-page .report-section .analysis .analysis-link {
          width: 12px;
          height: 12px;
          border-radius: 12px;
          top: 3px; }
          .report-page .report-section .analysis .analysis-link svg {
            width: 5px;
            top: -6px; }
      .report-page .report-section .analysis-text {
        font-size: 12px; }
    .report-page .horizontal-chart {
      padding: 20px 23px; }
      .report-page .horizontal-chart h3 {
        font-size: 14px;
        padding: 0; }
      .report-page .horizontal-chart .bars {
        padding: 10px 3.8px; }
      .report-page .horizontal-chart .bar-1 {
        margin-bottom: 4px; }
        .report-page .horizontal-chart .bar-1 .value {
          font-size: 0.75rem;
          padding: 7px 10px 5px; }
      .report-page .horizontal-chart .years {
        margin-top: 10px;
        padding: 0; }
    .report-page .most-eventful > h3 {
      font-size: 0.875rem;
      margin-top: 30px; }
    .report-page .most-eventful .subtitle {
      font-size: 0.75rem; }
      .report-page .most-eventful .subtitle svg {
        display: inline-block;
        margin-right: 4px;
        -webkit-transform: translateY(1px);
        -moz-transform: translateY(1px);
        -ms-transform: translateY(1px);
        -o-transform: translateY(1px);
        transform: translateY(1px); }
    .report-page .most-eventful .league-table-item {
      margin-left: 23px;
      margin-right: 23px;
      margin-bottom: 15px; }
    .report-page .report-analysis-intro {
      padding: 14px 22px 21px;
      margin-bottom: 25px; }
      .report-page .report-analysis-intro .label {
        font-size: 0.75rem; }
      .report-page .report-analysis-intro .text {
        font-size: 16px; }
    .report-page .report-analysis-main {
      padding: 0; } }

.report-list-header {
  padding: 30px 22px 0;
  text-align: center;
  display: block; }
  .report-list-header::after {
    clear: both;
    content: "";
    display: table; }
  .report-list-header .header-item {
    display: inline-block;
    vertical-align: middle;
    font-size: 11px;
    padding-left: 16px;
    margin: 0 5px;
    line-height: 1; }
    .report-list-header .header-item.ft-director {
      background: url("../../images/build/Star-2.png") no-repeat left center;
      background-size: 12px auto; }
    .report-list-header .header-item.ft-corp-director {
      background: url("../../images/build/Star-3.png") no-repeat left center;
      background-size: 12px auto; }
  @media screen and (max-width: 680px) {
    .report-list-header {
      text-align: left; }
      .report-list-header .header-item {
        margin: 0 0 10px;
        display: block; }
        .report-list-header .header-item:last-of-type {
          margin-bottom: 0; } }

.report-list {
  padding: 30px 22px;
  margin: 0; }
  .report-list li {
    border: 1px solid #EAEAEA;
    margin-bottom: 15px;
    border-radius: 3px;
    padding: 15px;
    position: relative; }
    .report-list li::after {
      clear: both;
      content: "";
      display: table; }
    .report-list li.first-time-director-on-hsi-board:before, .report-list li.first-time-appointed-corporate-director-in-hong-kong:before {
      content: '';
      display: block;
      width: 25px;
      height: 25px;
      border-radius: 25px;
      position: absolute;
      top: -11px;
      right: -11px;
      background-position: center 4px;
      border: 1px solid #FC682D;
      background-size: 15px auto; }
    .report-list li.first-time-director-on-hsi-board:before {
      background: url(../../images/build/Star-2.png) center 4px no-repeat #FC682D;
      background-size: 15px auto; }
    .report-list li.first-time-appointed-corporate-director-in-hong-kong:before {
      background: url(../../images/build/Star-3.png) center 4px no-repeat #FFF;
      background-size: 15px auto; }
  .report-list .image {
    width: 94px;
    height: 94px;
    float: left;
    margin-right: 15px;
    border-radius: 94px;
    overflow: hidden;
    background: url(../../images/build/default-avatar-female.png) center center no-repeat; }
    .report-list .image img {
      width: 100%;
      height: auto; }
  .report-list .text-wrap {
    overflow: hidden; }
  .report-list h3 {
    font-size: 1rem;
    margin: 0; }
  .report-list .role {
    font-size: 0.8125rem;
    color: #666262;
    font-weight: 500; }
  .report-list .company {
    font-size: 0.8125rem; }
  .report-list a {
    font-size: 0.8125rem;
    color: #FC682D; }
    .report-list a svg {
      background: #FC682D;
      padding: 2px;
      display: inline-block;
      margin-right: 5px;
      vertical-align: middle; }

.chart-header {
  display: block;
  margin-bottom: 20px;
  padding: 15px 15px 0 15px; }
  .chart-header::after {
    clear: both;
    content: "";
    display: table; }
  .chart-header .flag, .chart-header .info {
    float: left; }
  .chart-header .flag {
    width: 31px;
    border-radius: 2px;
    border: 1px solid #dadcea;
    padding: 3px; }
    .chart-header .flag img {
      width: 100%;
      display: block; }
  .chart-header .info {
    padding-left: 9px;
    width: calc(100% - 40px); }
    .chart-header .info .chart-title {
      color: #3b3535;
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -0.38px;
      line-height: 1.1; }
    .chart-header .info .chart-subtitle {
      color: #545151;
      font-size: 12px; }

.report-new-appointments {
  min-height: 600px; }
  .report-new-appointments h1 {
    font-size: 1.75rem;
    text-align: center;
    margin-bottom: 0; }
  .report-new-appointments .body {
    text-align: center;
    margin-top: 30px; }
  .report-new-appointments .report-list {
    padding-bottom: 80px; }
    .report-new-appointments .report-list::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (min-width: 769px) {
      .report-new-appointments .report-list li {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .report-new-appointments .report-list li:last-child {
          margin-right: 0; }
        .report-new-appointments .report-list li:nth-child(2n) {
          margin-right: 0; }
        .report-new-appointments .report-list li:nth-child(2n+1) {
          clear: left; } }
  @media screen and (max-width: 768px) {
    .report-new-appointments h1 {
      font-size: 1.375rem; } }
  @media screen and (max-width: 680px) {
    .report-new-appointments h1 {
      font-size: 1.125rem; } }

.share-popup {
  display: none; }

.analysis-popup-inner.share .name {
  font-size: 1.1875rem;
  color: #545151;
  margin-bottom: 25px; }

.node-report-methodology h1 {
  text-align: center;
  font-size: 1.75rem;
  margin: 0 0 30px; }

@media screen and (max-width: 768px) {
  .node-report-methodology h1 {
    font-size: 1.375rem; }
  .node-report-methodology .body {
    padding: 0 22px; } }

@media screen and (max-width: 680px) {
  .node-report-methodology h1 {
    font-size: 1.125rem; } }

.node-report .chart-wrap .highcharts-scrollbar {
  display: none; }

.node-report-percentage.full .area-chart .highcharts-data-labels .highcharts-data-label:first-child {
  margin-left: 35px !important; }

.node-report-percentage.full .area-chart .highcharts-data-labels .highcharts-data-label:last-child {
  margin-left: -35px !important; }

.node-report-percentage.full .area-chart .highcharts-data-labels.highcharts-series-0 .highcharts-data-label * {
  color: #FFF !important; }

.report-partners-page {
  background: #FBF9F8; }

.view-report-partners {
  margin-bottom: 50px; }
  .view-report-partners::after {
    clear: both;
    content: "";
    display: table; }
  .view-report-partners .partner {
    position: relative;
    margin-bottom: 24px; }
    @media screen and (min-width: 769px) {
      .view-report-partners .partner {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 23.40426%; }
        .view-report-partners .partner:last-child {
          margin-right: 0; }
        .view-report-partners .partner:nth-child(4n) {
          margin-right: 0; }
        .view-report-partners .partner:nth-child(4n+1) {
          clear: left; } }
    .view-report-partners .partner:before {
      content: '';
      height: 160px;
      width: 160px;
      background: rgba(0, 0, 0, 0.06);
      filter: blur(15px);
      position: absolute;
      bottom: -25px;
      left: calc(50% - 80px);
      z-index: 1; }
  .view-report-partners .partner-inner {
    background: #FFF;
    padding: 20px;
    z-index: 2;
    position: relative;
    overflow: hidden; }
  .view-report-partners h2 {
    font-size: 0.9375rem;
    letter-spacing: 0;
    margin-bottom: 60px; }
  .view-report-partners .partner a {
    color: #FC682D;
    font-size: 0.75rem;
    position: absolute;
    bottom: 20px;
    left: 20px; }
  .view-report-partners img {
    width: 100px;
    height: auto;
    display: block;
    margin: 0 auto 20px; }
  .view-report-partners .pager {
    padding-top: 50px; }
  @media screen and (max-width: 768px) {
    .view-report-partners {
      padding-left: 20px;
      padding-right: 20px; }
      .view-report-partners .partner {
        margin-bottom: 15px; }
      .view-report-partners .text-wrap {
        overflow: hidden;
        padding-top: 20px; }
      .view-report-partners h2 {
        margin: 0 0 5px; }
      .view-report-partners .image-wrap {
        float: left;
        position: relative;
        padding-right: 15px;
        margin-right: 15px; }
        .view-report-partners .image-wrap:after {
          content: '';
          position: absolute;
          top: 10px;
          bottom: 10px;
          right: 0;
          border-right: 1px solid #EAEAEA; }
      .view-report-partners img {
        width: 85px;
        height: auto;
        margin: 0; }
      .view-report-partners .partner a {
        position: static; } }

.node-type-report .programme-header {
  padding: 115px 0 50px; }
  .node-type-report .programme-header .sponsors {
    margin-top: 50px; }
  .node-type-report .programme-header .lead-sponsor, .node-type-report .programme-header .gold-sponsor {
    display: inline-block;
    vertical-align: top; }
  .node-type-report .programme-header .logo {
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px; }
    .node-type-report .programme-header .logo img {
      width: auto;
      height: auto;
      max-width: 120px;
      max-height: 100px;
      display: block; }
    .node-type-report .programme-header .logo:last-of-type {
      margin-right: 0; }
  .node-type-report .programme-header .headline {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 1.6px;
    margin-bottom: 10px; }
  .node-type-report .programme-header .lead-sponsor {
    margin-right: 50px; }

@media screen and (max-width: 768px) {
  .node-type-report .programme-header {
    padding: 115px 20px 50px; }
    .node-type-report .programme-header .sponsors {
      margin-top: 25px; }
    .node-type-report .programme-header .lead-sponsor, .node-type-report .programme-header .gold-sponsor {
      display: block; }
    .node-type-report .programme-header .logo img {
      max-width: 80px;
      max-height: 65px; }
    .node-type-report .programme-header .lead-sponsor {
      margin: 25px 0; } }

.node-type-report-partners .partners {
  display: block;
  margin-bottom: 60px; }
  .node-type-report-partners .partners::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-report-partners .partners .partners-title {
    text-align: center;
    margin-bottom: 47px; }

.node-type-report-partners .partner {
  display: block; }
  .node-type-report-partners .partner::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-report-partners .partner .partner-wrapper {
    display: block; }
    .node-type-report-partners .partner .partner-wrapper::after {
      clear: both;
      content: "";
      display: table; }
  .node-type-report-partners .partner .partner-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.33;
    margin-bottom: 45px; }

@media screen and (max-width: 768px) {
  .node-type-report-partners .partner .partner-title {
    margin-bottom: 5px; } }

.report-cta-page {
  overflow: hidden;
  background: #FFF; }
  .report-cta-page h1 {
    font-size: 1.75rem;
    line-height: 1.3;
    position: relative;
    margin: 43px 0;
    padding-bottom: 43px;
    border-bottom: 1px solid #BBBDBF; }
    .report-cta-page h1:before {
      content: '';
      position: absolute;
      left: -40px;
      top: 10px;
      width: 23px;
      height: 46px;
      background-color: #ffd1ba;
      border-bottom-left-radius: 100px;
      border-top-left-radius: 100px;
      border-left: 0; }
  .report-cta-page .testimonial {
    padding: 37px 20px 30px;
    outline: none; }
    .report-cta-page .testimonial.slick-current .text:before,
    .report-cta-page .testimonial.slick-current .text:after {
      opacity: 1; }
    .report-cta-page .testimonial .inner {
      background: #FBF9F8;
      position: relative;
      padding: 60px 20px 32px;
      text-align: center; }
    .report-cta-page .testimonial .image {
      border-radius: 50%;
      height: 75px;
      width: 75px;
      position: absolute;
      top: -36px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      background-size: cover;
      background-position: center; }
      .report-cta-page .testimonial .image:before {
        content: '';
        height: 18px;
        width: 18px;
        position: absolute;
        right: 0;
        bottom: 0;
        background: rgba(252, 104, 45, 0.75);
        border-radius: 50%; }
    .report-cta-page .testimonial .text {
      z-index: 1;
      position: relative;
      max-width: 633px;
      margin: 10px auto 15px;
      font-size: 0.875rem;
      color: #999;
      line-height: 1.58; }
      .report-cta-page .testimonial .text:before, .report-cta-page .testimonial .text:after {
        content: '';
        opacity: 0;
        height: 38px;
        width: 48px;
        z-index: -1; }
      .report-cta-page .testimonial .text:before {
        position: absolute;
        top: -19px;
        left: -21px;
        background: url("../../images/build/quote-left.png") no-repeat center;
        background-size: 100% auto; }
      .report-cta-page .testimonial .text:after {
        position: absolute;
        right: 27px;
        bottom: -19px;
        background: url("../../images/build/quote-right.png") no-repeat center;
        background-size: 100% auto; }
    .report-cta-page .testimonial .title {
      font-size: 0.875rem;
      font-weight: 600;
      line-height: 1.78; }
    .report-cta-page .testimonial .job-title {
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.67; }
  .report-cta-page .what-can-be-done {
    background: #ffd1ba;
    padding: 60px 0; }
    .report-cta-page .what-can-be-done h2 {
      text-align: center;
      font-size: 1.5rem;
      margin-bottom: 51px; }
  .report-cta-page .wcbd-links {
    text-align: center;
    padding-bottom: 40px; }
    .report-cta-page .wcbd-links li {
      display: inline-block;
      width: 225px;
      vertical-align: top;
      cursor: pointer; }
    .report-cta-page .wcbd-links .icon {
      width: 63px;
      height: 63px;
      background: #474545;
      border-radius: 63px;
      position: relative;
      display: inline-block;
      vertical-align: top;
      margin-bottom: 10px;
      transition: background 0.2s ease-in-out; }
      .report-cta-page .wcbd-links .icon svg {
        max-height: 100%;
        max-width: 100%;
        width: auto;
        height: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto; }
    .report-cta-page .wcbd-links .link-name {
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2; }
    .report-cta-page .wcbd-links li.active .icon {
      background: #FFF; }
    .report-cta-page .wcbd-links li.active path {
      fill: #FC682D; }
  .report-cta-page .wcbd-content-wrap {
    max-width: 797px;
    margin: 0 auto; }
  .report-cta-page .wcbd-content {
    padding: 50px 80px;
    background: #FFF; }
    .report-cta-page .wcbd-content dl {
      max-width: 634px;
      margin: 0 auto; }
    .report-cta-page .wcbd-content dt, .report-cta-page .wcbd-content dd {
      margin: 0;
      padding: 0; }
    .report-cta-page .wcbd-content dt {
      font-size: 1rem;
      font-weight: 600;
      position: relative; }
      .report-cta-page .wcbd-content dt:before {
        content: '';
        display: block;
        width: 19px;
        height: 19px;
        border-radius: 19px;
        background: #FC682D;
        position: absolute;
        left: -40px;
        top: 3px; }
    .report-cta-page .wcbd-content dd {
      font-size: 0.875rem; }
      .report-cta-page .wcbd-content dd:not(:last-child) {
        margin-bottom: 40px;
        border-bottom: 1px solid #EAEAEA;
        padding-bottom: 40px; }
    .report-cta-page .wcbd-content:not(.active) {
      display: none; }
  @media screen and (max-width: 768px) {
    .report-cta-page h1 {
      font-size: 1.625rem; }
    .report-cta-page .what-can-be-done .container {
      max-width: 100%;
      padding: 0 22px; }
    .report-cta-page .wcbd-content-wrap {
      max-width: 100%; }
    .report-cta-page .wcbd-content dl {
      max-width: 750px; } }
  @media screen and (max-width: 680px) {
    .report-cta-page h1 {
      font-size: 1.25rem;
      margin: 20px;
      padding-bottom: 20px; }
      .report-cta-page h1:before {
        left: -17px;
        top: 5px;
        width: 11.5px;
        height: 23px; }
    .report-cta-page .wcbd-links {
      padding-bottom: 20px; }
      .report-cta-page .wcbd-links li {
        width: auto;
        margin: 0 10px; }
      .report-cta-page .wcbd-links .icon {
        height: 55px;
        width: 55px;
        border-radius: 50%; }
        .report-cta-page .wcbd-links .icon svg {
          width: 30px;
          height: 30px; }
      .report-cta-page .wcbd-links .link-name {
        display: none; }
    .report-cta-page .wcbd-content {
      padding: 30px 30px 30px 40px; }
      .report-cta-page .wcbd-content dt {
        font-size: 0.9375rem; }
        .report-cta-page .wcbd-content dt:before {
          height: 10px;
          width: 10px;
          left: -25px;
          top: 5px; }
      .report-cta-page .wcbd-content dd {
        font-size: 0.875rem; }
        .report-cta-page .wcbd-content dd:not(:last-child) {
          margin-bottom: 20px;
          padding-bottom: 20px; } }

.report-news-page {
  background: #FBF9F8; }
  .report-news-page .articles {
    margin-bottom: 50px; }
    .report-news-page .articles::after {
      clear: both;
      content: "";
      display: table; }
    .report-news-page .articles .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 23.40426%; }
      .report-news-page .articles .card:nth-child(4n) {
        margin-right: 0; }
      .report-news-page .articles .card:nth-child(4n+1) {
        clear: left; }
      .report-news-page .articles .card:last-child {
        margin-right: 0; }
  @media screen and (max-width: 1200px) {
    .report-news-page .articles .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 31.91489%; }
      .report-news-page .articles .card:nth-child(4n) {
        margin-right: 2.12766%; }
      .report-news-page .articles .card:nth-child(4n+1) {
        clear: none; }
      .report-news-page .articles .card:nth-child(3n) {
        margin-right: 0; }
      .report-news-page .articles .card:nth-child(3n+1) {
        clear: left; }
      .report-news-page .articles .card:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 768px) {
    .report-news-page .articles .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%;
      margin-bottom: 20px; }
      .report-news-page .articles .card:nth-child(3n) {
        margin-right: 2.12766%; }
      .report-news-page .articles .card:nth-child(3n+1) {
        clear: none; }
      .report-news-page .articles .card:nth-child(2n) {
        margin-right: 0; }
      .report-news-page .articles .card:nth-child(2n+1) {
        clear: left; }
      .report-news-page .articles .card:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .report-news-page .articles {
      padding: 0 20px; }
      .report-news-page .articles .card {
        float: none;
        width: 100%; } }

.external-resources {
  clear: both;
  width: 100%;
  background: #dce4ec; }
  .external-resources h2 {
    font-size: 2.1875rem;
    margin-bottom: 47px;
    text-align: center; }
    @media screen and (max-width: 680px) {
      .external-resources h2 {
        font-size: 1.5rem; } }
  .external-resources-title {
    margin-bottom: 47px;
    text-align: center; }
  .external-resources-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(286px, 1fr));
    gap: 18px;
    margin-bottom: 35px; }
    @media screen and (max-width: 768px) {
      .external-resources-cards {
        margin-bottom: 5.625rem; }
        .external-resources-cards .slick-dots {
          bottom: -3.125rem; }
          .external-resources-cards .slick-dots button:before {
            content: ''; } }
    .external-resources-cards .topic-content {
      min-height: 318px; }
    @media screen and (max-width: 768px) {
      .external-resources-cards .topic {
        max-width: 286px;
        margin: 0 auto; } }
  .external-resources-button {
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .external-resources-button {
        margin-top: 4.6875rem; } }
  .external-resources-cta {
    padding: 7px 23px 6px 15px;
    font-size: 1rem;
    font-weight: 400; }
    .external-resources-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .external-resources-cta::after {
      margin-left: 9px; }

@media screen and (min-width: 681px) {
  .external-resources-inner {
    column-count: 2;
    column-gap: 1em; } }

@media screen and (min-width: 769px) {
  .external-resources-inner {
    column-count: 4;
    column-gap: 1em; } }

.external-resource {
  display: inline-block;
  background: #FFF;
  padding: 30px 20px 15px;
  overflow: hidden;
  margin-bottom: 10px;
  width: 100%; }
  .external-resource .title {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 10px; }
  .external-resource .date {
    font-size: 0.6875rem;
    text-transform: uppercase;
    color: #666262; }

.node-news-publication .external-resources,
.event-detail .external-resources {
  padding: 50px 0; }

.events-landing-page .external-resources {
  padding: 50px 0; }

.events-landing-page .share-wrapper {
  margin-bottom: 50px; }

.node-news-publication .main-wrapper {
  padding-bottom: 0; }
  @media screen and (max-width: 768px) {
    .node-news-publication .main-wrapper {
      padding-top: 40px; } }

.buy-tickets-form .tickets {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.buy-tickets-form .ticket {
  background: none;
  border-bottom: 1px solid #EAE9EC;
  padding: 30px 0;
  overflow: hidden; }
  .buy-tickets-form .ticket .text-wrap {
    float: left;
    width: calc(100% - 140px); }
  .buy-tickets-form .ticket .quantity {
    position: relative;
    float: right;
    width: 100px;
    border-radius: 3px;
    padding: 7px 25px;
    border: 1px solid #EAE9EC; }
  .buy-tickets-form .ticket .buy-tickets-form-add-single-to-cart, .buy-tickets-form .ticket .free-publication-download-link {
    float: right; }

.buy-tickets-form .price {
  color: #3B3535;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 6px;
  text-transform: uppercase; }

.buy-tickets-form .ticket-title {
  font-size: 0.6875rem;
  font-weight: normal;
  margin-bottom: 11px;
  color: #474545; }

.buy-tickets-form .free-tickets-info {
  color: #474545;
  font-size: 0.8125rem; }

.buy-tickets-form .ticket-text {
  font-size: 0.75rem;
  font-weight: normal;
  color: #666262;
  line-height: 1.59; }

.buy-tickets-form input[type=number] {
  border-right: 1px solid #EAEAEA;
  border-left: 1px solid #EAEAEA;
  border-top: 0;
  border-bottom: 0;
  border-radius: 0;
  padding: 0 5px 0 18px;
  text-align: center;
  margin: 0 auto;
  background: transparent; }

.buy-tickets-form .quantity-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }
  .buy-tickets-form .quantity-nav .quantity-button {
    color: #FC572D;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1;
    height: 15px;
    width: 12px;
    margin: auto;
    cursor: pointer; }
    .buy-tickets-form .quantity-nav .quantity-button.quantity-up {
      position: absolute;
      top: 0;
      right: 9px;
      bottom: 0; }
    .buy-tickets-form .quantity-nav .quantity-button.quantity-down {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 8px; }

.buy-tickets-form .form-actions {
  overflow: hidden;
  padding: 0;
  text-align: right;
  margin: 12px 0; }
  .buy-tickets-form .form-actions a {
    float: right;
    background: #FC682D;
    color: #FFF;
    outline: none;
    margin: 0 1px 0 18px; }
    .buy-tickets-form .form-actions a.disabled {
      color: #FFF;
      background: #EAEAEA;
      pointer-events: none;
      box-shadow: none; }
  .buy-tickets-form .form-actions .primary-call-action {
    margin-bottom: 20px; }
  .buy-tickets-form .form-actions input[type="submit"] {
    outline: none; }
    .buy-tickets-form .form-actions input[type="submit"]:hover {
      background: #FC682D; }

.buy-tickets-form .remark {
  text-align: left;
  display: block;
  max-width: 390px;
  font-size: 0.6875em;
  color: #666262;
  line-height: 1.45;
  margin-bottom: 16px; }

.buy-tickets-form .ajax-response {
  margin-top: 8px;
  font-size: 0.9375rem;
  display: block;
  float: left; }

@media screen and (max-width: 680px) {
  .buy-tickets-form .ticket {
    padding: 15px 0; }
    .buy-tickets-form .ticket .text-wrap {
      float: left;
      width: calc(100% - 70px); }
    .buy-tickets-form .ticket .quantity {
      height: 40px;
      width: 50px;
      padding: 6px 7px 9px; }
    .buy-tickets-form .ticket .buy-tickets-form-add-single-to-cart {
      float: right; }
  .buy-tickets-form .price {
    margin-bottom: 5px; }
  .buy-tickets-form .ticket-title {
    font-size: 0.625rem;
    margin-bottom: 5px; }
  .buy-tickets-form input[type=number] {
    border: 0;
    padding: 0 5px; }
  .buy-tickets-form .quantity-nav {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }
    .buy-tickets-form .quantity-nav .quantity-button {
      margin: 0;
      height: 14px;
      width: 10px; }
      .buy-tickets-form .quantity-nav .quantity-button.quantity-up {
        position: absolute;
        top: 6px;
        right: 7px;
        bottom: 0; }
      .buy-tickets-form .quantity-nav .quantity-button.quantity-down {
        position: absolute;
        top: 22px;
        left: 32px; }
  .buy-tickets-form .form-actions {
    margin: 15px 0;
    text-align: left; }
    .buy-tickets-form .form-actions a {
      float: left; }
    .buy-tickets-form .form-actions .primary-call-action {
      float: left; }
    .buy-tickets-form .form-actions input[type="submit"] {
      outline: none; }
      .buy-tickets-form .form-actions input[type="submit"]:hover {
        background: #FC682D; }
  .buy-tickets-form .remark {
    max-width: 100%;
    margin-bottom: 18px; }
  .buy-tickets-form .ajax-response {
    width: 100%;
    margin-top: 0;
    margin-bottom: 17px;
    font-size: 0.875rem; } }

.buy-tickets-form .still-active {
  float: right;
  display: inline-block;
  margin-top: -20px;
  margin-right: 25px; }

#user-profile-form {
  position: relative;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 0;
  min-height: 500px; }
  #user-profile-form::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 768px) {
    #user-profile-form {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      #user-profile-form::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    #user-profile-form {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      #user-profile-form::after {
        clear: both;
        content: "";
        display: table; } }
  #user-profile-form label {
    color: #10487a;
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.25;
    padding-left: 0; }
  #user-profile-form input {
    margin-bottom: 0; }
  #user-profile-form .description {
    font-size: 0.6875rem; }
  #user-profile-form .password-strength,
  #user-profile-form .password-confirm {
    font-size: 0.75rem;
    font-weight: normal;
    margin-top: 0; }
  #user-profile-form .form-item-name,
  #user-profile-form .form-item-mail,
  #user-profile-form .form-item-pass-pass1,
  #user-profile-form .form-item-pass-pass2,
  #user-profile-form .field-name-field-first-name,
  #user-profile-form .field-name-field-last-name,
  #user-profile-form .field-name-field-contact-number,
  #user-profile-form .field-name-field-company-name,
  #user-profile-form .form-item-current-pass {
    width: calc((100% / 2) - 30px);
    display: inline-block;
    vertical-align: top; }
  #user-profile-form .form-item-name,
  #user-profile-form .form-item-pass-pass2,
  #user-profile-form .field-name-field-contact-number,
  #user-profile-form .field-name-field-last-name {
    margin-left: 54px; }
  #user-profile-form #user-pass .form-item-name {
    margin-left: 0;
    width: 100%; }
  #user-profile-form #user-pass .form-actions {
    margin: 0; }
  #user-profile-form #user-login .form-item-name {
    margin-left: 0;
    width: 100%; }
  #user-profile-form #user-login .form-actions {
    margin: 26px 0 0; }
  #user-profile-form #user-register .form-actions {
    margin: 27px 0 0; }
  #user-profile-form .captcha {
    margin: 15px 0;
    width: 100%;
    text-align: left; }
  #user-profile-form fieldset {
    margin: 30px 0;
    padding: 10px 20px 20px; }
    #user-profile-form fieldset .fieldset-legend {
      text-transform: uppercase;
      font-size: 0.8125rem; }
    #user-profile-form fieldset .form-item {
      margin: 0; }
    #user-profile-form fieldset .description {
      margin-top: 10px; }
  #user-profile-form .form-file {
    font-size: 0.75rem; }
  #user-profile-form .form-actions {
    margin: 45px 0 0; }
  @media screen and (max-width: 680px) {
    #user-profile-form {
      padding: 25px 20px; }
      #user-profile-form .password-strength {
        width: auto; }
      #user-profile-form .form-item {
        margin: 5px 0; }
      #user-profile-form .form-item-name,
      #user-profile-form .form-item-mail,
      #user-profile-form .form-item-pass-pass1,
      #user-profile-form .form-item-pass-pass2,
      #user-profile-form .field-name-field-contact-number,
      #user-profile-form .field-name-field-company-name,
      #user-profile-form .field-name-field-first-name,
      #user-profile-form .field-name-field-last-name,
      #user-profile-form .form-item-current-pass {
        width: 100%; }
      #user-profile-form .form-item-mail,
      #user-profile-form .form-item-pass-pass2,
      #user-profile-form .field-name-field-last-name {
        margin-left: 0; }
      #user-profile-form .messages.error {
        font-size: 0.75rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInZlbmRvci9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwidmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9faXMtbnVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19jb2xvci1saWdodG5lc3Muc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQtc2hhZGUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm94LXNpemluZy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19odG1sNS1pbnB1dC10eXBlcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19wcmVmaXhlci5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwidmVuZG9yL2JvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwidmVuZG9yL25lYXQvX25lYXQtaGVscGVycy5zY3NzIiwidmVuZG9yL25lYXQvZnVuY3Rpb25zL19wcml2YXRlLnNjc3MiLCJ2ZW5kb3IvbmVhdC9mdW5jdGlvbnMvX25ldy1icmVha3BvaW50LnNjc3MiLCJ2ZW5kb3IvbmVhdC9zZXR0aW5ncy9fZ3JpZC5zY3NzIiwidmVuZG9yL25lYXQvc2V0dGluZ3MvX3Zpc3VhbC1ncmlkLnNjc3MiLCJ2ZW5kb3IvbmVhdC9zZXR0aW5ncy9fZGlzYWJsZS13YXJuaW5ncy5zY3NzIiwiX2dyaWQuc2NzcyIsInZlbmRvci9uZWF0L19uZWF0LnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19wcml2YXRlLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19vbWVnYS5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3Jvdy5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fc2hpZnQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3BhZC5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fZmlsbC1wYXJlbnQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX21lZGlhLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL190by1kZXByZWNhdGUuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3Zpc3VhbC1ncmlkLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19kaXNwbGF5LWNvbnRleHQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX2RpcmVjdGlvbi1jb250ZXh0LnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwidmVuZG9yL19zZWxlY3QyLnNjc3MiLCJ2ZW5kb3IvX2pxdWVyeS5mYW5jeWJveC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2Z1bmN0aW9ucy5zY3NzIiwiX21peGlucy5zY3NzIiwiX2ljb25mb250LnNjc3MiLCJnbG9iYWwvX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL190eXBvLnNjc3MiLCJnbG9iYWwvX2hlYWRlci5zY3NzIiwiZ2xvYmFsL19mb290ZXIuc2NzcyIsImdsb2JhbC9fbGF5b3V0LnNjc3MiLCJnbG9iYWwvX3NsaWNrLnNjc3MiLCJjb21wb25lbnRzL19jb21wb25lbnRzLnNjc3MiLCJjb21wb25lbnRzL190aXRsZS5zY3NzIiwiY29tcG9uZW50cy9fY3RhLnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2tzLnNjc3MiLCJjb21wb25lbnRzL19saXN0LnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19jaXJjbGUuc2NzcyIsImNvbXBvbmVudHMvX2ljb24uc2NzcyIsImNvbXBvbmVudHMvX2Jhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fZmFxLnNjc3MiLCJjb21wb25lbnRzL19sb2dpbi5zY3NzIiwiY29tcG9uZW50cy9fY2FydC5zY3NzIiwiY29tcG9uZW50cy9fY29tcGFueS1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZm9jdXMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtbWVtYmVyLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLWNhbXBhaWducy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fdGVzdGltb25pYWxzLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fcGFyYWdyYXBoLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXIuc2NzcyIsImNvbXBvbmVudHMvX2ZhbmN5Ym94LnNjc3MiLCJjb21wb25lbnRzL19zb2NpYWwtbWVkaWEtaWNvbi5zY3NzIiwiY29tcG9uZW50cy9fY29tbWVudHMuc2NzcyIsImNvbXBvbmVudHMvX3NoYXJlLnNjc3MiLCJjb21wb25lbnRzL19vcmFuZ2UtYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL19vcmFuZ2UtdGV4dC1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9fcHJvZ3JhbW1lLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbmV3c2xldHRlci1zaWdudXAuc2NzcyIsImNvbXBvbmVudHMvX2NoYXJ0LnNjc3MiLCJjb21wb25lbnRzL19sZWFndWUtdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX25hdi5zY3NzIiwiY29tcG9uZW50cy9fc25zLnNjc3MiLCJjb21wb25lbnRzL19zb2x1dGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcmVzdWx0LnNjc3MiLCJjb21wb25lbnRzL19wYXJ0bmVyLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQuc2NzcyIsImNvbXBvbmVudHMvX3RlYW0uc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLnNjc3MiLCJjb21wb25lbnRzL192YWx1ZXMuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fbXYuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZXZlbnQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtcGFzdC5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC1iYXNpYy5zY3NzIiwiY29tcG9uZW50cy9fZXZlbnQtZmVhdHVyZWQuc2NzcyIsImNvbXBvbmVudHMvX3RvcGljLnNjc3MiLCJjb21wb25lbnRzL19jb2x1bW4uc2NzcyIsImNvbXBvbmVudHMvX3Nwb3RsaWdodC5zY3NzIiwiY29tcG9uZW50cy9fYmVuZWZpdHMuc2NzcyIsImNvbXBvbmVudHMvX29yZ2FuaXphdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcmVzZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX25ld3NsZXR0ZXIuc2NzcyIsImNvbXBvbmVudHMvX2ludm9sdmVkLnNjc3MiLCJjb21wb25lbnRzL19rYXJkLnNjc3MiLCJjb21wb25lbnRzL19leWUtY2F0Y2guc2NzcyIsImNvbXBvbmVudHMvX3ByaW5jaXBhbC1wYXJ0bmVycy5zY3NzIiwiY29tcG9uZW50cy9fdmFjYW5jeS5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyLWV2ZW50LnNjc3MiLCJwYWdlcy9fcGFnZXMuc2NzcyIsInBhZ2VzL191c2VyLnNjc3MiLCJwYWdlcy9faG9tZXBhZ2Uuc2NzcyIsInBhZ2VzL19pbmRleC1wYWdlLnNjc3MiLCJwYWdlcy9fZG9uYXRlLnNjc3MiLCJwYWdlcy9fY2hlY2tvdXQuc2NzcyIsInBhZ2VzL19jaGVja291dF9zaWduaW5fc2lnbnVwX3BhbmUuc2NzcyIsInBhZ2VzL19jaGVja291dF9jb21wbGV0ZS5zY3NzIiwicGFnZXMvX2Fib3V0LXVzLnNjc3MiLCJwYWdlcy9fZm9jdXMtYXJlYS5zY3NzIiwicGFnZXMvX3Byb2dyYW1tZXMtbGFuZGluZy5zY3NzIiwicGFnZXMvX25ldHdvcmtzLWxhbmRpbmcuc2NzcyIsInBhZ2VzL19uZXR3b3Jrcy1hcHBsaWNhdGlvbi5zY3NzIiwicGFnZXMvX2NvbXBhbnkuc2NzcyIsInBhZ2VzL19ldmVudHMuc2NzcyIsInBhZ2VzL19ldmVudHMtbGFuZGluZy5zY3NzIiwicGFnZXMvX3RyYWluaW5nLWNvbnN1bHRpbmctbGFuZGluZy5zY3NzIiwicGFnZXMvX3RyYWluaW5nLWNvbnN1bHRpbmcuc2NzcyIsInBhZ2VzL19jb250YWN0LXVzLnNjc3MiLCJwYWdlcy9fYmFzaWMtcGFnZS5zY3NzIiwicGFnZXMvX2ZhcS1sYW5kaW5nLnNjc3MiLCJwYWdlcy9fZ2V0LWludm9sdmVkLnNjc3MiLCJwYWdlcy9fcHJvZmlsZS1wYWdlcy5zY3NzIiwicGFnZXMvX25ld3MtcHVibGljYXRpb24uc2NzcyIsInBhZ2VzL19zZWFyY2guc2NzcyIsInBhZ2VzL19qb2luLXRlYW0uc2NzcyIsInBhZ2VzL19wYXJ0bmVycy5zY3NzIiwicGFnZXMvX3ByZXNzLXBhZ2Uuc2NzcyIsInBhZ2VzL19zaXRlbWFwLnNjc3MiLCJwYWdlcy9fbm90LWZvdW5kLnNjc3MiLCJwYWdlcy9fcmVwb3J0LnNjc3MiLCJwYWdlcy9fcmVwb3J0LWN0YS5zY3NzIiwicGFnZXMvX3JlcG9ydC1uZXdzLnNjc3MiLCJmb3Jtcy9fZm9ybXMuc2NzcyIsImZvcm1zL19idXktdGlja2V0cy1mb3JtLnNjc3MiLCJmb3Jtcy9fcmVnaXN0ZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLSBWRU5ET1IgSU1QT1JUUyAtLS0tLSAqL1xuQGltcG9ydCBcInZlbmRvci9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvbmVhdC9uZWF0LWhlbHBlcnNcIjtcbkBpbXBvcnQgXCJncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvbmVhdC9uZWF0XCI7XG5AaW1wb3J0IFwidmVuZG9yL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcInZlbmRvci9zZWxlY3QyXCI7XG5AaW1wb3J0IFwidmVuZG9yL2pxdWVyeS5mYW5jeWJveFwiO1xuLyogLS0tLS0gVEhFTUUgSU1QT1JUUyAtLS0tLSAqL1xuLyogLS0tLS0gQWRkIGFueSBleHRyYSBfKi5zY3NzIGZpbGVzIGhlcmUgLS0tLS0gKi9cbkBpbXBvcnQgXCJ2YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCJpY29uZm9udC5zY3NzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2dsb2JhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29tcG9uZW50c1wiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2VzXCI7XG5AaW1wb3J0IFwiZm9ybXMvZm9ybXNcIjsiLCIvLyBCb3VyYm9uIDQuMS4xXG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG4vLyBDdXN0b20gSGVscGVyc1xuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbi8vIENTUzMgTWl4aW5zXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuLy8gQWRkb25zICYgb3RoZXIgbWl4aW5zXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LWZhbWlseVwiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaHRtbDUtaW5wdXQtdHlwZXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuLy8gU29vbiB0byBiZSBkZXByZWNhdGVkIE1peGluc1xuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiLy8gVmFyaWFibGUgc2V0dGluZ3MgZm9yIC9hZGRvbnMvcHJlZml4ZXIuc2Nzc1xuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0OyAvLyByZXF1aXJlZCBmb3Iga2V5ZnJhbWUgbWl4aW5cbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogJ3B4JyAnY20nICdtbScgJyUnICdjaCcgJ3BpY2EnICdpbicgJ2VtJyAncmVtJyAncHQnICdwYycgJ2V4JyAndncnICd2aCcgJ3ZtaW4nICd2bWF4JywgJ2RlZycsICdyYWQnLCAnZ3JhZCcsICd0dXJuJztcbiAgJHVuaXRzOiAgIDFweCAgMWNtICAxbW0gIDElICAxY2ggIDFwaWNhICAxaW4gIDFlbSAgMXJlbSAgMXB0ICAxcGMgIDFleCAgMXZ3ICAxdmggIDF2bWluICAxdm1heCwgIDFkZWcsICAxcmFkLCAgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6IG51bGw7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbnVtYmVyXG5cbkBmdW5jdGlvbiBfaXMtbnVtKCR2YWx1ZSkge1xuICBAcmV0dXJuIGNvbnRhaW5zKCcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBfaXMtbnVtKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDAsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEgKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMCwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkRzEsICRHMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkRzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRHMiB7XG4gICAgICAgICAgICAkRzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9ICcgICcpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIlxuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy0nIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0IDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn0iLCIvLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuLy8gUmV0dXJucyBhIGJvb2xlYW5cbi8vIE1vcmUgZGV0YWlscyBoZXJlIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG5cbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAuNjtcbn1cbiIsIi8vIFRlc3QgYSBTYXNzIGxpc3QgdG8gc2VlIGlmIGl0IGNvbnRhaW5zIGEgZGVmaW5lZCB2YWx1ZVxuLy8gQWxsb3dzIGZvciBjaGVja2luZyBpZiBhIGxpc3QgY29udGFpbnMgc2V2ZXJhbCB2YWx1ZXMgYXQgb25jZVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09ICdjYWxjJ1xuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgc2l6ZVxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiLy8gU3J0aXBzIHRoZSB1bml0cyBmcm9tIGEgdmFsdWUuIGUuZy4gMTJweCAtPiAxMlxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbCkge1xuICBAcmV0dXJuICgkdmFsIC8gKCR2YWwgKiAwICsgMSkpO1xufVxuIiwiLy8gQWRkIHBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcbn1cblxuLy8gQWRkIHBlcmNlbnRhZ2Ugb2YgYmxhY2sgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcblx0JG5ldy1wcm9wczogKCk7XG5cdFxuXHRAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuXHRcdCRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG5cdH1cblxuXHRAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuXHRAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcblx0XHRAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHJldHVybiAkcHJvcDtcblx0fVxufSIsIi8vIENvbnZlcnQgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheFxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cblxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG4vLyBPZmZpY2lhbCBhbmltYXRpb24gc2hvcnRoYW5kIHByb3BlcnR5LlxuQG1peGluIGFuaW1hdGlvbiAoJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gSW5kaXZpZHVhbCBBbmltYXRpb24gUHJvcGVydGllc1xuQG1peGluIGFuaW1hdGlvbi1uYW1lICgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XG4vLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgKCR2YWx1ZXMuLi4pIHtcbi8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbiAoJGRpcmVjdGlvbnMuLi4pIHtcbi8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUgKCRzdGF0ZXMuLi4pIHtcbi8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlICgkbW9kZXMuLi4pIHtcbi8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UgKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tmYWNlLXZpc2liaWxpdHkgbWl4aW5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vIEJvcmRlciBSYWRpdXMgKFNob3J0aGFuZClcbi8vIFByb3ZpZGVzIGEgc2hvcnRoYW5kIHN5bnRheCB0byB0YXJnZXQgYW5kIGFkZCBib3JkZXIgcmFkaWkgdG8gYm90aCBjb3JuZXJzIG9uIG9uZSBzaWRlIG9mIGEgYm94XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQG1peGluIGJveC1zaXppbmcgKCRib3gpIHtcbi8vICBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggfCBpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06ICAgICAgICAgY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4vLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbi8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4vLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbi8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG5cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwLjApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IFwibm9ybWFsXCI7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuXG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLCJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCIvLyBGb250IGZlYXR1cmUgc2V0dGluZ3MgbWl4aW4gYW5kIHByb3BlcnR5IGRlZmF1bHQuXG4vLyBFeGFtcGxlczogQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwibGlnYVwiKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJsbnVtXCIgZmFsc2UpO1xuLy8gICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcInBudW1cIiAxLCBcImtlcm5cIiAwKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJzczAxXCIsIFwic3MwMlwiKTtcblxuQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59IiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJEcxLCAkRzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogbnVsbCwgJEc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzU6IG51bGwsICRHNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBudWxsLCAkRzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogbnVsbCwgJEcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkRzEwOiAkRzk7ICRHOTogJEc4OyAkRzg6ICRHNzsgJEc3OiAkRzY7ICRHNjogJEc1O1xuICAgICAkRzU6ICRHNDsgJEc0OiAkRzM7ICRHMzogJEcyOyAkRzI6ICRHMTsgJEcxOiAkcG9zO1xuICAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTZXQgJEcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRHMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gc2VsZWN0aW9uIHtcclxuICAkYmVmb3JlLWNvbG9uczogXCJcIjtcclxuXHJcbiAgQGlmICYge1xyXG4gICAgJGJlZm9yZS1jb2xvbnM6IFwiJlwiXHJcbiAgfVxyXG5cclxuICAjeyRiZWZvcmUtY29sb25zfTo6c2VsZWN0aW9uIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAjeyRiZWZvcmUtY29sb25zfTo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59IiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuLy8gIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4vLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSAoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICAgICRtb3o6IGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgICAkc3BlYzogYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGxpc3RzIGZvciBub24tcHJlZml4ZWQgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogIGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnd2Via2l0Jyk7XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICdtb3onKTtcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiLy8gVGhlIGNsZWFyZml4IG1peGluIHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNvbnRhaW4gZmxvYXRzXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vIC53cmFwcGVyIHtcbi8vICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLyB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHM6XG4vLyBUaGllcnJ5IEtvYmxlbnR6LCBjc3Ntb2pvXG4vLyBodHRwOi8vZ29vLmdsL0FRV3Z5SFxuIiwiLy8gZGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzXG4vLyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy9cbi8vIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLyAtLS0tLS1cbi8vIG1hcmdpbi1yaWdodDogMDtcbi8vIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLyBtYXJnaW4tbGVmdDogMDtcbi8vXG4vLyAtIG9yIC1cbi8vXG4vLyBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8gLS0tLS0tXG4vLyBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLyBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vL1xuLy8gLS0tLS0tXG4vL1xuLy8gTm90ZTogWW91IGNhbiBhbHNvIHVzZSBmYWxzZSBpbnN0ZWFkIG9mIG51bGxcblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRBOiBudGgoICR2YWxzLCAxICk7XG4gICRCOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIDIpKTtcbiAgJEM6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMywgJEEsIG50aCgkdmFscywgMykpO1xuICAkRDogaWYoIGxlbmd0aCgkdmFscykgPCAyLCAkQSwgbnRoKCR2YWxzLCBpZiggbGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpICkpO1xuXG4gIEBpZiAkQSA9PSAwIHsgJEE6IDAgfVxuICBAaWYgJEIgPT0gMCB7ICRCOiAwIH1cbiAgQGlmICRDID09IDAgeyAkQzogMCB9XG4gIEBpZiAkRCA9PSAwIHsgJEQ6IDAgfVxuXG4gIEBpZiAkQSA9PSAkQiBhbmQgJEEgPT0gJEMgYW5kICRBID09ICREIHsgJG91dHB1dDogJEEgICAgICAgICAgfVxuICBAZWxzZSBpZiAkQSA9PSAkQyBhbmQgJEIgPT0gJEQgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICAgICAgIH1cbiAgQGVsc2UgaWYgJEIgPT0gJEQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgJEMgJEQgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgbm90ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIC8vIHByb3A6IHRvcC9ib3R0b20gcmlnaHQvbGVmdFxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodC9sZWZ0IGJvdHRvbVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG5cbiAgICAvLyBwcm9wOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cblxuICAvLyBwcm9wOiB0b3AvcmlnaHQvYm90dG9tL2xlZnRcbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cblxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG59XG4iLCJAbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogMWVtKSB7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBHZW5lcmF0ZSBhIHZhcmlhYmxlICgkYWxsLXRleHQtaW5wdXRzKSB3aXRoIGEgbGlzdCBvZiBhbGwgaHRtbDVcbi8vIGlucHV0IHR5cGVzIHRoYXQgaGF2ZSBhIHRleHQtYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyB0ZXh0YXJlYS5cbi8vIGh0dHA6Ly9kaXZlaW50b2h0bWw1Lm9yZy9mb3Jtcy5odG1sXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuXG4gICAgICAgICAgICAgIC8vIFdlYmtpdCAmIEdlY2tvIG1heSBjaGFuZ2UgdGhlIGRpc3BsYXkgb2YgdGhlc2UgaW4gdGhlIGZ1dHVyZVxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgYWN0aXZlKTtcblxuXG4vLyBZb3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCIvLyBTZXQgZWxlbWVudCBwb3NpdGlvbmluZyBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuXG4gIH1cbn1cbiIsIi8vIFNldCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCIvLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW8nZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG5cbi8vIEVBU0UgSU5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4vLyBFQVNFIE9VVFxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbi8vIEVBU0UgSU4gT1VUXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcblxuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcblxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG4iLCJAbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cbiIsIi8vIEZ1bmN0aW9uc1xuQGltcG9ydCBcImZ1bmN0aW9ucy9wcml2YXRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL25ldy1icmVha3BvaW50XCI7XG5cbi8vIFNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MvZ3JpZFwiO1xuQGltcG9ydCBcInNldHRpbmdzL3Zpc3VhbC1ncmlkXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvZGlzYWJsZS13YXJuaW5nc1wiO1xuIiwiLy8gTm90IGZ1bmN0aW9uIGZvciBMaWJzYXNzIGNvbXBhdGliaWxpdHlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL2xpYnNhc3MvaXNzdWVzLzM2OFxuQGZ1bmN0aW9uIGlzLW5vdCgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUsIGZhbHNlLCB0cnVlKTtcbn1cblxuLy8gQ2hlY2tzIGlmIGEgbnVtYmVyIGlzIGV2ZW5cbkBmdW5jdGlvbiBpcy1ldmVuKCRpbnQpIHtcbiAgQHJldHVybiAkaW50ICUgMiA9PSAwO1xufVxuXG4vLyBDaGVja3MgaWYgYW4gZWxlbWVudCBiZWxvbmdzIHRvIGEgbGlzdCBvciBub3RcbkBmdW5jdGlvbiBiZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3Qobm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkpO1xufVxuXG5AZnVuY3Rpb24gbm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChpbmRleCgkbGlzdCwgJHRlc3RlZC1pdGVtKSk7XG59XG5cbi8vIENvbnRhaW5zIGRpc3BsYXkgdmFsdWVcbkBmdW5jdGlvbiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkge1xuICBAcmV0dXJuIGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUtYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZSwgJHF1ZXJ5KTtcbn1cblxuLy8gUGFyc2VzIHRoZSBmaXJzdCBhcmd1bWVudCBvZiBzcGFuLWNvbHVtbnMoKVxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zcGFuKCRzcGFuOiAkc3Bhbikge1xuICBAaWYgbGVuZ3RoKCRzcGFuKSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzcGFuKSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRncmlkLWNvbHVtbnM7XG59XG5cbkBmdW5jdGlvbiBjb250YWluZXItc2hpZnQoJHNoaWZ0OiAkc2hpZnQpIHtcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0ICFnbG9iYWw7XG5cbiAgQGlmIGxlbmd0aCgkc2hpZnQpID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG4vLyBHZW5lcmF0ZXMgYSBzdHJpcGVkIGJhY2tncm91bmRcbkBmdW5jdGlvbiBncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zLCAkY29sb3I6ICR2aXN1YWwtZ3JpZC1jb2xvcikge1xuICAkdHJhbnNwYXJlbnQ6IHRyYW5zcGFyZW50O1xuXG4gICRjb2x1bW4td2lkdGg6IGZsZXgtZ3JpZCgxLCAkZ3JpZC1jb2x1bW5zKTtcbiAgJGd1dHRlci13aWR0aDogZmxleC1ndXR0ZXIoJGdyaWQtY29sdW1ucyk7XG4gICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLXdpZHRoO1xuXG4gICR2YWx1ZXM6ICgkdHJhbnNwYXJlbnQgMCwgJGNvbG9yIDApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRvICRncmlkLWNvbHVtbnMqMiB7XG4gICAgQGlmIGlzLWV2ZW4oJGkpIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRjb2x1bW4td2lkdGg7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkZ3V0dGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlcztcbn1cblxuLy8gTGF5b3V0IGRpcmVjdGlvblxuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oJGxheW91dCwgJGRlZmF1bHQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIG9yIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJSVExcIiB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGRlZmF1bHQpO1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIHtcbiAgICAkZGlyZWN0aW9uOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogbGVmdDtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbiAgfVxuXG4gIEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJldHVybnMgYSBtZWRpYSBjb250ZXh0IChtZWRpYSBxdWVyeSAvIGdyaWQgY29udGV4dCkgdGhhdCBjYW4gYmUgc3RvcmVkIGluIGEgdmFyaWFibGUgYW5kIHBhc3NlZCB0byBgbWVkaWEoKWAgYXMgYSBzaW5nbGUta2V5d29yZCBhcmd1bWVudC4gTWVkaWEgY29udGV4dHMgZGVmaW5lZCB1c2luZyBgbmV3LWJyZWFrcG9pbnRgIGFyZSB1c2VkIGJ5IHRoZSB2aXN1YWwgZ3JpZCwgYXMgbG9uZyBhcyB0aGV5IGFyZSBkZWZpbmVkIGJlZm9yZSBpbXBvcnRpbmcgTmVhdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcy4gRWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyAoJGdyaWQtY29sdW1ucylcbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRtb2JpbGU6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA0ODBweCA0KTtcbi8vL1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4vLy8gICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgICAuZWxlbWVudCB7XG4vLy8gICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA3LjQyMjk3JTtcbi8vLyAgICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgfVxuLy8vICAgICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgIH1cbi8vLyAgIH1cblxuQGZ1bmN0aW9uIG5ldy1icmVha3BvaW50KCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgJHF1ZXJ5OiAkZGVmYXVsdC1mZWF0dXJlIG50aCgkcXVlcnksIDEpICR0b3RhbC1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpIHtcbiAgICAkcXVlcnk6IGFwcGVuZCgkcXVlcnksICR0b3RhbC1jb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiBpcy1ub3QoYmVsb25ncy10bygkcXVlcnksICR2aXN1YWwtZ3JpZC1icmVha3BvaW50cykpIHtcbiAgICAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6IGFwcGVuZCgkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMsICRxdWVyeSwgY29tbWEpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgY29sdW1uLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRndXR0ZXJgLiBUbyBsZWFybiBtb3JlIGFib3V0IGdvbGRlbi1yYXRpbygpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNnb2xkZW4tcmF0aW8pLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuXG4kY29sdW1uOiBnb2xkZW4tcmF0aW8oMWVtLCAzKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgZ3V0dGVyLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRjb2x1bW5gLiBUbyBsZWFybiBtb3JlIGFib3V0IGdvbGRlbi1yYXRpbygpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNnb2xkZW4tcmF0aW8pLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG5cbiRndXR0ZXI6IGdvbGRlbi1yYXRpbygxZW0sIDEpICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuIEl0cyB2YWx1ZSBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgYSBtZWRpYSBxdWVyeSB1c2luZyB0aGUgYG1lZGlhKClgIG1peGluLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXRsZXNzKVxuXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIG1heC13aWR0aCBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0aGF0IGluY2x1ZGVzIGBvdXRlci1jb250YWluZXIoKWAuIFRvIGxlYXJuIG1vcmUgYWJvdXQgYGVtKClgIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNweC10by1lbSkuIFNldCB3aXRoIHRoZSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcbi8vL1xuJG1heC13aWR0aDogZW0oMTA4OCkgIWRlZmF1bHQ7XG5cbi8vLyBXaGVuIHNldCB0byB0cnVlLCBpdCBzZXRzIHRoZSBib3gtc2l6aW5nIHByb3BlcnR5IG9mIGFsbCBlbGVtZW50cyB0byBgYm9yZGVyLWJveGAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBodG1sIHtcbi8vLyAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbi8vL1xuLy8vICAgKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuLy8vICAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4vLy8gICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbi8vLyAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbi8vLyAgIH1cblxuJGJvcmRlci1ib3gtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgZGVmYXVsdCBbbWVkaWEgZmVhdHVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhKSB0aGF0IGBtZWRpYSgpYCBhbmQgYG5ldy1icmVha3BvaW50KClgIHJldmVydCB0byB3aGVuIG9ubHkgYSBicmVha3BvaW50IHZhbHVlIGlzIHBhc3NlZC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuXG4kZGVmYXVsdC1mZWF0dXJlOiBtaW4td2lkdGg7IC8vIERlZmF1bHQgQG1lZGlhIGZlYXR1cmUgZm9yIHRoZSBicmVha3BvaW50KCkgbWl4aW5cblxuLy8vU2V0cyB0aGUgZGVmYXVsdCBsYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBncmlkLiBDYW4gYmUgYExUUmAgb3IgYFJUTGAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vL0B0eXBlIFN0cmluZ1xuXG4kZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXNwbGF5cyB0aGUgdmlzdWFsIGdyaWQgd2hlbiBzZXQgdG8gdHJ1ZS4gVGhlIG92ZXJsYWlkIGdyaWQgbWF5IGJlIGZldyBwaXhlbHMgb2ZmIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcidzIHJlbmRlcmluZyBlbmdpbmUgYW5kIHBpeGVsIHJvdW5kaW5nIGFsZ29yaXRobS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kdmlzdWFsLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIGdyaWQgY29sb3IuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3JcblxuJHZpc3VhbC1ncmlkLWNvbG9yOiAjZWVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgYHotaW5kZXhgIHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gQ2FuIGJlIGBiYWNrYCAoYmVoaW5kIGNvbnRlbnQpIG9yIGBmcm9udGAgKGluIGZyb250IG9mIGNvbnRlbnQpLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuXG4kdmlzdWFsLWdyaWQtaW5kZXg6IGJhY2sgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBvcGFjaXR5IHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXRsZXNzKVxuXG4kdmlzdWFsLWdyaWQtb3BhY2l0eTogMC40ICFkZWZhdWx0O1xuXG4kdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlzYWJsZSBhbGwgZGVwcmVjYXRpb24gd2FybmluZ3MuIERlZmF1bHRzIHRvIGBmYWxzZWAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRkaXNhYmxlLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC1uZWF0LXdhcm4oJG1lc3NhZ2UpIHtcbiAgQGlmICRkaXNhYmxlLXdhcm5pbmdzID09IGZhbHNlIHtcbiAgICBAd2FybiBcIiN7JG1lc3NhZ2V9XCI7XG4gIH1cbn1cbiIsIi8vIEJvdXJib24gZ3JpZCBkaXNwbGF5LiBDb21tZW50IG91dCB0byByZW1vdmUgZGlzcGxheS5cbiR2aXN1YWwtZ3JpZDogZmFsc2U7XG4kdmlzdWFsLWdyaWQtY29sb3I6ICMzZjlkYTg7XG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3UnZCBsaWtlIHRvIHJlbW92ZSB0aGUgcmVzcG9uc2l2ZW5lc3MuXG4kcmVzcG9uc2l2ZTogdHJ1ZTtcblxuLy8gU2V0dXAgdGhlIGNvbHVtbiwgZ3JpZCwgYW5kIGd1dHRlciBhbW91bnRzLlxuJGNvbHVtbjogNjBweDtcbiRndXR0ZXI6IDIwcHg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcblxuLy8gV2Ugc2V0IHRoZSBtYXggd2lkdGggb2YgdGhlIHBhZ2UgdXNpbmcgdGhlIHB4IHRvIGVtIGZ1bmN0aW9uIGluIEJvdXJib24uXG4vLyB0aGUgZmlyc3QgdmFsdWUgaXMgdGhlIHBpeGVsIHZhbHVlIG9mIHRoZSB3aWR0aCBhbmQgdGhlIHNlY29uZCBpcyB0aGUgYmFzZSBmb250IHNpemUgb2YgeW91ciB0aGVtZS5cbi8vIEluIHRoaXMgaW5zdGFuY2Ugd2Ugd2FudCB0aGUgbWF4IHdpZHRoIHRvIGJlIDEwODhweCBhbmQgb24gTGluZSA2IG9mIHN0eWxlLnNjc3Mgd2UgaGF2ZSByZXNldCB0aGUgYmFzZVxuLy8gZm9udCBzaXplIHRvIDEzcHggc28gdGhlIGZpcnN0IHZhbHVlIHdvdWxkIGJlIDEwODggYW5kIHRoZSBzZWNvbmQgMTNcbi8vIGV4LiBlbSgxMDg4LCAxMylcbiRtYXgtd2lkdGgtcHg6IDEyMDA7XG4kbWF4LXdpZHRoOiA5NjBweDtcbiRtYXgtd2lkdGgtZmx1aWQ6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAkbWF4LXdpZHRoLXB4ICsgcHggJGdyaWQtY29sdW1ucyk7XG5cbi8vIERlZmluZSB5b3VyIGJyZWFrcG9pbnRzLlxuJGxhcmdlX2Rlc2t0b3A6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAxNDQwcHggMTIpO1xuJG92ZXJkZXNrdG9wOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggMTIwMXB4IDEyKTtcbiRkZXNrdG9wOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTIwMHB4IDEyKTtcbiR0YWJsZXQ6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA3NjhweCAxMik7XG4kb3ZlcnRhYmxldDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoIDc2OXB4IDEyKTtcbiRtb2JpbGU6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA2ODBweCAxMik7XG4kb3Zlcm1vYmlsZTogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoIDY4MXB4IDEyKTsiLCIvLyBOZWF0IDEuNy4xXG4vLyBodHRwOi8vbmVhdC5ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMi0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgXCJuZWF0LWhlbHBlcnNcIjtcblxuLy8gR3JpZFxuQGltcG9ydCBcImdyaWQvcHJpdmF0ZVwiO1xuQGltcG9ydCBcImdyaWQvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImdyaWQvb21lZ2FcIjtcbkBpbXBvcnQgXCJncmlkL291dGVyLWNvbnRhaW5lclwiO1xuQGltcG9ydCBcImdyaWQvc3Bhbi1jb2x1bW5zXCI7XG5AaW1wb3J0IFwiZ3JpZC9yb3dcIjtcbkBpbXBvcnQgXCJncmlkL3NoaWZ0XCI7XG5AaW1wb3J0IFwiZ3JpZC9wYWRcIjtcbkBpbXBvcnQgXCJncmlkL2ZpbGwtcGFyZW50XCI7XG5AaW1wb3J0IFwiZ3JpZC9tZWRpYVwiO1xuQGltcG9ydCBcImdyaWQvdG8tZGVwcmVjYXRlXCI7XG5AaW1wb3J0IFwiZ3JpZC92aXN1YWwtZ3JpZFwiO1xuQGltcG9ydCBcImdyaWQvZGlzcGxheS1jb250ZXh0XCI7XG5AaW1wb3J0IFwiZ3JpZC9kaXJlY3Rpb24tY29udGV4dFwiO1xuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5IChibG9jaylcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxuLy8vXG4vLy8gICBXaGVuIHBhc3NlZCBhbiBgbnRoLWNoaWxkYCBhcmd1bWVudCBvZiB0eXBlIGAqbmAgd2l0aCBgYmxvY2tgIGRpc3BsYXksIHRoZSBvbWVnYSBtaXhpbiBhdXRvbWF0aWNhbGx5IGFkZHMgYSBjbGVhciB0byB0aGUgYCpuKzFgIHRoIGVsZW1lbnQuIE5vdGUgdGhhdCBjb21wb3NpdGUgYXJndW1lbnRzIHN1Y2ggYXMgYDJuKzFgIGRvIG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cbi8vL1xuLy8vICAgKipEZXByZWNhdGlvbiB3YXJuaW5nKio6IFRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgYCRkaXJlY3Rpb25gIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSBgcm93KCRkaXJlY3Rpb24pYCBvciBzZXQgYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2E7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKSB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XG4vLy8gICAgIGNsZWFyOiBsZWZ0O1xuLy8vICAgfVxuXG5AbWl4aW4gb21lZ2EoJHF1ZXJ5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICAkdGFibGU6IGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSk7XG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgfVxuXG4gIEBpZiAkdGFibGUge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIGFuZCAkdGFibGUgPT0gZmFsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZChudGgoJHF1ZXJ5LCAxKSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVG9vIG1hbnkgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgb21lZ2EoKSBtaXhpbi5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudHJpbmcgaXQgaW4gdGhlIHZpZXdwb3J0LCBjbGVhcmluZyBpdHMgZmxvYXRzLCBhbmQgc2V0dGluZyBpdHMgYG1heC13aWR0aGAuXG4vLy8gQWx0aG91Z2ggb3B0aW9uYWwsIHVzaW5nIGBvdXRlci1jb250YWluZXJgIGlzIHJlY29tbWVuZGVkLiBUaGUgbWl4aW4gY2FuIGJlIGNhbGxlZCBvbiBtb3JlIHRoYW4gb25lIGVsZW1lbnQgcGVyIHBhZ2UsIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IG5lc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0KX0gJGxvY2FsLW1heC13aWR0aCAoJG1heC13aWR0aClcbi8vLyAgIE1heCB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiBDYW4gYmUgYSBwZXJjZW50YWdlIG9yIGEgbWVhc3VyZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICp6b29tOiAxO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjb250ZW50OiBcIiBcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICB9XG5cbkBtaXhpbiBvdXRlci1jb250YWluZXIoJGxvY2FsLW1heC13aWR0aDogJG1heC13aWR0aCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWF4LXdpZHRoOiAkbG9jYWwtbWF4LXdpZHRoO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4uIElmIHRoZSBzZWxlY3RvciBpcyBuZXN0ZWQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGl0cyBwYXJlbnQgZWxlbWVudCBzaG91bGQgYmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IGFzIHdlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXG4vLy8gICBBIGxpc3QgY29udGFpbmluZyBgJGNvbHVtbnNgLCB0aGUgdW5pdGxlc3MgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMgKHJlcXVpcmVkKSwgYW5kIGAkY29udGFpbmVyLWNvbHVtbnNgLCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIHBhcmVudCBlbGVtZW50IHNwYW5zIChvcHRpb25hbCkuXG4vLy9cbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGUgdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgKGJsb2NrKVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnQgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGVzaWduYXRlcyB0aGUgZWxlbWVudCBhcyBhIHJvdyBvZiBjb2x1bW5zIGluIHRoZSBncmlkIGxheW91dC4gSXQgY2xlYXJzIHRoZSBmbG9hdHMgb24gdGhlIGVsZW1lbnQgYW5kIHNldHMgaXRzIGRpc3BsYXkgcHJvcGVydHkuIFJvd3MgY2FuJ3QgYmUgbmVzdGVkLCBidXQgdGhlcmUgY2FuIGJlIG1vcmUgdGhhbiBvbmUgcm93IGVsZW1lbnTigJR3aXRoIGRpZmZlcmVudCBkaXNwbGF5IHByb3BlcnRpZXPigJRwZXIgbGF5b3V0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IChkZWZhdWx0KVxuLy8vICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgZGlzcGxheSBjb250ZXh0IHRoYXQgd2lsbCBiZSB1c2VkIGJ5IGl0cyBjaGlsZHJlbi4gQ2FuIGJlIGBibG9ja2Agb3IgYHRhYmxlYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uICgkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKVxuLy8vICBTZXRzIHRoZSBsYXlvdXQgZGlyZWN0aW9uLiBDYW4gYmUgYExUUmAgKGxlZnQtdG8tcmlnaHQpIG9yIGBSVExgIChyaWdodC10by1sZWZ0KS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgcm93KCk7XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgICp6b29tOiAxO1xuLy8vICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICB9XG4vLy9cbi8vLyAuZWxlbWVudDpiZWZvcmUsIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgZGlzcGxheTogdGFibGU7XG4vLy8gfVxuLy8vXG4vLy8gLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgY2xlYXI6IGJvdGg7XG4vLy8gfVxuXG5AbWl4aW4gcm93KCRkaXNwbGF5OiBkZWZhdWx0LCAkZGlyZWN0aW9uOiAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKSB7XG4gIEBpZiAkZGlyZWN0aW9uICE9ICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24ge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJGRpcmVjdGlvbiBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfVxuXG4gICRsYXlvdXQtZGlyZWN0aW9uOiAkZGlyZWN0aW9uICFnbG9iYWw7XG5cbiAgQGlmICRkaXNwbGF5ICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJGRpc3BsYXkgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlzcGxheSgpey4uLn0gbWl4aW4uXCIpO1xuICB9XG5cbiAgQGlmICRkaXNwbGF5ID09IHRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogdHJ1ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFnbG9iYWw7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyAoMSlcbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBZGRzIHBhZGRpbmcgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwYWRkaW5nIChmbGV4LWd1dHRlcigpKVxuLy8vICAgQSBsaXN0IG9mIHBhZGRpbmcgdmFsdWUocykgdG8gdXNlLiBQYXNzaW5nIGBkZWZhdWx0YCBpbiB0aGUgbGlzdCB3aWxsIHJlc3VsdCBpbiB1c2luZyB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGFkZGluZyB2YWx1ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWQoMzBweCAtMjBweCAxMHB4IGRlZmF1bHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nOiAzMHB4IC0yMHB4IDEwcHggMi4zNTc2NSU7XG4vLy8gICB9XG5cbkBtaXhpbiBwYWQoJHBhZGRpbmc6IGZsZXgtZ3V0dGVyKCkpIHtcbiAgJHBhZGRpbmctbGlzdDogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRwYWRkaW5nIHtcbiAgICAkdmFsdWU6IGlmKCR2YWx1ZSA9PSAnZGVmYXVsdCcsIGZsZXgtZ3V0dGVyKCksICR2YWx1ZSk7XG4gICAgJHBhZGRpbmctbGlzdDogam9pbigkcGFkZGluZy1saXN0LCAkdmFsdWUpO1xuICB9XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBGb3JjZXMgdGhlIGVsZW1lbnQgdG8gZmlsbCBpdHMgcGFyZW50IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vLyAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgfVxuXG5AbWl4aW4gZmlsbC1wYXJlbnQoKSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gZmFsc2Uge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgYSBtZWRpYS1xdWVyeSBibG9jayB3aXRoIGFuIG9wdGlvbmFsIGdyaWQgY29udGV4dCAodGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQpLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLCB3aGVyZSBlYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zICgkZ3JpZC1jb2x1bW5zKVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xuLy8vICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJGxvb3AtdG86IGxlbmd0aCgkcXVlcnkpO1xuICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xuICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuXG4gICAgQGlmIGlzLW5vdChpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSkge1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgJGxvb3AtdG8pICFnbG9iYWw7XG4gICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xuICAgIH1cblxuICAgICRpOiAxO1xuICAgIEB3aGlsZSAkaSA8PSAkbG9vcC10byB7XG4gICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiKFwiICsgbnRoKCRxdWVyeSwgJGkpICsgXCI6IFwiICsgbnRoKCRxdWVyeSwgJGkgKyAxKSArIFwiKSBcIjtcblxuICAgICAgQGlmICgkaSArIDEpICE9ICRsb29wLXRvIHtcbiAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcImFuZCBcIjtcbiAgICAgIH1cblxuICAgICAgJGk6ICRpICsgMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeTokZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgYnJlYWtwb2ludCgpIG1peGluIHdhcyByZW5hbWVkIHRvIG1lZGlhKCkgaW4gTmVhdCAxLjAuIFBsZWFzZSB1cGRhdGUgeW91ciBwcm9qZWN0IHdpdGggdGhlIG5ldyBzeW50YXggYmVmb3JlIHRoZSBuZXh0IHZlcnNpb24gYnVtcC5cIik7XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgMyk7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gNCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCA1KTtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGJyZWFrcG9pbnQoKS4gUmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLW9tZWdhKCRudGgsICRkaXNwbGF5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG50aC1vbWVnYSgpIG1peGluIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2Ugb21lZ2EoKSBpbnN0ZWFkLlwiKTtcbiAgQGluY2x1ZGUgb21lZ2EoJG50aCAkZGlzcGxheSwgJGRpcmVjdGlvbik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBkaXNwbGF5IHByb3BlcnR5IHRvIGBibG9ja2AuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KHRhYmxlKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHRhYmxlIGRpc3BsYXlcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVzZXQtZGlzcGxheTtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gYmxvY2sgZGlzcGxheVxuXG5AbWl4aW4gcmVzZXQtZGlzcGxheSB7XG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWdsb2JhbDtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlJlc2V0dGluZyAkZGlzcGxheSB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXNwbGF5KCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBsYXlvdXQgZGlyZWN0aW9uIHRvIHRoZSBkZWZhdWx0IHZhbHVlIHNldCBpbiBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgbGF5b3V0IGRpcmVjdGlvbiBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KCRkaXJlY3Rpb246IFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byByaWdodC10by1sZWZ0XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWxheW91dC1kaXJlY3Rpb24ge1xuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbiAhZ2xvYmFsO1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiUmVzZXR0aW5nICRkaXJlY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgYm90aCB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24gYW5kIHRoZSBhY3RpdmUgZGlzcGxheSBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3codGFibGUsIFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byB0YWJsZSB0YWJsZSBhbmQgcmlnaHQtdG8tbGVmdFxuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSByZXNldC1hbGw7XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGJsb2NrIGRpc3BsYXkgYW5kIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWFsbCB7XG4gIEBpbmNsdWRlIHJlc2V0LWRpc3BsYXk7XG4gIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBncmlkLWNvbHVtbi1ncmFkaWVudCgkdmFsdWVzLi4uKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICN7JHZhbHVlc30pXCIpO1xufVxuXG5AaWYgJHZpc3VhbC1ncmlkID09IHRydWUgb3IgJHZpc3VhbC1ncmlkID09IHllcyB7XG4gIGJvZHk6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIG9wYWNpdHk6ICR2aXN1YWwtZ3JpZC1vcGFjaXR5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gYmFjayB7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gZnJvbnQge1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgQGlmICRicmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdXNlZCBieSBvdGhlciBtaXhpbnMgY2FsbGVkIGluIHRoZSBjb2RlIGJsb2NrIGFyZ3VtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IChibG9jaylcbi8vLyAgIERpc3BsYXkgdmFsdWUgdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYHRhYmxlYCBvciBgYmxvY2tgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQGluY2x1ZGUgZGlzcGxheS1jb250ZXh0KHRhYmxlKSB7XG4vLy8gICAgLmRpc3BsYXktdGFibGUge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5kaXNwbGF5LXRhYmxlIHtcbi8vLyAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpc3BsYXktY29udGV4dCgkZGlzcGxheTogYmxvY2spIHtcbiAgJHNjb3BlLWRpc3BsYXk6ICRjb250YWluZXItZGlzcGxheS10YWJsZTtcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiAkZGlzcGxheSA9PSB0YWJsZSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogJHNjb3BlLWRpc3BsYXkgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpcmVjdGlvbiBwcm9wZXJ0eSB1c2VkIGJ5IG90aGVyIG1peGlucyBjYWxsZWQgaW4gdGhlIGNvZGUgYmxvY2sgYXJndW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiAobGVmdC10by1yaWdodClcbi8vLyAgIExheW91dCBkaXJlY3Rpb24gdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYGxlZnQtdG8tcmlnaHRgIG9yIGByaWdodC10by1sZWZ0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgZGlyZWN0aW9uLWNvbnRleHQocmlnaHQtdG8tbGVmdCkge1xuLy8vICAgIC5yaWdodC10by1sZWZ0LWJsb2NrIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLnJpZ2h0LXRvLWxlZnQtYmxvY2sge1xuLy8vICAgICBmbG9hdDogcmlnaHQ7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpcmVjdGlvbi1jb250ZXh0KCRkaXJlY3Rpb246IGxlZnQtdG8tcmlnaHQpIHtcbiAgJHNjb3BlLWRpcmVjdGlvbjogJGxheW91dC1kaXJlY3Rpb247XG5cbiAgQGlmIHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbikgPT0gXCJsZWZ0LXRvLXJpZ2h0XCIge1xuICAgICRsYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWdsb2JhbDtcbiAgfSBAZWxzZSBpZiB0by1sb3dlci1jYXNlKCRkaXJlY3Rpb24pID09IFwicmlnaHQtdG8tbGVmdFwiIHtcbiAgICAkbGF5b3V0LWRpcmVjdGlvbjogUlRMICFnbG9iYWw7XG4gIH1cblxuICBAY29udGVudDtcblxuICAkbGF5b3V0LWRpcmVjdGlvbjogJHNjb3BlLWRpcmVjdGlvbiAhZ2xvYmFsO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn0iLCIuc2VsZWN0Mi1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA1MTsgfVxuXG4uc2VsZWN0Mi1yZXN1bHRzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBwYWRkaW5nOiA2cHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGxlZnQ6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweDsgfVxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duLnNlbGVjdDItc2VhcmNoLS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWxlY3QyLWNsb3NlLW1hc2sge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH1cblxuLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcbiAgICB3aWR0aDogMjBweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgbGVmdDogMXB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAgNHB4IDVweCA0cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHRleHQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXI6IHNvbGlkIGJsYWNrIDFweDtcbiAgb3V0bGluZTogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bcm9sZT1ncm91cF0ge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzZW07IH1cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNGVtOyB9XG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC00ZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1ZW07IH1cbiAgICAgICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNWVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2ZW07IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5N2ZiO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSA1MCUsICNlZWVlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHdoaXRlIDUwJSwgI2VlZWVlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgNTAlLCAjZWVlZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZFRUVFRUUnLCBHcmFkaWVudFR5cGU9MCk7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCAjY2NjY2NjIDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCAjY2NjY2NjIDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWVlZWUgNTAlLCAjY2NjY2NjIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZFRUVFRUUnLCBlbmRDb2xvcnN0cj0nI0ZGQ0NDQ0NDJywgR3JhZGllbnRUeXBlPTApOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBsZWZ0OiAxcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2VlZWVlZSA1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2VlZWVlZSA1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgI2VlZWVlZSA1MCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZFRUVFRUUnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZWVlZSA1MCUsIHdoaXRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlZWVlIDUwJSwgd2hpdGUgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkZGRkZGRicsIEdyYWRpZW50VHlwZT0wKTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3V0bGluZTogMDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICM1NTU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBdIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBjb2xvcjogZ3JleTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA2cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTg5N2ZiOyB9XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4uZmFuY3lib3gtZW5hYmxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWVuYWJsZWQgYm9keSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZhbmN5Ym94LWlzLWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICBsZWZ0OiAtOTk5OXB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuXG4vKiBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3Qgb25lIGlzIG9uIHRoZSB0b3AgKi9cbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcbiAgei1pbmRleDogOTk5OTI7IH1cblxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWJnLFxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICMxZTFlMWU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NCwgMC43MSk7IH1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDk5OTk3O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1cztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwczsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTc5cHg7IH1cblxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA3MHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZGRkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLCAzMCwgMzAsIDAuNyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XG5cbi5mYW5jeWJveC10b29sYmFyIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4uZmFuY3lib3gtc3RhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgei1pbmRleDogOTk5OTQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBkaXNwbGF5OiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwOyB9XG5cbi5mYW5jeWJveC1pcy1zbGlkaW5nIC5mYW5jeWJveC1zbGlkZSxcbi5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXG4uZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyBpZnJhbWUge1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgaWZyYW1lIHtcbiAgYmFja2dyb3VuZDogI0U1RTNERjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICB6LWluZGV4OiA5OTk5NTsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2xpZGUgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHotaW5kZXg6IDk5OTk1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNhbi16b29tT3V0IC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4uZmFuY3lib3gtY2FuLWRyYWcgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mYW5jeWJveC1pcy1kcmFnZ2luZyAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzgwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQ6IDE2cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyIHtcbiAgY29udGVudDogJ8OXJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZm9udDogMjBweC8zMHB4IEFyaWFsLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjI1cztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXM6YWZ0ZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgdG9wOiAwO1xuICByaWdodDogLTQ0cHg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgY29sb3I6ICNhYWE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgODAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgMTAwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEsXG4uZmFuY3lib3gtY2FwdGlvbiBidXR0b24sXG4uZmFuY3lib3gtY2FwdGlvbiBzZWxlY3Qge1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQnV0dG9ucyAqL1xuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5LCAuZmFuY3lib3gtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpOyB9XG5cbi5mYW5jeWJveC1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDAuOTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXTo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjM7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdDo6YWZ0ZXIsXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xuICB0b3A6IDE4cHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggY3VycmVudENvbG9yOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMjBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xuICByaWdodDogMjBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0IHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlLCAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTZweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qIE5hdmlnYXRpb24gYXJyb3dzICovXG4uZmFuY3lib3gtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW46IC01MHB4IDAgMCAwO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogNTRweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDk5OTk1O1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7IH1cblxuLmZhbmN5Ym94LWFycm93OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjhweDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjgpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCbWFXeHNQU0lqUmtaR1JrWkdJaUJvWldsbmFIUTlJalE0SWlCMmFXVjNRbTk0UFNJd0lEQWdNalFnTWpRaUlIZHBaSFJvUFNJME9DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNGdJQ0FnUEhCaGRHZ2daRDBpVFRBZ01HZ3lOSFl5TkVnd2VpSWdabWxzYkQwaWJtOXVaU0l2UGlBZ0lDQThjR0YwYUNCa1BTSk5NVElnTkd3dE1TNDBNU0F4TGpReFRERTJMakUzSURFeFNEUjJNbWd4TWk0eE4yd3ROUzQxT0NBMUxqVTVUREV5SURJd2JEZ3RPSG9pTHo0OEwzTjJaejQ9KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7IH1cblxuLmZhbmN5Ym94LWFycm93LS1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5mYW5jeWJveC1hcnJvdy0tbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cblxuLmZhbmN5Ym94LWFycm93LS1yaWdodDo6YWZ0ZXIsXG4uZmFuY3lib3gtYXJyb3ctLWxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMDsgfVxuXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LWFycm93IHtcbiAgb3BhY2l0eTogMC42OyB9XG5cbi5mYW5jeWJveC1zaG93LW5hdiAuZmFuY3lib3gtYXJyb3dbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4zOyB9XG5cbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXG4uZmFuY3lib3gtc2xpZGUgPiAuZmFuY3lib3gtbG9hZGluZyB7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICB6LWluZGV4OiA5OTk5OTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHNsaWRlICovXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBmYWRlICovXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cblxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHpvb20taW4tb3V0ICovXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHR1YmUgKi9cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygtMTBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygxMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWluZm9iYXIge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmFuY3lib3gtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qIEZ1bGxzY3JlZW4gICovXG4uZmFuY3lib3gtYnV0dG9uLS1mdWxsc2NyZWVuOjpiZWZvcmUge1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDdweCk7XG4gIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICBib3JkZXI6IDJweCBzb2xpZDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBTbGlkZXNob3cgYnV0dG9uICovXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZTo6YmVmb3JlIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDZweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNHB4KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAxcHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogMTFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAwIDJweDsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC10aHVtYnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXRodW1icyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAuZmFuY3lib3gtYnV0dG9uLS10aHVtYnM6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XG4gICAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XG4gIC5mYW5jeWJveC10aHVtYnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1cHggNXB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6IDk5OTk1OyB9XG4gIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgICByaWdodDogMjIwcHg7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuICAuZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIGxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkgPiBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XG4gICAgei1pbmRleDogOTk5OTE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuIiwiLyogLS0tLS0gUFVUIEFMTCBZT1VSIEFNQVpJTkcgVkFSSUFCTEVTIElOIEhFUkUgLS0tLS0gKi9cbi8vIEZvbnRcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczozMDAsNDAwLDUwMCw2MDAsNzAwJyk7XG5cbi8vIENvbG9yXG4kZGFyazogIzAwMDtcbiRkYXJrX2dyYXlpc2hfdmlvbGV0OiAjOTU4RTlDO1xuJGRhcmtfZ3JheWlzaF9yZWQ6ICMzQjM1MzU7XG4kZGFya192ZXJ5X2dyYXlpc2hfcmVkOiAjNTQ1MTUxO1xuJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yOiAjNjY2MjYyO1xuJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zOiAjNDc0NTQ1O1xuXG4kZ3JheV9kYXJrOiAjOTk5O1xuJGdyYXlfdmVyeV9kYXJrOiAjNEY0RjRGO1xuJGdyYXlfdmVyeV9kYXJrOiAjNEY0RjRGO1xuJGdyYXlfdmVyeV9saWdodDogI0VBRUFFQTtcbiRncmF5X2dyYXlpc2hfdmlvbGV0OiAjRUFFOUVDO1xuJGdyYXlfZ3JheWlzaF9ibHVlOiAjRjNGM0Y0O1xuJGdyYXlfZ3JheWlzaF9ibHVlXzI6ICNCQkJEQkY7XG4kZ3JheV9ncmF5aXNoX2JsdWVfMzogIzc2OTZCMztcbiRncmF5X2xpZ2h0OiAjQzlDOUM5O1xuJGdyYXlfbGlnaHRfMTogI0VGRUZFRjtcbiRnYXJ5X2xpZ2h0X29yYW5nZTogI0ZCRjlGODtcbiRnYXJ5X2xpZ2h0X29yYW5nZV8yOiAjRkFGOEY3O1xuJGdyYXlfbGlnaHRfb3JhbmdlXzM6ICNERURDRDk7XG5cbiR3aGl0ZTogI0ZGRjtcbiR3aGl0ZV8yOiAjREREO1xuJHdoaXRlX2dyYXk6ICNGQ0ZDRkM7XG5cbiRvcmFuZ2VfYnJpZ2h0OiAjRjI3NDNBO1xuJG9yYW5nZV9icmlnaHRfMjogI0ZDNjgyRDtcbiRvcmFuZ2VfYnJpZ2h0XzM6ICNGQzU3MkQ7XG4kb3JhbmdlX2JyaWdodF80OiAjRkI3NjNGO1xuJG9yYW5nZV9ncmF5aXNoOiAjQzNCQkE4O1xuJG9yYW5nZV9ncmF5aXNoXzI6ICNDQUM0Qjg7XG5cbiRibHVlX2ZhY2Vib29rOiAjNDQ2NEExO1xuJGJsdWVfdHdpdHRlcjogIzAyQjVGMDtcbiRibHVlX2luOiAjMDI4MkJEO1xuJGJsdWVfbGlnaHRfZ3JheWlzaDogI0VDRUNFRjtcbiRibHVlX2xpZ2h0X2dyYXlpc2hfMjogI0YxRjFGMjtcblxuLy8gVmFyaWFibGVcbiRjb2xvcl9fbWFpbjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4kY29sb3JfX2lucHV0OiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4kY29sb3JfX2FjY2VzczogJG9yYW5nZV9icmlnaHRfMjtcblxuJGNvbG9yOiAoXG4gIGNvbWJpel9ibHVlOiAjMTA0ODdhLFxuICBjb21iaXpfbGlnaHRfYmx1ZTogIzJlYmNlZCxcbiAgY29tYml6X29yYW5nZTogI2YzNzMyNCxcbiAgY29tYml6X2xpZ2h0X2dyYXk6ICNkY2U0ZWMsXG4gIGNvbWJpel9ibGFjazogIzA0MTEyMCxcbiAgd2hpdGU6ICNmZmYsXG4gIGdyYXk6ICM5OTksXG4gIGdyYXlfbGlnaHRfMzAwOiAjRDlEOUQ5LFxuICBncmF5X2xpZ2h0XzUwMDogIzdEN0Q3RCxcbiAgZGFya19ncmF5aXNoX3JlZDogIzNCMzUzNSxcbiAgZGFya19ncmF5aXNoX3Zpb2xldDogIzk1OEU5QyxcbiAgZGFya192ZXJ5X2dyYXlpc2hfcmVkOiAjNTQ1MTUxLFxuICBkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjogIzY2NjI2MixcbiAgZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM6ICM0NzQ1NDUsXG4gIGdyYXlfbGlnaHRfYmx1ZTogI0VERjFGNyxcbiAgZ3JheV9saWdodGVyX2JsdWU6ICNGN0Y5RkMsXG4gIGdyYXlfZ3JheWlzaF9ibHVlOiAjRjNGM0Y0LFxuICBwcmltYXJ5X2RhcmtfYmx1ZTogIzBDMzE1OSxcbik7XG5cbiRicmVha3BvaW50LWRlc2t0b3A6IDEyMDBweDtcblxuJGZvbnRfX21haW46ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiRzcGFjZWQtbGV0dGVyczogMC4yNWVtO1xuIiwiQGZ1bmN0aW9uIGNvbG9yKCRjb2xvci1uYW1lKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkY29sb3IsICRjb2xvci1uYW1lKT09dHJ1ZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb2xvciwgJGNvbG9yLW5hbWUpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBcIkNvbG9yICN7JGNvbG9yLW5hbWV9IGlzIG5vdCBkZWZpbmVkIGluICRjb2xvciBtYXAuXCI7XG4gIH1cbn0iLCIvKiAtLS0tLSBQVVQgQUxMIFlPVVIgQU1BWklORyBNSVhJTlMgSU4gSEVSRSAtLS0tLSAqL1xuXG4vLyBJbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHJlcGxhY2UoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vIFJlc2V0cyB0aGUgbGFzdCBjb2x1bW4gbnVtYmVyXG5AbWl4aW4gb21lZ2EtcmVzZXQoJG50aCkge1xuICAmOm50aC1jaGlsZCgjeyRudGh9KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoI3skbnRofSsxKSB7XG4gICAgY2xlYXI6IG5vbmVcbiAgfVxufVxuXG5AbWl4aW4gYnJlLXRyYW5zaXRpb24oKSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG5AbWl4aW4gaGVhZGVyLWNvbnRhaW5lcigpIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNsZWFyOiBib3RoO1xuXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbkBtaXhpbiBidWxsZXQtcG9pbnRzKCkge1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIG1hcmdpbjogMjVweCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG5cbiAgbGkge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF9ibHVlXzI7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNhcmV0KCRjb2xvcikge1xuICAmOjphZnRlciB7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIHJvdGF0ZTogNDVkZWc7XG4gICAgYm94LXNoYWRvdzogMS41cHggLTEuNXB4IDAgMCAkY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiB2aWV3cG9ydCgkc2l6ZSwgJHR5cGU6IG1heCkge1xuICBAaWYgJHR5cGUgPT1taW4ge1xuICAgICRzaXplOiAkc2l6ZSArMVxuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKCN7JHR5cGV9LXdpZHRoOiAkc2l6ZSkge1xuICAgIEBjb250ZW50XG4gIH1cbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgc3JjOiB1cmwoJ2ljb25mb250LmVvdCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiB1cmwoXCJpY29uZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgICAgdXJsKFwiaWNvbmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICB1cmwoXCJpY29uZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgICAgdXJsKFwiaWNvbmZvbnQuc3ZnI3N2Z2ljb25mb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uaWNvbjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImljb25mb250XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1sZyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzMzMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLmljb24tMnggeyBmb250LXNpemU6IDJlbTsgfVxuLmljb24tM3ggeyBmb250LXNpemU6IDNlbTsgfVxuLmljb24tNHggeyBmb250LXNpemU6IDRlbTsgfVxuLmljb24tNXggeyBmb250LXNpemU6IDVlbTsgfVxuLmljb24tZncge1xuICB3aWR0aDogMS4yODU3MTQyODU3MTQyODU4ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCJib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250X19tYWluO1xuICBjb2xvcjogJGNvbG9yX19tYWluO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHpvb206IDAuOTtcblxuICAmLmxvY2tlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG50YWJsZSB7XG4gIG1hcmdpbjogMzBweCAwO1xuICB3aWR0aDogMTAwJTtcblxuICB0aCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cblxuICB0ci5ldmVuLFxuICB0ci5vZGQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gIH1cblxuICB0aCB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbn1cblxuc2VjdGlvbi5icmVhZGNydW1iLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICRncmF5X2xpZ2h0XzE7XG5cbiAgLmJyZWFkY3J1bWIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbG9hdDogdW5zZXQ7XG4gICAgaGVpZ2h0OiByZW0oNDcpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtKDEyMDApO1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtKDI0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlcGFyYXRvciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hbmdsZS1yaWdodC5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNnB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICB9XG5cbiAgICAuYWN0aXZlLXRyYWlsIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cbn1cblxuaWZyYW1lW3RpdGxlPVwicmVjYXB0Y2hhIGNoYWxsZW5nZSBleHBpcmVzIGluIHR3byBtaW51dGVzXCJdIHtcbiAgaGVpZ2h0OiA2NDVweCAhaW1wb3J0YW50O1xufVxuaWZyYW1lW3RpdGxlPVwicmVDQVBUQ0hBXCJdIHtcbiAgd2lkdGg6IDQyMnB4ICFpbXBvcnRhbnQ7XG59XG5cbkBpbXBvcnQgXCJ0eXBvLnNjc3NcIjtcbkBpbXBvcnQgXCJoZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImZvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJzbGljay5zY3NzXCI7XG4iLCIvLyBQYXJhZ3JhcGhcbnAge1xuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbi8vIEhlYWRpbmdcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbmEsXG4uZmFrZS1saW5rIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICRjb2xvcl9fbWFpbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tYWluLXdpdGgtc2lkZWJhciB7XG5cbiAgYTpub3QoW2NsYXNzXSksXG4gIGFbY2xhc3M9XCJcIl0ge1xuICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG5cbiAgfVxufVxuXG5idXR0b24ubm8tc3R5bGUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcbn1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgLnRleHQgdWwge1xuICAgIEBpbmNsdWRlIGJ1bGxldC1wb2ludHMoKTtcbiAgfVxufVxuXG5kaXYuYWRkZXZlbnRhdGMge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59IiwiLy9oZWFkZXJcbmhlYWRlciB7XG4gIHotaW5kZXg6IDIwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAmLmZpeGVkIHtcblxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgLy8gQGluY2x1ZGUgcGFkKDE1cHggMCAxMHB4KTtcbiAgICB9XG5cbiAgICAuZGVza3RvcC1tZW51IHtcblxuICAgICAgLnRvcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xuICAgICAgfVxuXG4gICAgICAuYm90dG9tIHVsIGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgcGFkKDE1cHggMzVweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgcGFkKDE1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBAaW5jbHVkZSBwYWQoMjVweCAwIDIwcHgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDYwcHggMCByZ2JhKDIzNCwgMjMzLCAyMzYsIDAuNDApO1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTNweCAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAubW9iaWxlLW1lbnUge1xuXG4gICAgLnRvcCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAvLyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvLyBAaW5jbHVkZSBzaXplKDIxcHggMTJweCk7XG4gICAgICAvLyBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIG51bGwgbnVsbCk7XG4gICAgICAvLyBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCk7XG5cbiAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIC8vICAgdG9wOiByZW0oMjQpO1xuICAgICAgLy8gICByaWdodDogcmVtKDI0KTtcbiAgICAgIC8vIH1cblxuICAgICAgZGl2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oNnB4IDApO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUgMS41cHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAxLjVweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC02cHggbnVsbCBudWxsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtNnB4IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAuYXNpZGUge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCAtNTAwcHggbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGVhc2Utb3V0KTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMjYycHggMTAwJSk7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuNTApO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgLm1lbnUtc2VhcmNoIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIHBhZCgxMnB4IDIwcHggOXB4IDQwcHgpO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF9ibHVlO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg4cHggNnB4KTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9faW5wdXQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNXB4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tbWVudSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzBweCA4cHggMjkuNXB4IDM0cHgpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDYuNXB4O1xuXG4gICAgICBsaTpub3QoLmV4dHJhKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICBAaW5jbHVkZSBwYWQoMnB4IDAgMXB4IDExcHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgycHggMTAwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAzMzNtcyBlYXNlLW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMy41KTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUtdHJhaWwge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leHRyYS1tZW51IHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICAgIHBhZGRpbmc6IDEzLjVweCA4cHggMTMuNXB4IDM0cHg7XG5cbiAgICAgICYuaGF2ZS1zdWItbWVudSB7XG5cbiAgICAgICAgLmV4dHJhLW1lbnUtdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc3ViLW1lbnUtYXJyb3cuc3ZnJykgbm8tcmVwZWF0IHJpZ2h0IDZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYuNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3Zlcjpub3QoLnN1Yi1tZW51KSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgfVxuXG4gICAgICAmLmUtbG9naW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9wcm9maWxlLnN2ZycpIG5vLXJlcGVhdCAzNHB4IDE3cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTFweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLmUtbGFuZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2xhbmd1YWdlLnN2ZycpIG5vLXJlcGVhdCAzNHB4IDE3cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLmUtYWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvYWNjZXNzaWJpbGl0eS5zdmcnKSBuby1yZXBlYXQgMzRweCAxN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xuXG4gICAgICAgIC5zdWItbWVudSB7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAjZGVmYXVsdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI2JpZ2dlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGF2ZS1zdWItbWVudSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYudG9nZ2xlZCB7XG5cbiAgICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgIHJpZ2h0OiAyNjBweDtcblxuICAgICAgICBkaXYge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoNHB4KSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykgdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoLTVweCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubG9nbyB7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAtNTAwcHg7XG4gICAgICAgIC8vIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hc2lkZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kZXNrdG9wLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGhlYWRlci1jb250YWluZXIoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvcCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDQwNnB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5leHRyYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMzFweDtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDFweCAwIDAgMThweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExM21zIGxpbmVhcik7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExM21zIGxpbmVhcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByb2ZpbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3Byb2ZpbGUuc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA2OCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxhbmd1YWdlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9sYW5ndWFnZS5zdmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDY4JTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VhcmNoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA2OCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5wcm9maWxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3Byb2ZpbGUtYWN0aXZlLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA2OCU7XG5cbiAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5sYW5ndWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9sYW5ndWFnZS1hY3RpdmUuc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDY4JTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE1O1xuXG4gICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuc2VhcmNoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3NlYXJjaC1hY3RpdmUtMi5wbmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNjglO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3ViLW1lbnUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG1pbi13aWR0aDogMTE4cHg7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzNXB4IG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2xhbmctYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDIwcHggMTNweCk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMi41cHggMCBudWxsIDApO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDlweCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmN1cnJlbnQtbGFuZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tIHtcblxuICAgICAgdWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogcmVtKDQ1KTtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAycHgpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJi5hY3RpdmUtdHJhaWwge1xuXG4gICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMjBweCAycHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgLTIwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTExbXMgbGluZWFyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hY2Nlc3NpYmlsaXR5IHtcbiAgICBoZWlnaHQ6IDMxcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgLTMxcHggMCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAubG9ja2VkICYge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIC5ub2RlLXR5cGUtaG9tZXBhZ2UgJiB7XG4gICAgLy8gICBib3R0b206IDE4cHg7XG5cbiAgICAvLyAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAvLyAgICAgYm90dG9tOiAtMzFweFxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAvL0BpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmNhcnQtdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgfVxuXG4gICAgLmFjY2Vzc2liaWxpdHktaW5uZXIge1xuICAgICAgQGluY2x1ZGUgaGVhZGVyLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgICYuaGF2ZS1jYXJ0LXF1YW50aXR5IHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoOTk5OXB4IDMxcHgpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44OCk7XG4gICAgICB9XG5cbiAgICAgIC5hY2Nlc3NpYmlsaXR5LW1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hY2Nlc3NpYmlsaXR5LW1lbnUge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpO1xuICAgICAgQGluY2x1ZGUgcGFkKDNweCAxMnB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDAgMTBweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IGVtKDEyKTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciBhIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX19hY2Nlc3M7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAgIC8vLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAvKiBpT1MgU2FmYXJpICovXG4gICAgICAgIC8vLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gICAgICAgIC8vLWtodG1sLXVzZXItc2VsZWN0OiBub25lOyAvKiBLb25xdWVyb3IgSFRNTCAqL1xuICAgICAgICAvLy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAgICAgLy8tbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIEludGVybmV0IEV4cGxvcmVyL0VkZ2UgKi9cbiAgICAgICAgLy91c2VyLXNlbGVjdDogbm9uZTsgLyogTm9uLXByZWZpeGVkIHZlcnNpb24gY3VycmVudGx5IHN1cHBvcnRlZCBieSBDaHJvbWUgYW5kIE9wZXJhICovXG5cbiAgICAgICAgJiNmb250U21hbGwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiNmb250RGVmYXVsdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmI2ZvbnRMYXJnZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtYWNjZXNzIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX19hY2Nlc3M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9jYW1wYWlnbi1oZWFkZXJcbi5jYW1wYWlnbi1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBAaW5jbHVkZSBzaXplKDgwdncpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTI1JSkgdHJhbnNsYXRlWSgtMzMlKSk7XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmZsaXBwZWQsXG4gICAgLnVuZmxpcHBlZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHotaW5kZXg6IC0zO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIC51bmZsaXBwZWQge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg0MCUgMTAwJSk7XG4gICAgfVxuXG4gICAgLmZsaXBwZWQge1xuICAgICAgbWFyZ2luOiAtNjBweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVgoLTEpKTtcbiAgICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDQycHgpKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoY2FsYyg2MCUgKyAxMjBweCkgY2FsYygxMDAlICsgMTIwcHgpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIC5mbGlwcGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnVuZmxpcHBlZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBwYWQoMjBweCAwIDE1NHB4KTtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIwcHggMjBweCk7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IGVtKDQ5cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMS40NnB4O1xuICAgIG1hcmdpbjogNzBweCAwIDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICAuY2F0ZWdvcnkge1xuICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4zNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICAubG9nbyB7XG4gICAgQGluY2x1ZGUgc2l6ZSgxNjBweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDU1JSk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4NXZ3KTtcbiAgICAgIG1pbi13aWR0aDogODAwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDgzNnB4KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0zMCUpIHRyYW5zbGF0ZVkoNSUpKTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IGVtKDI2cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuODdweDtcbiAgICAgIG1hcmdpbjogMTA0cHggMCAxNXB4O1xuICAgIH1cblxuICAgIC5jYXRlZ29yeSB7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICBAaW5jbHVkZSBzaXplKDkxcHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwcHggMjBweCBpbmhlcml0IGluaGVyaXQpO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9wYXJ0bmVyLWhlYWRlclxuLy8gLnBhcnRuZXItaGVhZGVyIHtcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICBAaW5jbHVkZSBwYWQoMjBweCAwIDgwcHgpO1xuLy8gICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuLy8gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4vLyAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4vLyAgIHotaW5kZXg6IDE7XG4vLyAgIG92ZXJmbG93OiBoaWRkZW47XG5cbi8vICAgJjphZnRlciB7XG4vLyAgICAgY29udGVudDogJyc7XG4vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuLy8gICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4vLyAgICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuOTQpO1xuLy8gICAgIHotaW5kZXg6IC0xO1xuLy8gICB9XG5cbi8vICAgJjpiZWZvcmUge1xuLy8gICAgIGNvbnRlbnQ6ICcnO1xuLy8gICAgIEBpbmNsdWRlIHNpemUoNjI0cHgpO1xuLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCBudWxsKTtcbi8vICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTdweCk7XG4vLyAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDE1JSkgdHJhbnNsYXRlWSgtNSUpKTtcbi8vICAgfVxuXG4vLyAgIC53cmFwcGVyIHtcbi8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuLy8gICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4vLyAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpXG4vLyAgICAgfVxuXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbi8vICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbi8vICAgICB9XG5cbi8vICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4vLyAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4vLyAgICAgfVxuXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuLy8gICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIC5jb250ZW50IHtcbi8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4vLyAgICAgbWFyZ2luLXRvcDogODVweDtcbi8vICAgICBjb2xvcjogJHdoaXRlO1xuLy8gICB9XG5cbi8vICAgaDEge1xuLy8gICAgIGZvbnQtc2l6ZTogZW0oNDkpO1xuLy8gICAgIGxldHRlci1zcGFjaW5nOiAtMS40NnB4O1xuLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLyAgIH1cblxuLy8gICBwIHtcbi8vICAgICBmb250LXNpemU6IGVtKDE1KTtcbi8vICAgICBsaW5lLWhlaWdodDogMS42O1xuLy8gICAgIGNvbG9yOiAkd2hpdGU7XG4vLyAgIH1cblxuLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4vLyAgICAgQGluY2x1ZGUgcGFkKDIwcHggMjBweCAyNXB4KTtcblxuLy8gICAgICY6YmVmb3JlIHtcbi8vICAgICAgIGNvbnRlbnQ6ICcnO1xuLy8gICAgICAgQGluY2x1ZGUgc2l6ZSgxNjJweCk7XG4vLyAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgzMCUpIHRyYW5zbGF0ZVkoNTAlKSk7XG4vLyAgICAgfVxuXG4vLyAgICAgLmNvbnRlbnQge1xuLy8gICAgICAgbWFyZ2luLXRvcDogMTBweDtcbi8vICAgICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIH1cblxuLy8gICAgIGgxIHtcbi8vICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuLy8gICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjhweDtcbi8vICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuLy8gICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuLy8gICAgIH1cblxuLy8gICAgIHAge1xuLy8gICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4vLyAgICAgICBmb250LXdlaWdodDogNTAwO1xuLy8gICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbi8vICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yOHB4O1xuLy8gICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbi8vICAgICAgIG1heC13aWR0aDogMjg1cHg7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5cbi8vaG9tZXBhZ2UtaGVhZGVyXG4uaG9tZXBhZ2UtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA4OXB4O1xuXG4gICYuYW5pbWF0aW9uIHtcblxuICAgIC5sZWZ0IHtcblxuICAgICAgLmhlYWRpbmcsXG4gICAgICAuc3ViLWhlYWRpbmcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0IHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSg1NSkpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDUwKSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tYXJyb3cge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcblxuICAgICAgLmFycm93IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGhlYWRlci1hcnJvdy1hbmltYXRpb247XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgIH1cblxuICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogaGVhZGVyLWFycm93LWJnLWFuaW1hdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iZy13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgLmJhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgIGZpbHRlcjogYmx1cig2cHgpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBwYWQoMTQ2cHggMCAxMDFweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDEwNHB4IDAgODBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDY5cHggMCA5MnB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTUlIDAgMCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjAwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5sZWZ0IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IGVtKDYyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xLjY2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDE1JSkpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNTU1bXMgZWFzZS1vdXQgMTExbXMpO1xuICAgIH1cblxuICAgIC5zdWItaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IGVtKDIyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIzcHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxNSUpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDU1NW1zIGVhc2Utb3V0IDU1NW1zKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuXG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oNTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuc3ViLWhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuXG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oNDcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xOTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xLjI2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5zdWItaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjE4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcuNSk7XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSg0NSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTEuMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgIH1cblxuICAgICAgLnN1Yi1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMTdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAxNSU7XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyOSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjAzO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuOTdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cblxuICAgICAgLnN1Yi1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzaGlmdCgyKTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYzKTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMjBweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAtNDUlIDAgbnVsbCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA2NjZtcyBlYXNlLW91dCA3Nzdtcyk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIHJpZ2h0OiAtNTUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDE0cHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMikpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgaW5oZXJpdCAwIC00MTRweCAyNTBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMjAlKSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA1NTVtcyBlYXNlLW91dCAxMjIxbXMpXG4gICAgfVxuXG4gICAgLm5hdi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHNoaWZ0KDEpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXG4gICAgICAubmF2LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgwLjUpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuXG4gICAgICAubmF2LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIHBhZCgxM3B4IDIwcHggOHB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcblxuICAgICAgLm5hdi10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uYXYge1xuXG4gICAgLmhlYWRlci1jdXJyZW50LW9wdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLTEwcHggMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTRweCAycHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMnB4IDEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDdweDtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40N3B4O1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzLFxuICAgICAgICBoNCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ0bi1tb3JlLFxuICAgICAgLmhlYWRlci1jdXJyZW50LW9wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnRuLWFycm93IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSBzaXplKDUxLjdweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAtMjUuODVweCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg0MCUpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCAxLjVzKTtcblxuICAgIC5hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBzaXplKDQ3cHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvYXJyb3ctaGVhZGVyLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDdweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjUpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg1MHB4KTtcbiAgICAgIGJvdHRvbTogLTcwcHg7XG5cbiAgICAgIC5hcnJvdyB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzlweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDM5cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoOHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgaGVhZGVyLWFycm93LWFuaW1hdGlvbiB7XG5cbiAgICA1MCUsXG4gICAgMTAwJSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xNSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgaGVhZGVyLWFycm93LWJnLWFuaW1hdGlvbiB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMTApKTtcbiAgICB9XG4gIH1cbn1cblxuLy9mb2N1cy1hcmVhLWhlYWRlclxuLmZvY3VzLWFyZWEtaGVhZGVyIHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcGFkKDEycHggMCA0MXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNpemUoMTE3NnB4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDc1JSBudWxsIG51bGwgLTE3NXB4KTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNzUlKSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg5MDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4NTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg2NTBweCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICByaWdodDogMjAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHNpemUoODVweCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuNyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgLTQyLjVweCA3Ny41cHggbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDM3cHgpO1xuICAgICAgYm90dG9tOiBpbmhlcml0O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTE4LjVweDtcbiAgICB9XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB6LWluZGV4OiAtMjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIH1cblxuICAgIC5mbGlwcGVkLFxuICAgIC51bmZsaXBwZWQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHotaW5kZXg6IC0zO1xuICAgIH1cblxuICAgIC51bmZsaXBwZWQge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg1MCUgMTAwJSk7XG4gICAgfVxuXG4gICAgLmZsaXBwZWQge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgtMSkpO1xuICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoMTFweCkpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbjogLTEycHg7XG4gICAgICBAaW5jbHVkZSBzaXplKGNhbGMoNTAlICsgMjRweCkgY2FsYygxMDAlICsgMjRweCkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgLmZsaXBwZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAudW5mbGlwcGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAvL0BpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMjBweCAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcuNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IGVtKDQ5KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMS40NnB4O1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiBlbSgzNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCgyMHB4KTtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuXG4gICAgLmJ0bi1iYWNrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDMwcHggbnVsbCBudWxsIDIwcHgpO1xuICAgIH1cblxuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC44cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vL2Fib3V0LXVzLWhlYWRlclxuLmFib3V0LXVzLWhlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDUyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHBhZCgyMzNweCAwIDApO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC53cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaGVhZGVyLW92ZXJsYXkuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2hlYWRlci1vdmVybGF5LXRhYmxldC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDE1JSk7XG4gICAgICBAaW5jbHVkZSBzaXplKDUwcHgpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDExOCwgNjMsIDAuODkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzIuNXB4KTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHBhZCg4NXB4IDAgNDBweCk7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDkyLjVweCAwIDQwcHgpO1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoOTBweCAwIDU0cHgpO1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNjUuNXB4IDIwcHggMzhweCk7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogZW0oNDcpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTEuOTZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLW5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDYuNSU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDlweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDNweCBudWxsIG51bGwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMnB4IDE0cHgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICBtaW4taGVpZ2h0OiA0NDBweDtcblxuICAgIC5oZWFkZXItbmF2IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oNDIpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgbWFyZ2luLXRvcDogNDFweDtcblxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMzUpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQuNSk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgIEBpbmNsdWRlIHNoaWZ0KDAuNSlcbiAgICB9XG5cbiAgICAuaGVhZGVyLW5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAxMTNweCAwIDA7XG5cbiAgICBoMSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiBlbSgyOSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yOHB4O1xuICAgIH1cbiAgfVxufVxuXG4vL2V2ZW50LWhlYWRlclxuLmV2ZW50LWhlYWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB6LWluZGV4OiAxO1xuXG4gICYubm8tc2xpZGVyIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjU4KTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4MHZ3KTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIG51bGwpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNDAlKSk7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjkpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSg1Nik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMS45NnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2hpZnQoMik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgIGZsb2F0OiByaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCxcbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1zbGljayB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgICAmLmltYWdlLW9ubHkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMzBweCk7XG4gICAgICB9XG5cbiAgICAgICYuaW1hZ2Utd2l0aC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDcwcHggMzBweCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuOSk7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRldGFpbCB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIH1cblxuICAgICAgLmRhdGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogMTlweDtcblxuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDYuMjVweCk7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgICAgbWFyZ2luOiAwIDlweCAwIDA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDYuMjVweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG5cbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBzaXplKDMwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL3NsaWRlLWFycm93LW5leHQtMi5wbmcnKSBuby1yZXBlYXQgY2VudGVyICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3LjdweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvc2xpZGUtYXJyb3ctcHJldi0yLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDcuN3B4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uYXYge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCBudWxsIG51bGwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMnB4IDE0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIH1cblxuICAgIC5zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIC5pdGVtIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItbmF2IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBwYWQoMTM5cHggMjBweCAyNXB4KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuODdweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE4MHZ3KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIyJSBudWxsIG51bGwgNzUlKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTc1JSkgdHJhbnNsYXRlWSgwKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGVyIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBwYWQoOC41cHggMCAxNy41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjkpKTtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pbWFnZS1vbmx5LFxuICAgICAgICAmLmltYWdlLXdpdGgtY29udGVudCB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1jdXJyZW50IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWNrLWFycm93IHtcblxuICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vZXZlbnQtc2luZ2xlLWhlYWRlclxuLmV2ZW50LXNpbmdsZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTA2cHggMCAxMTlweCk7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHNpemUoMzg0cHgpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAxMTYsIDU4LCAwLjUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA4OCUgMjAlIG51bGwgbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICByaWdodDogMTMlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1iYWNrIHtcbiAgICBjb2xvcjogJGNvbG9yX19tYWluO1xuICB9XG5cbiAgLmNpcmNsZSB7XG4gICAgei1pbmRleDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgQGluY2x1ZGUgc2l6ZSg4MHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTQwJSkpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMjAwcHgpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyMCUgbnVsbCBudWxsIDQwJSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwJSkgdHJhbnNsYXRlWCgtNTAlKSk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuNjUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNXB4IDM2JSBudWxsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwMHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLmJhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgei1pbmRleDogLTI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5mbGlwcGVkLFxuICAgIC51bmZsaXBwZWQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVuZmxpcHBlZCB7XG4gICAgICBAaW5jbHVkZSBzaXplKDUwJSAxMDAlKTtcbiAgICB9XG5cbiAgICAuZmxpcHBlZCB7XG4gICAgICBtYXJnaW46IC02MHB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgtMSkpO1xuICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoNDJweCkpO1xuICAgICAgQGluY2x1ZGUgc2l6ZShjYWxjKDUwJSArIDEyMHB4KSBjYWxjKDEwMCUgKyAxMjBweCkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgLmZsaXBwZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAudW5mbGlwcGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG5cbiAgICAuZGF0ZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSg0OSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xLjQ5cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMzhweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgIH1cblxuICAgIC5zcG9uc29ycy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjZWQtbGV0dGVycztcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5zcG9uc29ycy1sb2dvcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNTVweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICAgIH1cblxuICAgICAgJi50d28tbGluZXMge1xuXG4gICAgICAgIC5zcG9uc29ycy1sb2dvIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zcG9uc29ycy1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC5zcG9uc29yLWxvZ28tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgzNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDI2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC44N3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMTQ1cHggMjBweCAzMHB4KTtcblxuICAgIC5idG4tYmFjayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi8vbmV3cy1zaW5nbGUtaGVhZGVyXG4ubmV3cy1zaW5nbGUtaGVhZGVyIHtcbiAgQGluY2x1ZGUgcGFkKDE1cHggMCA3MHB4KTtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBwYWQoMzBweCAyNXB4KTtcblxuICAgIC5idG4tYmFjayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG5cbiAgICAuZGF0ZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42NztcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDM1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMS4yM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgICAgLmRhdGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjMxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjg3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY2lyY2xlLW92ZXJsYXkge1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoODB2dyk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTQwJSkpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzODRweCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMTE2LCA1OCwgMC42NSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgODUlIDIyJSBudWxsIG51bGwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE4MHZ3KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwJSAtMTUlIG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCkpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgIHotaW5kZXg6IC0yO1xuXG4gICAgICAuZmxpcHBlZCxcbiAgICAgIC51bmZsaXBwZWQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgei1pbmRleDogLTM7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnVuZmxpcHBlZCB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNTAlIDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAuZmxpcHBlZCB7XG4gICAgICAgIG1hcmdpbjogLTYwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVgoLTEpKTtcbiAgICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoNDJweCkpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKGNhbGMoNTAlICsgMTIwcHgpIGNhbGMoMTAwJSArIDEyMHB4KSk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgICAuZmxpcHBlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51bmZsaXBwZWQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5uby1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoXzI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg3NzBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMTE2LCA1OCwgMC4xMyk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAtMjAwcHggLTUzNXB4IG51bGwpO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDY4cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTQzMnB4IG51bGwgbnVsbCAzMyUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBoZWlnaHQ6IDIyOHB4O1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgLy9AaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAvL3dpZHRoOiA0MCU7XG4gICAgICAvL0BpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA2NXB4IDAgbnVsbCBudWxsKTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzYwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIGluaGVyaXQgLTE2OHB4IC02NXB4KTtcbiAgICAgIH1cblxuICAgICAgLndyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMDVweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjA4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0yNDBweCAtNjBweCBudWxsIG51bGwpO1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAyMXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL25ldHdvcmstYXBwbGljYXRpb24taGVhZGVyXG4ubmV0d29yay1hcHBsaWNhdGlvbi1oZWFkZXIge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBwYWQoMjFweCAwIDgwcHgpO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzaXplKDgwdncpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC00NSUpKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHNpemUoMzE4cHgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjQpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDI1JSAtMjE1cHggbnVsbCk7XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgb3BhY2l0eTogMC45NDtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBtYXJnaW46IC02cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDVweCkpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgQGluY2x1ZGUgc2l6ZShjYWxjKDEwMCUgKyAxMnB4KSk7XG4gICAgfVxuICB9XG5cbiAgLndyYXBwZXIge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgOSk7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSg0OSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMS43MXB4O1xuICAgICAgICBtYXJnaW46IDAgMCAxNHB4O1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28td3JhcCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDEwcHggbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTYwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgMCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyOTBweCkge1xuICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgbWluLWhlaWdodDogMjgwcHg7XG5cbiAgICAuYnRuLWJhY2sge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAudGV4dC13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwKTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMzQpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLmxvZ28td3JhcCB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIHRvcDogMjclO1xuICAgICAgICByaWdodDogLTIyJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE1MHZ3O1xuICAgICAgd2lkdGg6IDE1MHZ3O1xuICAgICAgcmlnaHQ6IC0yMDBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtNDUlO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vbmV0d29yay1kZXRhaWxzLWhlYWRlclxuLm5ldHdvcmstZGV0YWlscy1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTE5cHggMCAxMjNweCk7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzaXplKDU5NXB4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MiwgMTA0LCA0NSwgMC40KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAxNCUgLTQ1MHB4IG51bGwpO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgc2l6ZSg4MHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNDAlKSk7XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG4gIH1cblxuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMnB4IG51bGwgbnVsbCAwKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHNwYW4sXG4gICAgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAtMjtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMDY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTEuNDlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXgtd2lkdGg6IDYyMHB4O1xuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM4cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDM1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMTk1cHg7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgMzFweDtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICB9XG5cbiAgICAgIC5zdWItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDQwMHB4KTtcbiAgICAgIGJvdHRvbTogLTMwMHB4O1xuICAgICAgcmlnaHQ6IDEwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcGFkKDIwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDIzNXB4KTtcbiAgICAgIGJvdHRvbTogLTE1MHB4O1xuICAgICAgcmlnaHQ6IC02MHB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg2NTBweCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICByaWdodDogMjAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIH1cbiAgfVxufVxuXG4vL21vYmlsZS1oZWFkZXItbmF2XG4ubW9iaWxlLWhlYWRlci1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMjQ5LCAyNDgsIDAuOTYpO1xuICBAaW5jbHVkZSBwYWQoOHB4IDAgNnB4KTtcbiAgei1pbmRleDogMTA7XG5cbiAgLmhlYWRlci1jdXJyZW50LW9wdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLThweCAwKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTRweCAycHgpO1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMTVweCAwIDVweDtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmJ0bi1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcGFkKDhweCAyMHB4IDZweCk7XG4gIH1cbn1cblxuLy9kZXNrdG9wLWZpeGVkLW5hdlxuLmRlc2t0b3AtZml4ZWQtbmF2IHtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzVweDtcbiAgcGFkZGluZzogNXB4IDAgMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDI0OSwgMjQ4LCAwLjk3KTtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIC01MHB4IG51bGwgbnVsbCAwKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNjY2bXMgZWFzZS1vdXQpO1xuXG4gICYudHJpZ2dlciB7XG4gICAgei1pbmRleDogNTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAubmF2LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDczcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMCAtMzBweCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDE1cHggMnB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxMTNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTEzbXMgbGluZWFyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2NvbnRlbnQtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4jY29udGVudC1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYnJlYWRjcnVtYi13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAyMHB4O1xufVxuXG5cbi5icmVhZGNydW1iIHtcbiAgei1pbmRleDogMTtcbiAgLy9tYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMTAwcHg7XG5cbiAgYSxcbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cblxuICBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIG1hcmdpbjogMCA0cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY2FydC12aXNpYmxlIHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vY2FydC1xdWFudGl0eVxuLmNhcnQtcXVhbnRpdHkge1xuICBoZWlnaHQ6IDMxcHg7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgfVxufVxuXG4jZWRpdC1zYXZlLXNlbGVjdGVkLWN1cnJlbmN5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJsb2NrLWNvbW1lcmNlLW11bHRpY3VycmVuY3kge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS44O1xuXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICB0b3A6IC0xcHg7XG4gIH1cblxuICAjY29tbWVyY2UtbXVsdGljdXJyZW5jeS1zZWxlY3Rvci1mb3JtIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbn1cblxuLmNhcnQtcXVhbnRpdHktaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG59XG5cbi5oZWFkZXIge1xuXG4gICYtZmxhZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBAaW5jbHVkZSBwYWQoNXB4IDAgNHB4KTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIHBhZCgxNHB4IDQwcHggMTRweCk7XG5cbiAgICAubG9nZ2VkLWluICYge1xuICAgICAgQGluY2x1ZGUgcGFkKDQwcHggNDBweCAxNHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDE0cHggMTVweCAxNHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtbG9nbyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcmVtKDEwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBnYXA6IHJlbSgyKVxuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBAaW5jbHVkZSBwYWQoM3B4IDhweClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWFjdGlvbiB7XG5cbiAgICAmLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAgMTZweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIH1cblxuICAgICAgJi1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtOTdweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHBhZCg1cHggMCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuaGVhZGVyLWFjdGlvbi1saXN0LWlubmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAmLWlubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEyMXB4O1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCgxMnB4IDE5cHgpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnRvZ2dsZWQge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbG9nbyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zbGF0ZTogLTIwcHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxvZ28ge1xuICAgICAgd2lkdGg6IDEwNnB4O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNsYXRlO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDQ0bXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRvZ2dsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICB3aWR0aDogMjFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGVhc2Utb3V0KTtcblxuICAgICAgJi50b2dnbGVkIHtcbiAgICAgICAgcmlnaHQ6IDI2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtc2VjdGlvbiB7XG5cbiAgICAmLWFuY2hvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAvLyAubm9kZS10eXBlLWhvbWVwYWdlICYge1xuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLy8gICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cblxuICAgICYtaW5uZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgcGFkKDExcHggMCAxNHB4KVxuICAgIH1cblxuICAgICYtbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luOiAwIDEycHg7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zbGF0ZTogMCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2xhdGU6IDAgMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2xhdGUsIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2NvbnRlbnQtaGVhZGVyID4gLnRhYnN7XG4gIG1hcmdpbjogNDJweCAwIDA7XG59XG4iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICBAaW5jbHVkZSBwYWQoNjBweCAwIDE2cHgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMzJweCAwIDE2cHgpO1xuICB9XG5cbiAgJi10b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwIDEzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcbiAgICB9XG5cbiAgICAmLWxlZnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDUzcHggMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLW5hdiB7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPnVsIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgIGNvbHVtbi1nYXA6IDE1NnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAzcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2xhdGU6IDAgNXB4O1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zbGF0ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJi1sb2dvIHtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICB3aWR0aDogMTM3cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1ib3R0b20ge1xuXG4gICAgI2Jsb2NrLWJlYW4tc29jaWFsLWxpbmtzLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi11c2VmdWwtbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAgMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJi1sYWJlbCB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMCAxN3B4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDApO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDM2KTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmxvY2stY29weXJpZ2h0LWJsb2NrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB9XG4gIH1cbn1cblxuLy9tb2JpbGUtb3ZlcmxheVxuLm1vYmlsZS1vdmVybGF5IHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgbnVsbCBudWxsIDApO1xuICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuNyk7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiYm9keSB7XG4gIHBhZGRpbmctdG9wOiA2NnB4O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICYudGhpbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDk4cHg7XG4gIH1cblxuICAmLm5vZGUtdHlwZS1ob21lcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDY2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuXG4gICAgJi5oYXZlLWNhcnQtcXVhbnRpdHkge1xuICAgICAgcGFkZGluZy10b3A6IDE2MXB4O1xuICAgIH1cblxuICAgICYudGhpbm5lci5oYXZlLWNhcnQtcXVhbnRpdHkge1xuICAgICAgcGFkZGluZy10b3A6IDEyOHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcblxuICAgICYudGhpbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNDRweDtcblxuICAgICAgLm1vYmlsZS1tZW51IC5tZW51LXNlYXJjaCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3cHggMjBweCA0cHggNDBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgI3BhZ2U+I21haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gIH1cbn1cblxuLmhlYWRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBoZWFkZXItY29udGFpbmVyKCk7XG59XG5cbi5tYWluLWNvbnRhaW5lciB7XG4gIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J1YmJsZS5wbmcnKSByZXBlYXQteTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgJi5tYWluLWNvbnRhaW5lci1jb25zdWx0aW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lXG4gIH1cbn1cblxuLm1haW4td3JhcHBlciB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjMwcHgpO1xuICBAaW5jbHVkZSBwYWQoMTA1cHggMzBweCAxMDBweCk7XG5cbiAgLnBhZ2UtcHJvZmlsZSAmIHtcbiAgICBAaW5jbHVkZSBwYWQoMTA1cHggMTVweCAxMDBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCAwIDEwMHB4KTtcbiAgICB9XG4gIH1cblxuICAmLm1haW4td3JhcHBlci1jb25zdWx0aW5nIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTIzMHB4KTtcbiAgICBAaW5jbHVkZSBwYWQoNjZweCAxNXB4IDEwMHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgICBAaW5jbHVkZSBwYWQoNDBweCAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMCk7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAucm93IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJG9yYW5nZV9icmlnaHRfMztcblxuICAgICYuZnVsbCB7XG5cbiAgICAgIC5kZXNjLWFyZWEsXG4gICAgICAuY29udGFpbmVyLXdoaXRlLFxuICAgICAgLmNvbnRhaW5lci1kYXJrIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuY29udGFpbmVyLXdoaXRlIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGVzYy1hcmVhLFxuICAuY29udGFpbmVyLXdoaXRlLFxuICAuY29udGFpbmVyLWRhcmsge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTgwcHg7XG5cbiAgICAmLmRlc2MtYXJlYSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzBweCA1cHggMjBweCAwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgJi5jb250YWluZXItd2hpdGUge1xuICAgICAgQGluY2x1ZGUgcGFkKDMwcHggNXB4IDIwcHggMjBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X2Rhcms7XG4gICAgICB3aWR0aDogNDAlO1xuICAgIH1cblxuICAgICYuY29udGFpbmVyLWRhcmsge1xuICAgICAgQGluY2x1ZGUgcGFkKDMwcHggNXB4IDIwcHggMjBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX21haW47XG4gICAgICB3aWR0aDogNDAlO1xuICAgIH1cbiAgfVxufVxuXG4ub3ZlcmxheSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIG51bGwgbnVsbCAwKTtcbiAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuOSk7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgJi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG4uY3VycmVudC13aWR0aCB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsIDAgMCAwKTtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDI1NSwgMC41KTtcbiAgcGFkZGluZzogMTBweDtcbiAgei1pbmRleDogOTk5OTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuI21hcCB7XG4gIEBpbmNsdWRlIHNpemUoODAwcHggNjAwcHgpO1xufVxuXG4jYXRsd2RnLXRyaWdnZXIge1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5hcmNoaXZlLXBhZ2UtdHJpZ2dlcixcbi5tYWluLXdpdGgtc2lkZWJhci10cmlnZ2VyIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgbnVsbCAwIDApO1xuICBAaW5jbHVkZSBzaXplKDEwMCUgMXB4KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDEwMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uc2lkZWJhciB7XG4gIHRvcDogMTU1cHg7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblxuICAubWFpbi13cmFwcGVyLWNvbnN1bHRpbmcgJiB7XG4gICAgd2lkdGg6IDI0JTtcbiAgfVxuXG4gICY6bm90KC5ub3Qtc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxuXG4gIGxpIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICAuc2lkZWJhci1yZW1hcmsge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICB0b3A6IDg1cHg7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5tb2JpbGUtc2lkZWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAyNDksIDI0OCwgMC45Nik7XG4gIEBpbmNsdWRlIHBhZCg4cHggMjBweCA2cHgpO1xuICB6LWluZGV4OiAxMDtcblxuICAuaGVhZGVyLWN1cnJlbnQtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMzVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtOHB4IDApO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxNHB4IDJweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAxNXB4IDAgNXB4O1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmJ0bi1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuXG4gIC5tYWluLXdyYXBwZXItY29uc3VsdGluZyAmIHtcbiAgICB3aWR0aDogNzAuNSU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHggNDVweClcbiAgICB9XG4gIH1cblxuICAvLyB0byBmaXggdGhlIG92ZXJsYXBwaW5nIHNpZGViYXIgb24gc29tZSBicm93c2Vyc1xuICBAaW5jbHVkZSBtZWRpYSgkb3Zlcm1vYmlsZSkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuXG4gICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5jYXJkLWhvcml6b250YWwtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBwYWQoNDBweCAyMHB4IDQ1cHgpO1xuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICB9XG5cbiAgICAucGFyYWdyYXBoIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyN3B4IDAgMThweCk7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYm9yZGVyLWxlZnQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMS41cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbi5zaWRlYmFyLW1lbnUge1xuXG4gIC5tZW51IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAvLyBib3JkZXItbGVmdDogM3B4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuXG4gICAgICBsaSB7XG5cbiAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW46IDIycHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmUtdHJhaWwge1xuICAgICAgICAgIC8vIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogLTNweDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vbGluayB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICB9XG5cbiAgfVxufVxuXG4ub3JhbmdlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDU1cHggMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAxMTYsIDU4LCAwLjk0KTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuLm15LWNhcnQtc2VjdGlvbiB7XG4gIEBpbmNsdWRlIHBhZCg5cHggMCA3cHgpO1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgLy8gLndyYXBwZXIge1xuICAvLyAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAvLyAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjAwcHgpO1xuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIC8vICAgfVxuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAvLyAgICAgQGluY2x1ZGUgcGFkKDAgMzVweCk7XG4gIC8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gIC8vICAgfVxuICAvLyB9XG59XG5cbi5ib3gtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud3JhcHBlciB7XG4gIEBpbmNsdWRlIHBhZCgwIDIwcHgpO1xuICBtYXgtd2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3AgKyAyMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoMCAzMHB4KTtcbiAgfVxuXG4gIC5pcy1maXJlZm94ICYge1xuICAgIG1heC13aWR0aDogMTA4MHB4ICsgNDBweDtcbiAgfVxufSIsIi5zbGljay1kb3RzIHtcbiAgPmxpIHtcblxuICAgID5idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogI0I2QjZCNiAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgID5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uc2xpY2stc2xpZGUge1xuICBoZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59IiwiQGltcG9ydCBcInRpdGxlXCI7XG5AaW1wb3J0IFwiY3RhXCI7XG5cbkBpbXBvcnQgXCJmb3JtXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRhYmxlXCI7XG5AaW1wb3J0IFwiYmxvY2tzXCI7XG5AaW1wb3J0IFwibGlzdFwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJjaXJjbGVcIjtcbkBpbXBvcnQgXCJpY29uXCI7XG5AaW1wb3J0IFwiYmFubmVyXCI7XG5AaW1wb3J0IFwiZ2FsbGVyeVwiO1xuQGltcG9ydCBcImZhcVwiO1xuQGltcG9ydCBcImxvZ2luXCI7XG5AaW1wb3J0IFwiY2FydFwiO1xuQGltcG9ydCBcImNvbXBhbnktaGVhZGVyXCI7XG5AaW1wb3J0IFwiY2FyZC1mb2N1c1wiO1xuQGltcG9ydCBcImNhcmQtbWVtYmVyXCI7XG5AaW1wb3J0IFwiY2FyZC1jYW1wYWlnbnNcIjtcbkBpbXBvcnQgXCJjYXJkLWltYWdlXCI7XG5AaW1wb3J0IFwidGVzdGltb25pYWxzLXNsaWRlclwiO1xuQGltcG9ydCBcInBhcmFncmFwaFwiO1xuQGltcG9ydCBcImZpbHRlclwiO1xuQGltcG9ydCBcImZhbmN5Ym94XCI7XG5AaW1wb3J0IFwic29jaWFsLW1lZGlhLWljb25cIjtcbkBpbXBvcnQgXCJjb21tZW50c1wiO1xuQGltcG9ydCBcInNoYXJlXCI7XG5AaW1wb3J0IFwib3JhbmdlLWJhbm5lclwiO1xuQGltcG9ydCBcIm9yYW5nZS10ZXh0LWJsb2NrXCI7XG5AaW1wb3J0IFwicHJvZ3JhbW1lLWhlYWRlclwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXItc2lnbnVwXCI7XG5AaW1wb3J0IFwiY2hhcnRcIjtcbkBpbXBvcnQgXCJsZWFndWUtdGFibGVcIjtcblxuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcInNuc1wiO1xuQGltcG9ydCBcInNvbHV0aW9uXCI7XG5AaW1wb3J0IFwicmVzdWx0XCI7XG5AaW1wb3J0IFwicGFydG5lci1oZWFkZXJcIjtcbkBpbXBvcnQgXCJmZWF0dXJlZFwiO1xuQGltcG9ydCBcInRlYW1cIjtcbkBpbXBvcnQgXCJwYXJ0bmVyc1wiO1xuQGltcG9ydCBcInZhbHVlc1wiO1xuQGltcG9ydCBcImxvY2F0aW9uc1wiO1xuQGltcG9ydCBcIm12XCI7XG5AaW1wb3J0IFwiY2FyZC1ldmVudFwiO1xuQGltcG9ydCBcImNhcmQtcGFzdFwiO1xuQGltcG9ydCBcImNhcmQtYmFzaWNcIjtcbkBpbXBvcnQgXCJldmVudC1mZWF0dXJlZFwiO1xuQGltcG9ydCBcInRvcGljXCI7XG5AaW1wb3J0IFwiY29sdW1uXCI7XG5AaW1wb3J0IFwic3BvdGxpZ2h0XCI7XG5AaW1wb3J0IFwiYmVuZWZpdHNcIjtcbkBpbXBvcnQgXCJvcmdhbml6YXRpb25cIjtcbkBpbXBvcnQgXCJyZXNlYXJjaFwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXJcIjtcbkBpbXBvcnQgXCJpbnZvbHZlZFwiO1xuQGltcG9ydCBcImthcmRcIjtcbkBpbXBvcnQgXCJleWUtY2F0Y2hcIjtcbkBpbXBvcnQgXCJwcmluY2lwYWwtcGFydG5lcnNcIjtcbkBpbXBvcnQgXCJ2YWNhbmN5XCI7XG5AaW1wb3J0IFwiYmFubmVyLWV2ZW50XCI7IiwiLnRpdGxlIHtcbiAgZm9udC1zaXplOiByZW0oMzVweCk7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgfVxufSIsIi5jdGEge1xuICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIEBpbmNsdWRlIHBhZCgzcHggMTRweCk7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBmb250LXdlaWdodDogMzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblxuICAmOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYuaXMtYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAxLjVweCAtMS41cHggMCAwIGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDEuNXB4IC0xLjVweCAwIDAgY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDEuNXB4IC0xLjVweCAwIDAgY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1vcmFuZ2UtYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcblxuICAgICY6YWZ0ZXJ7XG4gICAgICBib3gtc2hhZG93OiAxLjVweCAtMS41cHggMCAwIGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIH1cblxuICAgICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAmOmFmdGVye1xuICAgICAgICBib3gtc2hhZG93OiAxLjVweCAtMS41cHggMCAwIGNvbG9yKHdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59XG4iLCIjeyRhbGwtdGV4dC1pbnB1dHN9LFxudGV4dGFyZWEsXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIHBhZGRpbmc6IDdweCAxM3B4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICY6Zm9jdXMsXG4gICYubm90LWVtcHR5IHtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgQGluY2x1ZGUgcGFkKDEwcHggMTNweCk7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICB9XG59XG5cbi5mb3JtLXN1Ym1pdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoY29tYml6X2JsdWUpO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBAaW5jbHVkZSBwYWQoMTJweCAyMnB4IDExcHgpO1xuICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIGZvbnQtc2l6ZTogZW0oMTQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgcGFkKDEycHggMThweCAxMHB4KTtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgfVxufVxuXG5zZWxlY3Qge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4vL2Jhc2ljLXNvcnQtc2VsZWN0XG4uYmFzaWMtc29ydC1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTlweCAyNnB4IDEwcHgpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNXB4IG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUgM3B4KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBlYXNlLW91dCk7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgfVxuXG4gICYuZm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAzcHg7XG4gICAgfVxuXG4gICAgLnNvcnQtY29udGFpbmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX2JsdWU7XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwIDAgMnB4O1xuICB9XG5cbiAgLnNvcnQtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICBsaW5lLWhlaWdodDogMS45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zb3J0LWFycm93LnN2ZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2LjVweCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBwYWQoMnB4IDI0cHggMnB4IDJweCk7XG4gIH1cblxuICAuc29ydC1zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vYmFzaWMtc29ydC1pbnB1dFxuLmJhc2ljLXNvcnQtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBwYWQoMjRweCAxOXB4IDIxcHggMjlweCk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC01cHggbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSAzcHgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICB9XG5cbiAgJi5mb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDNweDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX2JsdWU7XG4gIH1cblxuICBpbnB1dCxcbiAgLnNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS45O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gIH1cblxuICAuc2VhcmNoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMXB4KTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHg7XG4gIH1cbn1cblxuLy9zZWFyY2gtaW5wdXRcbi5zZWFyY2gtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIHBhZCgxMXB4IDE5cHggMTFweCAxNnB4KTtcblxuICBpbnB1dCxcbiAgLnNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIHNpemUoMThweCk7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpO1xuICAgIH1cbiAgfVxufVxuXG4vL2xvZ2luLWZvcm1cbi5sb2dpbi1mb3JtIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB9XG5cbiAgLmxvZ2luLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfdmlvbGV0O1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMTlweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1sb2dpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIG1hcmdpbjogNzJweCBhdXRvIDE5cHg7XG4gIH1cbn1cblxuLy9lbnRpdHlmb3JtXG4uZW50aXR5Zm9ybSB7XG5cbiAgLnNlbGVjdDItY29udGFpbmVyIHtcblxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIHtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgQGluY2x1ZGUgcGFkKDlweCAxNHB4IDZweCAxMXB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMTNweCAwIG51bGwpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAuZm9ybS1yZXF1aXJlZCB7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIH1cbiAgfVxuXG4gIC5ncmlwcGllIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMzBweCAwIDA7XG4gIH1cbn1cblxuZm9ybSB7XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjZWQtbGV0dGVycztcbiAgfVxufVxuXG4uY2FwdGNoYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgLmctcmVjYXB0Y2hhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn0iLCIvL3ByaW1hcnktY2FsbC1hY3Rpb25cbi5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogZW0oMTQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC40NHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJG9yYW5nZV9icmlnaHRfMztcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBtYXJnaW46IDFweDtcbiAgQGluY2x1ZGUgcGFkKDE0cHggMTlweCAxMnB4KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTMwbXMgZWFzZS1vdXQpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDAgLTElKTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgQGluY2x1ZGUgc2l6ZSgwIDEwMiUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEzMG1zIGVhc2Utb3V0KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoMTJweCAxOHB4IDEwcHgpO1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICB9XG5cbiAgJi53aGl0ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICAvL2JvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkd2hpdGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICYuZ3JleSB7XG4gICAgLy9ib3JkZXItY29sb3I6ICRncmF5X2Rhcms7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRncmF5X2Rhcms7XG4gICAgY29sb3I6ICRncmF5X2Rhcms7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIC8vYm94LXNoYWRvdzogMCAwIDAgMXB4ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDlweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICYud2hpdGUge1xuICAgICAgLy9ib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMiUpO1xuICAgIH1cbiAgfVxufVxuXG5pbnB1dC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcblxuICAmOmhvdmVyIHtcbiAgICAvL2JhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuXG4gICAgJi53aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5ncmV5IHtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIC8vYm94LXNoYWRvdzogMCAwIDAgMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuICB9XG59XG5cbi8vc2Vjb25kYXJ5LWNhbGwtYWN0aW9uXG4uc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogZW0oMTIpO1xuICBtaW4td2lkdGg6IDYwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICBsaW5lLWhlaWdodDogMS4xNjc7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkb3JhbmdlX2JyaWdodF8zO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIEBpbmNsdWRlIHBhZCgxMHB4IDE0cHggOHB4KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTMwbXMgZWFzZS1vdXQpO1xuICBtYXJnaW46IDFweDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIC0xMHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZV9icmlnaHRfMztcbiAgICBAaW5jbHVkZSBzaXplKDAgMTAwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTMwbXMgZWFzZS1vdXQpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJi53aGl0ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJHdoaXRlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAvL2JveC1zaGFkb3c6IDAgMCAwIDFweCAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbiAgICAmLndoaXRlIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICAgICAgLy9ib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2l6ZShjYWxjKDEwMCUgKyAxMHB4KSAxMDAlKTtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICYud2hpdGU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZV8yO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vL3RpY2tldC1jYWxsLWFjdGlvblxuLnRpY2tldC1jYWxsLWFjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgcGFkKDE0cHggNDBweCAxMnB4IDIwcHgpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBAaW5jbHVkZSBwYWQoMTBweCAzMHB4IDhweCAxNXB4KTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAyMHB4IG51bGwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJG9yYW5nZV9icmlnaHRfMyA1MCUsICR3aGl0ZSA1MCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMi41cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxcHggMTAwJSk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIC0xJSAtMSUpO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgQGluY2x1ZGUgc2l6ZSgwIDEwMiUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICB6LWluZGV4OiAtMjtcbiAgfVxuXG4gIC5jaXJjbGUge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC0xMXB4IDAgbnVsbCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxOXB4KTtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMXB4IDEwMHB4KTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMDBweCBudWxsIG51bGwgNnB4KTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLTEwMHB4IDZweCk7XG4gICAgfVxuICB9XG5cbiAgJi53aGl0ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcblxuICAgIC5jaXJjbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHdoaXRlIDUwJSwgJGNvbG9yX19tYWluIDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDIuNXB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcHggMTBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuY2lyY2xlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgfVxuXG4gICAgJi5oaWdodGxpZ2h0IHtcbiAgICAgIGJveC1zaGFkb3c6IDAgOXB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDIlKTtcbiAgICB9XG4gIH1cbn1cblxuLy90ZXJ0aWFyeS1jYWxsLWFjdGlvblxuLnRlcnRpYXJ5LWNhbGwtYWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IGVtKDEyKTtcbiAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIEBpbmNsdWRlIHBhZCgwIDE1cHggMCA5cHgpO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCAwIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgZWFzZS1vdXQpO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0cHggbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMnB4IDEwcHgpO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gIH1cblxuICAmLmRpci1sZWZ0IHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMS41cHggOHB4KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Fycm93LWxlZnQuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTJweCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExLjVweCBhdXRvO1xuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Fycm93LWxlZnQtd2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5kaXItZG93biB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoOHB4IDExLjVweCk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hcnJvdy1kb3duLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDdweCBhdXRvO1xuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Fycm93LWRvd24td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG5cbiAgICAmLmRpci1sZWZ0OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmRpci1kb3duOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBsaW5rLW5vcm1hbFxuLmxpbmstbm9ybWFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gIEBpbmNsdWRlIHBhZCgwIDJweCA0cHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMDAlIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUgMXB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMTBweCkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgfVxuXG4gICYud2hpdGUge1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUgMnB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5X3ZlcnlfZGFyaztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDBweCkpO1xuICAgIH1cbiAgfVxufVxuXG4vL2xpbmstdW5kZXJsaW5lXG4ubGluay11bmRlcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogZW0oMTIpO1xuICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAkb3JhbmdlX2JyaWdodCxcbiAgICAgICRvcmFuZ2VfYnJpZ2h0IDUwJSxcbiAgICAgICRkYXJrX2dyYXlpc2hfcmVkIDUwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDFweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIDApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCxcbiAgICAgICAgJG9yYW5nZV9icmlnaHQsXG4gICAgICAgICRvcmFuZ2VfYnJpZ2h0IDUwJSxcbiAgICAgICAgJGRhcmtfZ3JheWlzaF9yZWQgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMSUgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OS45JTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG4gIH1cblxuICAmLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAgICRvcmFuZ2VfYnJpZ2h0LFxuICAgICAgICAkb3JhbmdlX2JyaWdodCA1MCUsXG4gICAgICAgICR3aGl0ZSA1MCUpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAgICAgJG9yYW5nZV9icmlnaHQsXG4gICAgICAgICAgJG9yYW5nZV9icmlnaHQgNTAlLFxuICAgICAgICAgICR3aGl0ZSA1MCUpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vL2J0bi1iYWNrXG4uYnRuLWJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiBlbSgxMik7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2JhY2stYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQuNXB4IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vYnRuLW1vcmVcbi5idG4tbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiA1MHB4O1xuICBmb250LXNpemU6IGVtKDEyKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvbW9yZS1hcnJvdy5wbmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xufVxuXG5idXR0b24ge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vL3Byb2ZpbGUtdGFiLWxpbmtcbi5wcm9maWxlLXRhYi1saW5rIHtcbiAgZm9udC1zaXplOiByZW0oMTYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgQGluY2x1ZGUgcGFkKDdweCAyM3B4IDdweCAxNXB4KTtcbiAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbn0iLCIiLCIuYmVhbi1vdXItcGFydG5lcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHBhZCgxMDRweCAwIDg4cHgpO1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICB9XG5cbiAgLnBhcnRuZXJzLXdyYXAge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDIpO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgfVxuXG4gIC5wYXJ0bmVycy1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHpvb206IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICBsaW5lLWhlaWdodDogMS40MztcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIHBhZCg2MHB4IDAgNDZweCk7XG5cbiAgICAudGV4dC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLXdyYXAge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMCk7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLWxpc3Qge1xuXG4gICAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgOCk7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoNDBweCAyMHB4KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4NHB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNDJweCAtNDJweCBudWxsIG51bGwpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDEwNCwgNDUsIDAuMTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLXdyYXAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucGFydG5lcnMtbGlzdCB7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDI2cHggMCAwO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy9hbmNob3ItdGFiXG4uYW5jaG9yLXRhYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2ODFweCkge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyMTRweCk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8vIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG5cbiAgICAmLmZvY3VzIHtcblxuICAgICAgbGkge1xuICAgICAgICBjb2xvcjogJGdyYXlfZGFyaztcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBwYWQoMCAwIDE4cHggMCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxMTNtcyBsaW5lYXIpO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFuY2hvci1uYXYge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICB3aWR0aDogM3B4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExM21zIGVhc2Utb3V0KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vcGFnZXJcbi5pdGVtLWxpc3Qge1xuICB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uaXRlbS1saXN0IC5wYWdlciB7XG5cbiAgbGkge1xuICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgQGluY2x1ZGUgc2l6ZSgyNXB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICYucGFnZXItY3VycmVudCxcbiAgICAmOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlci1pdGVtLFxuICAucGFnZXItY3VycmVudCB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICB9XG5cbiAgLnBhZ2VyLWZpcnN0LFxuICAucGFnZXItcHJldmlvdXMsXG4gIC5wYWdlci1lbGxpcHNpcyxcbiAgLnBhZ2VyLW5leHQsXG4gIC5wYWdlci1sYXN0IHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBhIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cblxuICAgICY6bm90KC5wYWdlci1lbGxpcHNpcykge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlci1maXJzdCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcGFnZXItYXctZmlyc3QucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHggYXV0bztcbiAgfVxuXG4gIC5wYWdlci1wcmV2aW91cyB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcGFnZXItYXctcHJldi5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IGF1dG87XG4gIH1cblxuICAucGFnZXItZWxsaXBzaXMge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3BhZ2VyLWVsbGlwc2lzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggYXV0bztcbiAgfVxuXG4gIC5wYWdlci1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9wYWdlci1hdy1uZXh0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1cHggYXV0bztcbiAgfVxuXG4gIC5wYWdlci1sYXN0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9wYWdlci1hdy1sYXN0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMXB4IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luOiAwIDAgNDBweDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgfVxuXG4gICAgLnBhZ2VyLWZpcnN0LFxuICAgIC5wYWdlci1sYXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwiLy9jYXJkXG4uY2FyZCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzgsIDAuMTgsIDAuNDMsIDEpO1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zbGF0ZTogMCAtMTBweDtcblxuICAgIC5jYXJkLXBpY3R1cmUge1xuICAgICAgc2NhbGU6IDE7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMTFweCAxNHB4IDIwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDE2OXB4O1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBwYWRkaW5nOiA2cHggMTBweCAzcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICB9XG5cbiAgJi1waWN0dXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtaW4taGVpZ2h0OiAxNjlweDtcbiAgICBzY2FsZTogMS4wNTtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAwLjNzIGN1YmljLWJlemllcigwLjM4LCAwLjE4LCAwLjQzLCAxKTtcbiAgfVxuXG4gIC50b3BpYyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSlcbiAgfVxuXG4gICYtZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgfVxuXG4gIC5jcmVhdGVkLWRhdGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cblxuICAuY2F0ZWdvcnktd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMik7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IC03cHg7XG4gICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1vcmUtY2F0ZWdvcnkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbjogMCA3cHggM3B4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgbWFyZ2luOiAwIDAgMThweDtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiBjb2xvcihkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMik7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjRweCA2cHggMTZweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cblxufVxuXG4vL2NhcmQtaG9yaXpvbnRhbFxuLmNhcmQtaG9yaXpvbnRhbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzODVweDtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZV8yO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgLmRhdGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSg0MHB4IDEwMCUpO1xuXG4gICAgLmRhdGUge1xuICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKSk7XG4gICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBtaW4taGVpZ2h0OiAxODBweDtcbiAgICBAaW5jbHVkZSBwYWQoMjZweCA0NHB4IDE4cHggMjRweCk7XG4gIH1cblxuICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIG9wYWNpdHk6IDAuOTU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmV0d29yayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSkpO1xuICAgIGJveC1zaGFkb3c6IDAgMzBweCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTZweCAyMHB4IDE1cHgpO1xuICAgIH1cblxuICAgIC5uZXR3b3JrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICAgIH1cbiAgfVxufVxuXG4vL2NhcmQtc3F1YXJlXG4uY2FyZC1zcXVhcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL2JhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMjVweCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgfVxuXG4gIC5pY29uIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICB9XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41M3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSkpO1xuICAgIGJveC1zaGFkb3c6IDAgMzBweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTJweCk7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA3cHg7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjVweCk7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cbn1cblxuLy9jYXJkLWxvZ2luXG4uY2FyZC1sb2dpbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHBhZCgzNHB4IDIwcHggMzNweCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgei1pbmRleDogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodDtcbiAgICBvcGFjaXR5OiAwLjkzO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUzcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7XG4gICAgYm94LXNoYWRvdzogMCAzMHB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICB9XG59XG5cbi8vZW1haWwtc3Vic2NyaXB0aW9uXG4uZW1haWwtc3Vic2NyaXB0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBwYWQoNjRweCAyMXB4IDEwMHB4IDMxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgLmJhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2VtYWlsLXN1YnNjcmlwdGlvbi5qcGcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgei1pbmRleDogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICB9XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMjEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCA0NHB4IDUwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMDUpKTtcblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCg0M3B4IDI2cHggMzhweCk7XG5cbiAgICAudGl0bGUge1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgaW5oZXJpdCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG4gICAgfVxuICB9XG59XG5cbi8vY2FyZC10ZWFtXG4uY2FyZC10ZWFtIHtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4zcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2xhdGU6IDAgLTE1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IHJnYmEoMjUsIDMyLCA1NiwgMC4wOCk7XG5cbiAgICAuY2FyZC10ZWFtLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cblxuICAgIC5jYXJkLXRlYW0tZGVzYyxcbiAgICAuY2FyZC10ZWFtLXNhbHV0YXRpb24sXG4gICAgLmNhcmQtdGVhbS1wb3NpdGlvbixcbiAgICAuY2FyZC10ZWFtLW5hbWUge1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKVxuICAgIH1cbiAgfVxuXG4gICYtZmlndXJlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMTkxcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgQGluY2x1ZGUgcGFkKDEwcHggMjBweCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmLXBvc2l0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICBjb2xvcjogY29sb3IoZGFya192ZXJ5X2dyYXlpc2hfcmVkXzMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYtc2FsdXRhdGlvbiB7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYtbGluayB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vY2FyZC10ZWFtLWRldGFpbFxuLmNhcmQtdGVhbS1kZXRhaWwge1xuICB3aWR0aDogODAlO1xuICBtYXgtd2lkdGg6IDc1NXB4O1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiA2MHB4IDc1cHggIWltcG9ydGFudDtcblxuICAudGVhbS1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHNpemUoMTg4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC50ZWFtLWltYWdlLXdyYXBwZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgzNXB4KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDEwNCwgNDUsIDAuNzUpO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDIwcHggNXB4IG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vZGUtdHlwZS1uZXR3b3Jrcy1sYW5kaW5nICYge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODVweCAtIDQ1cHgpO1xuXG4gICAgLnNhbHV0YXRpb24ge1xuICAgICAgY29sb3I6ICM2NjYyNjI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNjY2MjYyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcblxuICAgIC50ZWFtLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDtcblxuICAgICAgLnRlYW0taW1hZ2Utd3JhcHBlciAuaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE4OHB4KTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi8vY2FyZC10ZWFtLXNsaWNrLXdyYXBwZXJcbi5jYXJkLXRlYW0tc2xpY2std3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBtYXJnaW46IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICBAaW5jbHVkZSBzaXplKDc1NXB4IGF1dG8pO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICYuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9jbG9zZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC0yMHB4IG51bGwgbnVsbCk7XG4gIH1cblxuICAudGVhbS1zbGljayB7XG5cbiAgICAuaXRlbSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNjBweCA4MnB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG5cbiAgICAudGVhbS1pbWFnZSxcbiAgICAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC50ZWFtLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTg4cHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzVweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDEwNCwgNDUsIDAuNzUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAyMHB4IDVweCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgLnRlYW0taW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA4LCAyMDcsIDIwOSwgMC40NCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDEwKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40NHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1hcnJvdyB7XG4gICAgQGluY2x1ZGUgc2l6ZSg0MnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cblxuICAgICYuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogLTkycHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zbGlkZS1hcnJvdy1uZXh0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3LjdweCBhdXRvO1xuICAgIH1cblxuICAgICYuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAtOTJweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL3NsaWRlLWFycm93LXByZXYucG5nJykgbm8tcmVwZWF0IGNlbnRlciAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcuN3B4IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vdGV4dC1ncm91cFxuLnRleHQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTBweCA5cHggMjBweCAxNnB4KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuXG4gICoge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjI2KTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuXG4gICAgLmxpbmstd3JhcHBlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICBoMyxcbiAgICAuaW5mb3JtYXRpb24sXG4gICAgcCB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5saW5rLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMHB4IDlweCBudWxsIG51bGwpO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jbG9zZSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwcHggMTlweCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIHNpemUoMTNweCAzcHgpO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIC0xNnB4KTtcbiAgICAgIEBpbmNsdWRlIHNpemUoM3B4IDE1cHgpO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvcm1hdGlvbiB7XG4gICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cbn0iLCIiLCIuaWNvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgLmhlYWRpbmcsIC5pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGVtKDEwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjU1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDAgNHB4IDAgMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHNpemUoMzFweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrX2dyYXlpc2hfdmlvbGV0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0zNSUpKTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgMCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi5kZWFjdGl2YXRlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAmLmFjdGl2YXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZGFyaztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICB9XG5cbiAgICAgICYuaWNvbi11cGNvbWluZy1ldmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2ljb24tdXBjb21pbmctZXZlbnQtZGFyay5wbmcnKTtcbiAgICAgIH1cblxuICAgICAgJi5pY29uLXB1YmxpY2F0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi1wdWJsaWNhdGlvbi1kYXJrLnBuZycpO1xuICAgICAgfVxuXG4gICAgICAmLmljb24tbmV3cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2ljb24tbmV3cy1kYXJrLnBuZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWNvbi11cGNvbWluZy1ldmVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9pY29uLXVwY29taW5nLWV2ZW50LnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMi41cHggYXV0bztcbiAgICB9XG5cbiAgICAmLmljb24tcHVibGljYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi1wdWJsaWNhdGlvbi5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCBhdXRvO1xuICAgIH1cblxuICAgICYuaWNvbi1uZXdzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2ljb24tbmV3cy5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIuM3B4IGF1dG87XG4gICAgfVxuICB9XG59IiwiLmJhbm5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi1jb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMzI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzJweCAyNHB4IDI0cHggMjRweCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYmFubmVyLWltYWdlIHtcbiAgICAgICAgc2NhbGU6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1maWd1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLmlzLWJsdWUtZmlsdGVyICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGNvbWJpel9ibHVlKSwgMC44KTtcbiAgICAgIH1cblxuICAgICAgLmlzLXdoaXRlLWZpbHRlciAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjOTc5Nzk3LCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzI1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgc2NhbGU6IDEuMTtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAwLjVzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMjhweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDM0ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjRweCA4cHggMTZweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3IoY29tYml6X2JsdWUpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYmFubmVyLW5vbmUge1xuXG4gIHBhZGRpbmc6IDIwMHB4IDAgOTJweDtcbiAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBtYXgtd2lkdGg6IDU1NXB4O1xuICB9XG5cbiAgLnRleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQyNXB4O1xuICAgIGhlaWdodDogNDI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNDI1cHg7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBvcGFjaXR5OiAwLjA4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMDBweDtcbiAgICByaWdodDogMzAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogNTBweCAyMHB4O1xuICB9XG59XG5cbi5iYW5uZXItYmFzaWMge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihjb21iaXpfYmx1ZSksIDAuOTgpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDUycHggMCk7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG59IiwiLmdhbGxlcnkge1xuXG4gIC5pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDExcHggMTFweCAwO1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjJweCkgLyAzKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5nYWxsZXJ5LXNsaWNrLXdyYXBwZXIge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICBAaW5jbHVkZSBwYWQoMjBweCAxOXB4IDApO1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCAwIDAgMCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAuY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9jbG9zZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCBudWxsKTtcbiAgfVxuXG4gIC5nYWxsZXJ5LXNsaWNrLWZvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuXG4gICAgLml0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5LGJsb2NrLWNvbGxhcHNlKTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzLGJsb2NrLWNvbGxhcHNlKTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwIDIxcHggMjNweCk7XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMjNweCAyMXB4KTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nYWxsZXJ5LXNsaWNrLW5hdiB7XG5cbiAgICAuaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNDRweCkgLyAxMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5zbGljay1jdXJyZW50IHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgei1pbmRleDogMjA7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDUwJSAwIG51bGwgMCk7XG4gIH1cblxuICAuc2xpY2stYXJyb3cge1xuICAgIEBpbmNsdWRlIHNpemUoMzBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cblxuICAgICYuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zbGlkZS1hcnJvdy1uZXh0LTIucG5nJykgbm8tcmVwZWF0IGNlbnRlciAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcuN3B4IGF1dG87XG4gICAgfVxuXG4gICAgJi5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvc2xpZGUtYXJyb3ctcHJldi0yLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3LjdweCBhdXRvO1xuICAgIH1cbiAgfVxufSIsIi5mYXEtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjVweCAwIDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5mYXEtY2F0ZWdvcnkge1xuICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcbiAgfVxuXG4gIC5mYXEtaXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X2xpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi50b2dnbGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgxNXB4IDAgMzBweCk7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwIDAgMzBweCk7XG4gICAgICB9XG5cbiAgICAgIC5xdWVzdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuXG4gICAgICAgIC5idG4tdG9nZ2xlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy90b2dnbGUtY2xvc2UucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFuc3dlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5xdWVzdGlvbiB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcbiAgICB9XG5cbiAgICAuYnRuLXRvZ2dsZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDI2cHgpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL3RvZ2dsZS1vcGVuLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmFuc3dlciB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuXG4gICAgLmZhcS1jYXRlZ29yeSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43N3B4O1xuICAgIH1cblxuICAgIC5mYXEtaXRlbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICYudG9nZ2xlZCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgxMHB4IDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5xdWVzdGlvbiB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbnN3ZXIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICB9XG4gIH1cbn0iLCIubG9naW4td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTU7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSBzaXplKDc1MHB4IGF1dG8pO1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgNTAlIDAgbnVsbCAwKTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICBvcGFjaXR5OiAwLjEyO1xuICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDQycHgpKTtcbiAgICBAaW5jbHVkZSBzaXplKDMxNnB4KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIC01MHB4IDApO1xuICB9XG5cbiAgLmNsb3NlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvY2xvc2Uuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMHB4KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAtMjBweCBudWxsIG51bGwpO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLndyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgQGluY2x1ZGUgc2l6ZSgzMSUgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDJweCkpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwxMTYsNTgsMC45Mik7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzElKTtcbiAgICBAaW5jbHVkZSBwYWQoMjhweCA3N3B4IDY3cHggNTRweCk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzMDAwcHgpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIC0yOHB4KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC50YWIge1xuICAgIG1hcmdpbjogMCAwIDc4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBsaSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgIHNwYW4sIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi4yNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICB9XG5cbiAgICAgICYuY3VycmVudCxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG5cbiAgICAgICAgc3BhbiwgaDQge1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMCAyMi41cHggMCA1NS41cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5mb3JnZXQtcHdkIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICB9XG4gIH1cbn0iLCIuY2FydCB7XG4gIHdpZHRoOiAyODBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlXzI7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgcGFkKDE0cHggMjFweCAyM3B4IDE3cHgpO1xuXG4gIC5pdGVtIHtcbiAgICBAaW5jbHVkZSBwYWQoMTZweCAwIDE5cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgfVxuXG4gIC5uYW1lLCAucHJpY2UsXG4gIC5kZXNjcmlwdGlvbixcbiAgLmRpc2NvdW50LXByaWNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG5cbiAgICAmLnByaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cblxuICAuY2F0ZWdvcnkge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIH1cblxuICBhIHtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgfVxuXG4gIC5kaXNjb3VudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgfVxuXG4gIC50b3RhbC1wcmljZSB7XG4gICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMzhweDtcbiAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufSIsIi5jb21wYW55LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogY29sb3IoY29tYml6X2JsdWUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiA0MjVweDtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgbWluLWhlaWdodDogMzI1cHg7XG4gIH1cblxuXG4gICYtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcGFkKDg3cHggMCA3NXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgcGFkKDI3cHggMClcbiAgICB9XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzFweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSg0OXB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40MXB4O1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA3ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIH1cbiAgfVxuXG4gICYtcHJvZmlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgd2lkdGg6IDI0NHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDI0NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgcGFkKDIwcHggMjBweCAwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogMTQycHg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDE0MnB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDEwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbi11cGxvYWQsXG4gICYtYnV0dG9uLWNhbmNlbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpXG4gIH1cblxuICAmLWJ1dHRvbi11cGxvYWQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExcHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIHotaW5kZXg6IDM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDY3cHg7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICB9XG5cbiAgLmxvZ28td3JhcCB7XG5cbiAgICBbbmFtZT1cImxvZ29fdXBsb2FkX2J1dHRvblwiXSxcbiAgICAuZm9ybS1maWxlIHtcbiAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnVwbG9hZC1sb2dvLWJ1dHRvbixcbiAgICAuY2FuY2VsLXVwbG9hZC1sb2dvLWJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBmb3JtLFxuICAgIC5jYW5jZWwtdXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgfVxuICAgIH1cblxuICAgICYuZm9ybS12aXNpYmxlIHtcblxuICAgICAgZm9ybSB7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWZpbGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tbWFuYWdlZC1maWxlIC5maWxlIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jYW5jZWwtdXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W25hbWU9XCJsb2dvX3VwbG9hZF9idXR0b25cIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICAudXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgICYuZm9ybS12aXNpYmxlIHtcbiAgICAgICAgdG9wOiAtIDMwcHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnVwbG9hZC1sb2dvLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC8vIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMTJweCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zdWJtaXQge1xuICAgIEBleHRlbmQgLnNlY29uZGFyeS1jYWxsLWFjdGlvbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmNvbXBhbnktaGVhZGVyLW1ldGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTgpO1xuICAgIHBhZGRpbmc6IDExcHggMCA3cHg7XG4gICAgei1pbmRleDogMztcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY29tcGFueS1oZWFkZXItbWVtYmVyc2hpcHMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3Zpb2xldDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjk1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfdmlvbGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcGFueS1oZWFkZXItaW5kdXN0cmllcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBwYWQoMCAxMXB4KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDIwcHggOXB4O1xuXG4gICAgICAuY29tcGFueS1oZWFkZXItaW5kdXN0cmllcyxcbiAgICAgIC5jb21wYW55LWhlYWRlci1tZW1iZXJzaGlwcyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbXBhbnktaGVhZGVyLW1lbWJlcnNoaXBzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb21wYW55LWhlYWRlci1pbmR1c3RyaWVzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgNHB4IDAgMTBweDtcblxuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAvLyAgIEBpbmNsdWRlIHBhZCg0NXB4IDE2cHggNzBweCAyMnB4KTtcblxuICAvLyAgICY6YmVmb3JlIHtcbiAgLy8gICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjA4KTtcbiAgLy8gICAgIEBpbmNsdWRlIHNpemUoMzA1cHgpO1xuICAvLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDc1cHggLTk2cHggbnVsbCBpbmhlcml0KTtcbiAgLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcbiAgLy8gICB9XG5cbiAgLy8gICAmOmFmdGVyIHtcbiAgLy8gICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZV8yO1xuICAvLyAgICAgb3BhY2l0eTogMTtcbiAgLy8gICAgIEBpbmNsdWRlIHNpemUoMzU2cHgpO1xuICAvLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zMHB4IG51bGwgbnVsbCAtMTQ4cHgpO1xuICAvLyAgIH1cbiAgLy8gfVxufSIsIi5jYXJkLWZvY3VzIHtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDQxLjYlO1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzU4cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIC8vIHdpZHRoOiByZW0oMTM5KTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgQGluY2x1ZGUgcGFkKDM3cHggMzVweCAyMHB4IDE4cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjBweCAzNXB4IDExcHggMThweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDhweCAxNnB4IDI0cHggMTZweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI0ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cblxuICAmLWljb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwIDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjdlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG5cbiAgJi1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDMxcHg7XG4gICAgaGVpZ2h0OiAzMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihkYXJrX2dyYXlpc2hfdmlvbGV0KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNsYXRlOiAwIC0xOHB4XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZm9udC1zaXplOiByZW0oOXB4KTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmLmljb24tdXBjb21pbmctZXZlbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi11cGNvbWluZy1ldmVudC5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIuNXB4IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2LjVweCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWNvbi1wdWJsaWNhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9pY29uLXB1YmxpY2F0aW9uLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pY29uLW5ld3Mge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi1uZXdzLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMi4zcHggYXV0bztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA2cHggMTVweCk7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDdweCAyMnB4IDdweCAxNnB4KTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIH1cbiAgfVxufSIsIi5jYXJkLW1lbWJlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gIC8vIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgcGFkKDI3cHggMjBweCA0MHB4KTtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0ZWFsO1xuICB9XG5cbiAgLmltYWdlLXdyYXAge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAubWVtYmVyLW5ldHdvcmtzIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgY29sb3I6ICRjb2xvcl9fbWFpbjtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cblxuICAubGluay1ub3JtYWwge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMjBweCAxOXB4KTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7XG4gICAgYm94LXNoYWRvdzogMCA1MHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4gICAgLmltYWdlLXdyYXAge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjBweCAxM3B4IDEzcHgpO1xuICAgIH1cblxuICAgIC5pbWFnZS13cmFwIHtcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuZGV0YWlsIHtcbiAgICAvLyAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLy8gICBtYXJnaW46IDAgMCAwIDZweDtcbiAgICAvLyAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgIC8vICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAvLyB9XG5cbiAgICAubWVtYmVyLW5ldHdvcmtzIHtcblxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5saW5rLW5vcm1hbCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgaW5oZXJpdCk7XG4gICAgfVxuICB9XG59IiwiLmNhcmQtY2FtcGFpZ24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAvLyBAaW5jbHVkZSBvbWVnYSgybik7XG4gIC8vIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgLy8gbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAvLyAmOmJlZm9yZSB7XG4gIC8vICAgY29udGVudDogJyc7XG4gIC8vICAgQGluY2x1ZGUgc2l6ZSgxOTZweCk7XG4gIC8vICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgLy8gICBAaW5jbHVkZSBmaWx0ZXIoYmx1cig0MnB4KSk7XG4gIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtMjdweCAxMTZweCk7XG4gIC8vIH1cblxuICAvLyAmOmhvdmVyIHtcblxuICAvLyAgIC5jb250YWluZXIge1xuICAvLyAgICAgYm94LXNoYWRvdzogMCA1MHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAvLyAgIH1cblxuICAvLyAgIC5pbWFnZSB7XG4gIC8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xKSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuICB9XG5cbiAgLmltYWdlX3dyYXBwZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNDIsIDExNiwgNTgsIDAuODkpIDQyJSwgcmdiYSgyNTUsIDEzNCwgODEsIDAuNTYpIDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm5vLWJnIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvY2FtcGFpZ24tYmcuanBnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IDg3cHg7XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODBweCk7XG4gICAgQGluY2x1ZGUgcGFkKDI4cHggMzBweCA2MHB4IDI4cHgpO1xuXG4gICAgLmZvY3VzIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ3cHg7XG4gICAgICBjb2xvcjogJGNvbG9yX19tYWluO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuc3VtbWFyeSB7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgfVxuXG4gICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIEBpbmNsdWRlIHBhZCg3cHggMTNweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDIwcHggMjhweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDg3cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMCUpO1xuICAgICAgQGluY2x1ZGUgcGFkKDE2cHggMThweCAyM3B4KTtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgfVxuXG4gICAgICAuc3VtbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIH1cblxuICAgICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgICBsZWZ0OiAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmNhcmQtY2FtcGFpZ24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IDQ5MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA0NzVweDtcbiAgICB9XG4gIH1cblxuICAmLWxlZnQge1xuICAgIG1heC13aWR0aDogNjY2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gZmxleC1zaHJpbms6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3JhaW5ib3cuanBnJyk7XG4gICAgQGluY2x1ZGUgcGFkKDMzcHggMzlweCA2M3B4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihkYXJrX2dyYXlpc2hfcmVkKSwgMC41KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDMzcHggMjBweCA2M3B4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB3aWR0aDogNTUlO1xuICAgICAgQGluY2x1ZGUgcGFkKDEycHggMTNweCAzMnB4KTtcbiAgICB9XG5cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgzNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIyO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG4gIH1cblxuICAmLXJpZ2h0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIEBpbmNsdWRlIHBhZCgyNHB4IDcxcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDI1cHgpO1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTZweCA5cHgpO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgd2lkdGg6IDQ4JTtcbiAgICB9XG5cbiAgfVxuXG4gICYtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuICB9XG5cbiAgJi1pbml0aWF0aXZlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBtYXgtd2lkdGg6IDM5MnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5zdW1tYXJ5e1xuICAgICAgdWwsIG9se1xuXG5cbiAgICAgICAgbGl7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTA0ODdhO1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGE6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJi1wYXIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyLjhweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMDVlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICB9XG5cbiAgJi1jdGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA3cHggMTVweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmNhcmQtaW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cblxuICAmLWZyYW1lIHtcbiAgICAvLyB3aWR0aDogMjE0cHg7XG4gICAgd2lkdGg6IDQwLjklO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IHJlbSgxNzkpO1xuICAgIH1cblxuICAgICYtaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAzNThweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0NXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMzhweCA0NXB4IDYxcHggMThweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyMHB4IDQ1cHggMjBweCAxOHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoOHB4IDhweCAyNHB4IDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiAjMzIzMjMyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDMxcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cblxuICAmLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDIzcHggN3B4IDE1cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufSIsIi50ZXN0aW1vbmlhbHMtc2xpZGVyLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogLTM1cHg7XG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDZweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoN3B4KTtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG1hcmdpbjogMjVweCAwO1xuICB9XG5cbiAgLmxhbmRpbmctc2xpZGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cblxuLnRlc3RpbW9uaWFscy1zbGlkZXItcHJldiwgLnRlc3RpbW9uaWFscy1zbGlkZXItbmV4dCB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiA2cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBAaW5jbHVkZSBzaXplKDQycHgpO1xuXG4gIHN2ZyB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBzaXplKDMwcHgpO1xuICB9XG59XG5cbi50ZXN0aW1vbmlhbHMtc2xpZGVyLXByZXYge1xuICBsZWZ0OiAyMHB4O1xufVxuXG4udGVzdGltb25pYWxzLXNsaWRlci1uZXh0IHtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi50ZXN0aW1vbmlhbHMtc2xpZGUge1xuICBwYWRkaW5nOiA0MHB4IDc1cHg7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLnRleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLnRleHQtZnVsbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGVzdGltb25pYWxzLXNpbmdsZS1oZWFkZXIge1xuICBmb250LXNpemU6IHJlbSgxMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCJwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS43MTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY5O1xuICB9XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiBlbSgzNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGxldHRlci1zcGFjaW5nOiAtMS4yM3B4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IGVtKDMxKTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTEuMDlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC43N3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG5zdHJvbmcge1xuICBmb250LXNpemU6IHJlbSgxNSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY3O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaCB7XG4gIEBpbmNsdWRlIHBhZCgwIDAgMTAwcHgpO1xuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5pbnRyb2R1Y3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc0O1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gICAgLm5vZGUtdHlwZS1jYW1wYWlnbi1wcm9ncmFtbWUgJiB7XG4gICAgICBjb2xvcjogY29sb3IoZGFya19ncmF5aXNoX3JlZCk7XG4gICAgfVxuXG4gICAgLnBhZ2Utbm9kZS0xMzYyICYge1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB9XG5cbiAgICAuZXZlbnRzLWxhbmRpbmctcGFnZSAmIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC8qXG4gIHVsOm5vdCguc2xpY2stZG90cykge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaTpub3QoLm9yYW5nZS1saXN0LXN0eWxlIC50aWNrZXQpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9saXN0LWRvdC5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCBhdXRvO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICovXG59XG5cbi5wYXJhZ3JhcGgtdGV4dCB7XG5cbiAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5saW5rcyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgIGEge1xuICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgcGFkZGluZzogMTNweCA0MnB4IDExcHggMzNweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4ucGFyYWdyYXBoLWxpc3Qge1xuICBtYXJnaW46IDMwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gIH1cblxuICAudGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC1ldmVudHMge1xuXG4gIC5jYXJkLWhvcml6b250YWwtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNzVweCwgMWZyKSk7XG4gICAgZ2FwOiAxMHB4IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLXRvcGljIHtcbiAgICBtaW4taGVpZ2h0OiAzMThweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1heC13aWR0aDogMjg2cHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAudG9waWMtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLnNlY29uZGFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoLW1lbWJlcnMge1xuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG5cbiAgdWwubWVtYmVyLWxpc3Qge1xuICAgIG1hcmdpbjogMjVweCAwIDIzcHg7XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBzaXplKDgwcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICB1bC5tZW1iZXItbGlzdCB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcblxuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoODBweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYXJhZ3JhcGgtcHVibGljYXRpb25zIHtcblxuICBoNCB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIG1hcmdpbjogMjYuNXB4IDAgMjhweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gIH1cblxuICAucGFyYWdyYXBoLXB1YmxpY2F0aW9ucy1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIC5tZXRhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgIG1hcmdpbjogMCAzcHggMCAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIGg0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5wYXJhZ3JhcGgtZ2FsbGVyeSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAzKTtcbiAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDcwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgLmltZyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW1nIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICB9XG5cbiAgLmdhbGxlcnktY291bnQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgfVxuXG4gIC5vcGVuLWdhbGxlcnktbGluayB7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAuaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDE1cHgpIC8gMik7XG4gICAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcblxuICAgIC5pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweDtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub3JhbmdlLWxpc3Qtc3R5bGUge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICBmb250LXNpemU6IHJlbSgxMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xLjVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLnByYWN0aWNhbC1pbmZvcm1hdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgcGFkZGluZzogNDBweCAzNnB4O1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGRsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJG9yYW5nZV9icmlnaHRfMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBkZCB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLnBhcmFncmFwaC10ZXh0IC50ZXh0IHVsIHtcbiAgQGluY2x1ZGUgYnVsbGV0LXBvaW50cygpO1xufVxuXG4jcGFyYWdyYXBoLTQsXG4jcGFyYWdyYXBoLTYsXG4jcGFyYWdyYXBoLTgge1xuICAmIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTVweDtcbiAgfVxuXG4gICYgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDIwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuI3BhcmFncmFwaC03IHtcblxuICAmIHVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiAyMHB4IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogOTRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAmIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDE0NHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBAaW5jbHVkZSBwYWQoMThweCAxNnB4KTtcblxuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoLmludHJvZHVjdGlvbiB7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiByZW0oMTUpO1xuICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4ucGFyYWdyYXBoLWRldGFpbHMge1xuICBtYXJnaW46IDUwcHggMDtcbiAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICBwYWRkaW5nOiA0NXB4IDMzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICBkbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICB9XG5cbiAgZHQsXG4gIGRkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgZHQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2lkdGg6IDEyMHB4O1xuICB9XG5cbiAgZGQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgfVxuXG59XG5cbi5wYXJhZ3JhcGgtaWNvbi1saXN0IHtcblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICB9XG5cbiAgdWwge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtYWN0aXZpdGllcyB7XG5cbiAgaDMuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIG1hcmdpbjogMzBweCAwO1xuICB9XG5cbn1cblxuLnBhcmFncmFwaC1zcGVha2VycyB7XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSBzaXplKDExOXB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMTlweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgYS5mYW5jeWJveCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRvcmFuZ2VfYnJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5ldmVudC1zcGVha2VycyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZXZlbnQtc3BlYWtlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgcGFkKDE3cHggMTBweCAxNHB4IDI4cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTRweCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuZXZlbnQtc3BlYWtlci1qb2ItdGl0bGUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAudGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoODRweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5ldmVudC1zcGVha2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBwYWQoMTZweCAwKTtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuZXZlbnQtc3BlYWtlci1qb2ItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxufVxuXG4ubWFpbi13aXRoLXNpZGViYXI+LnlvdXR1YmUtY29udGFpbmVyLS1yZXNwb25zaXZlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn0iLCJAbWl4aW4gZmlsdGVyLXdpZHRoKCRuKSB7XG5cbiAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRufSksXG4gICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skbn0pfi52aWV3cy1leHBvc2VkLXdpZGdldCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLnBhZ2Utc3R5bGUge1xuXG4gIC52aWV3LWZpbHRlcnMge1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTM1cHggbnVsbCBudWxsIDApO1xuICAgIC8vIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAudmlld3MtZXhwb3NlZC13aWRnZXRzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudmlld3MtZXhwb3NlZC13aWRnZXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDE4cHggMjhweCAxMHB4IDI0cHgpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcblxuICAgICAgLy8gSW5jbHVkaW5nIHN1Ym1pdCBidXR0b24gd2hpY2ggaXMgaGlkZGVuXG4gICAgICBAaW5jbHVkZSBmaWx0ZXItd2lkdGgoMykge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmaWx0ZXItd2lkdGgoNCkge1xuICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZpbHRlci13aWR0aCg1KSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZpbHRlci13aWR0aCg2KSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNXB4IG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDNweCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuXG4gICAgICAmLmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KC52aWV3cy1zdWJtaXQtYnV0dG9uKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfYmx1ZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAgICY6bm90KC52aWV3cy13aWRnZXQtZmlsdGVyLXRpdGxlX2ZpZWxkX3ZhbHVlKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuXG5cblxuICAgIH1cblxuICAgICNlZGl0LWZpZWxkLW5ld3MtdHlwZS10YXJnZXQtaWQtd3JhcHBlcntcbiAgICAgIHotaW5kZXg6IDUwO1xuXG4gICAgICAubmV3cy1sYWJlbHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAuYmVmLXNlbGVjdC1hcy1jaGVja2JveGVze1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICB3aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG5cbiAgICAgICAgLmJlZi10b2dnbGV7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYmVmLWNoZWNrYm94ZXN7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1pdGVte1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IDAgMTBweDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjNTQ1MTUxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFjdGlvbnN7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDEwcHggMCAtNXB4O1xuICAgICAgfVxuXG4gICAgICAmLm9wZW57XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC5iZWYtc2VsZWN0LWFzLWNoZWNrYm94ZXN7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC8vIFNlYXJjaCBpbnB1dFxuICAgIC52aWV3cy13aWRnZXQtZmlsdGVyLXRpdGxlX2ZpZWxkX3ZhbHVlLFxuICAgIC52aWV3cy13aWRnZXQtZmlsdGVyLWtleXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTFweCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzM3B4IDI1cHggbnVsbCBudWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBlYXNlLW91dCk7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tdGV4dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MC41cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3BsdXMucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAudmlld3Mtd2lkZ2V0IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDFweCAyOHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgMCA0MHB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoOXB4IDI3cHggOHB4IDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpbHRlciBPcmRlciBieSAmJiBGaWx0ZXIgU3VibWl0IGJ1dHRvblxuICAgIC52aWV3cy1zdWJtaXQtYnV0dG9uLFxuICAgIC52aWV3cy13aWRnZXQtc29ydC1vcmRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3QyXG4gICAgLnNlbGVjdDIge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM4cHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc29ydC1hcnJvdy5zdmcnKSBuby1yZXBlYXQgcmlnaHQgN3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNi41cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgd2lkdGg6IDk5OTlweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM4cHg7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgICAgICAgLnNlbGVjdDItc2VhcmNoLnNlbGVjdDItc2VhcmNoLS1pbmxpbmU6bm90KDpvbmx5LWNoaWxkKSxcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblxuICAgICAgJi5tb2JpbGUtdG9nZ2xlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxMDVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA2ODBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuOSk7XG4gICAgICAgIH1cblxuICAgICAgICAudmlld3MtZXhwb3NlZC13aWRnZXQ6bm90KC52aWV3cy13aWRnZXQtZmlsdGVyLXRpdGxlX2ZpZWxkX3ZhbHVlLCAudmlld3Mtc3VibWl0LWJ1dHRvbikge1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjZweCAxNXB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudmlld3Mtd2lkZ2V0LXNvcnQtYnkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudmlld3Mtd2lkZ2V0LFxuICAgICAgICAgIC5mb3JtLWl0ZW0tc29ydC1ieSAuc2VsZWN0MiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgOXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aWV3cy1zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggMjVweDtcbiAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmlld3Mtd2lkZ2V0LWZpbHRlci10aXRsZV9maWVsZF92YWx1ZSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB0b3A6IDI1cHg7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgICAgICYubW9iaWxlLXRvZ2dsZWQge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgLnZpZXdzLXdpZGdldC1maWx0ZXItdGl0bGVfZmllbGRfdmFsdWUge1xuICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VsZWN0IDIgY29udGFpbmVyXG4uc2VsZWN0Mi1jb250YWluZXIge1xuXG4gIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgLy93aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgcGFkKDE2cHggMCAxOHB4KTtcbiAgICB0b3A6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6bm90KC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSkge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgyNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMnB4IG51bGwgbnVsbCBjYWxjKDUwJSAtIDUwcHgpKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9vcHRpb25zLWFycm93LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1yZXN1bHRzIHtcblxuICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMTBweCAxMHB4IDhweCA1MHB4KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9vcHRpb24tbm9uLnBuZycpIG5vLXJlcGVhdCAyM3B4IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL29wdGlvbi1hY3RpdmUucG5nJykgbm8tcmVwZWF0IDIzcHggY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCBhdXRvO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiA0NTBweCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBsZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAuc2VsZWN0Mi1kcm9wZG93biB7XG5cbiAgICAgIC5zZWxlY3QyLXJlc3VsdHMge1xuXG4gICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDhweCAxMHB4IDZweCAzOHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxOHB4IDEycHg7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuXG4gICAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxOHB4IDEycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1vYmlsZSBmaWx0ZXIgY2xvc2Vcbi5tb2JpbGUtZmlsdGVyLWNsb3NlIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zMHB4IDAgbnVsbCBudWxsKTtcbiAgQGluY2x1ZGUgc2l6ZSgxMHB4KTtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICByaWdodDogMjBweDtcbiAgfVxufVxuXG4vLyAudmlldy1uZXdzLXB1YmxpY2F0aW9ucyB7XG5cbi8vICAgLnZpZXctZmlsdGVycyB7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4vLyAgICAgcG9zaXRpb246IHN0YXRpY1xuLy8gICB9XG5cbi8vICAgLnZpZXctZmlsdGVycy1pbm5lciB7XG4vLyAgICAgQGluY2x1ZGUgcGFkKDMxcHggMCAzMnB4KTtcbi8vICAgfVxuLy8gfVxuXG4udmlldy1maWx0ZXJzLWlubmVyIHtcbiAgQGluY2x1ZGUgcGFkKDMxcHggMCAzMnB4KTtcbn1cbiIsIi5mYW5jeWJveC1jb250YWluZXIge1xuXG4gIC5mYW5jeWJveC1iZyB7XG4gICAgYmFja2dyb3VuZDogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICB9XG5cbiAgLmZhbmN5Ym94LXNsaWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmZhbmN5Ym94LXRlc3RpbW9uaWFsIHtcbiAgICBAaW5jbHVkZSBwYWQoMCAyMHB4KTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgIEBpbmNsdWRlIHBhZCg2MHB4IDgycHgpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg1MHB4KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjVweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ZhbmN5LWNsb3NlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnByZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiBlbSgxMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjE7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgfVxuXG4gIC5jYXJkLWltYWdlLWxpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG59IiwiLnNvY2lhbC1tZWRpYV9faWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgc2l6ZSgzM3B4KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDJweCAxNnB4IDAgMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDMzcHg7XG5cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgc2l6ZSgyNHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAzM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHotaW5kZXg6IGluaXRpYWw7XG5cbiAgICAmOmhvdmVyIHtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMjhweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMzcHg7XG4gICAgICAgIG1hcmdpbjogLTE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIEBpbmNsdWRlIHNpemUoMCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzKTtcbiAgfVxuXG4gIHBhdGgge1xuICAgIGZpbGw6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzM3B4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMzcHg7XG4gICAgICBtYXJnaW46IC0xNi41cHg7XG4gICAgfVxuICB9XG5zdmd7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4gICYudHdpdHRlcntcbiAgICBzdmd7XG4gICAgICB3aWR0aDoyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYuaW5zdGFncmFte1xuICAgIHN2Z3tcbiAgICAgIHdpZHRoOjE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgfVxuICB9XG4gICYueW91dHViZXtcbiAgICBzdmd7XG4gICAgICB3aWR0aDoyMXB4O1xuICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiI2NvbW1lbnRzIHtcbiAgQGluY2x1ZGUgcGFkKDQ3cHggNDhweCA0M3B4IDQ1cHgpO1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAuY29tbWVudC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICAudGV4dCB7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICB9XG5cbiAgLmZvcm0tdHlwZS10ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwIDAgMTFweDtcblxuICAgIC50ZXh0LWZ1bGwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDExcHggMCAzMHB4O1xuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICAgIEBpbmNsdWRlIHBhZCg4cHggMTNweCA2cHggMTRweCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQge1xuICAgIEBpbmNsdWRlIHBhZCgyMHB4IDAgMCk7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgfVxuXG4gICAgLnN1Ym1pdHRlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIC5jcmVhdGVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taXRlbS1uYW1lLFxuICAuZ3JpcHBpZSwgLmxpbmtzLFxuICAudGl0bGUsIGxhYmVsLFxuICAud2FybmluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHgpO1xuXG4gICAgLmNvbW1lbnQtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgIC51c2VybmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS10eXBlLXRleHRhcmVhIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG5cbiAgICAuY29tbWVudCB7XG5cbiAgICAgIC5zdWJtaXR0ZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3JlYXRlZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc2hhcmUtd3JhcHBlciB7XG4gIG1hcmdpbjogMTAwcHggMDtcblxuICAuc3BhbiwgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgQGluY2x1ZGUgc2l6ZSgzM3B4KTtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIH1cblxuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8yO1xuICAgIHBhZGRpbmc6IDRweCAwIDAgOXB4O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG5cbiAgICAuamlhdGhpc190eHQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcsIGcge1xuICAgICAgZmlsbDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgbWFyZ2luOiA2MHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggNDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAudGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICB9XG4gIH1cbn0iLCIub3JhbmdlLWJhbm5lciB7XG4gIHBhZGRpbmc6IDc1cHggMDtcblxuICAmLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDM1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIH1cblxuICAmLXRleHQge1xuICAgIG1heC13aWR0aDogODgzcHg7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMjFweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjYxcHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA5cHggMjRweCA3cHg7XG4gICAgfVxuICB9XG59IiwiLm9yYW5nZS10ZXh0LWJsb2NrIHtcblxuICAudG9wIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuXG4gIC5sZWZ0IHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgfVxuICB9XG5cbiAgLnJpZ2h0IHtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuOThweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIH1cblxuICAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40MXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHggMzdweCk7XG5cbiAgICAudG9wIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufSIsIi5wcm9ncmFtbWUtaGVhZGVyIHtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCBhdXRvIGF1dG8pO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgbWluLWhlaWdodDogNTI3cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHdoaXRlKSwgMC45KTtcbiAgICBtYXgtd2lkdGg6IDYzN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgQGluY2x1ZGUgcGFkKDI4cHggMjVweCAyNXB4KTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIG1hcmdpbjogMCAwIDlweDtcbiAgICBsaW5lLWhlaWdodDogMS4wNjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDAzZW07XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmxvZ28td3JhcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDcwJSk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxNjBweCk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tYmFjayB7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE1cHggbnVsbCBudWxsIDIwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuXG4gICAgLmxvZ28td3JhcCB7XG4gICAgICBsZWZ0OiA2NSU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgLmxvZ28td3JhcCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA3MiU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBAaW5jbHVkZSBzaXplKDE1NXB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgLmxvZ28td3JhcCB7XG4gICAgICBAaW5jbHVkZSBzaXplKDkxcHgpO1xuICAgICAgdG9wOiAtMTQwcHg7XG4gICAgICByaWdodDogLTIwcHg7XG4gICAgICBib3R0b206IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW1tZS1oZWFkZXItc3BvbnNvcnMge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogLTg1cHg7XG5cbiAgICAuc3BvbnNvcnMtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuc3BvbnNvcnMtbG9nb3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTU1cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgICB9XG5cbiAgICAgICYudHdvLWxpbmVzIHtcblxuICAgICAgICAuc3BvbnNvcnMtbG9nbyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zcG9uc29ycy1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLm5ld3NsZXR0ZXItc2lnbnVwLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNzUwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cbiAgaWZyYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMjMwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0tZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgLmZvcm0taXRlbSB7XG4gICAgJi5mb3JtLWl0ZW0tbWVyZ2V2YXJzLUZOQU1FLCAmLmZvcm0taXRlbS1tZXJnZXZhcnMtTE5BTUUge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6JyonO1xuICAgICAgICAgIGNvbG9yOiAjZjAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmZvcm0taXRlbS1tZXJnZXZhcnMtTU1FUkdFNSB7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDonKic7XG4gICAgICAgICAgY29sb3I6ICNmMDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LWluZGVudDogMTBweDtcbiAgICB9XG4gIH1cblxuICAubmwtbWFpbGluZy1saXN0LXNlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgcGFkZGluZzogN3B4IDEzcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMzM21zIGxpbmVhcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9zdmcvYXJyb3ctZG93bi5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgfVxuXG4gIH1cbiAgLm5sLW1haWxpbmctbGlzdC1zZWxlY3QtaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogLTFweDtcbiAgICByaWdodDogLTFweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBpbnB1dCwgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0LWxpc3Qge1xuICAgICAgcGFkZGluZzogMCAyMHB4IDEwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNoZWNrYm94LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWl0ZW0tbWFpbGluZy1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvLyY6OmFmdGVyIHtcbiAgICAgIC8vICBjb250ZW50OiAnKic7XG4gICAgICAvLyAgY29sb3I6ICNmMDA7XG4gICAgICAvLyAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIC8vfVxuICAgIH1cbiAgfVxuICAubmwtbWFpbGluZy1saXN0LWFjdGlvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0LWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDEycHggMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICB9XG4gIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0LWRvbmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAubmwtbWFpbGluZy1saXN0LWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAuYmxvY2sge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJG9yYW5nZV9icmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tdHlwZS1jaGVja2JveGVzID4gbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubWlzc2luZy1maWVsZHN7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHJnYigyNTUsIDAsIDApO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5cbn1cblxuLnBhZ2UtbmV3c2xldHRlciB7XG4gICNjb250ZW50LWFyZWEge1xuICAgIC5uZXdzbGV0dGVyLXNpZ251cC1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJtb2JpbGUpIHtcbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hcmVhLWNoYXJ0LCAuc2luZ2xlLWFyZWEtY2hhcnQsXG4ubGluZS1jaGFydCxcbi5iYXItbGluZS1jaGFydCwgLmJhci1jaGFydCB7XG5cbiAgLmhpZ2hjaGFydHMtdGljayxcbiAgLmhpZ2hjaGFydHMtYXhpcy1saW5lOmxhc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tYWluRGF0YSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgLnN1YkRhdGEge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuY29sdW1uLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnBsb3RsaW5lLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNHB4KSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMTZweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTJweCBudWxsIG51bGwgLTMwcHgpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMTBweCAycHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE5cHggbnVsbCBudWxsIC0yMHB4KTtcbiAgICB9XG5cbiAgICAmLnF1b3RlIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9xdW90ZS1wbG90bGluZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggYXV0bztcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2NjRmYTM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50YXJnZXQge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3RhcmdldC1wbG90bGluZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggYXV0bztcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNhYjllY2M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhpZ2hjaGFydHMtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTFweCkpO1xuICB9XG59XG4uYXJlYS1jaGFydCB7XG5cbiAgLmhpZ2hjaGFydHMteWF4aXMtZ3JpZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnNpbmdsZS1hcmVhLWNoYXJ0IHtcblxuICAuaGlnaGNoYXJ0cy14YXhpcy1ncmlkLFxuICAuaGlnaGNoYXJ0cy15YXhpcy1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uZ2F1Z2UtY2hhcnQge1xuXG4gIC5oaWdoY2hhcnRzLXlheGlzLWxhYmVscyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi5sZWFndWUtdGFibGUtaGVhZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiByZW0oMTApO1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMTdweDtcblxuICAmID4gZGl2IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5yYW5rIHtcbiAgICB3aWR0aDogNjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAubmFtZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gIH1cblxuICAubmV3IHtcbiAgICB3aWR0aDogNzRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucGVyY2VudCB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5sZWFndWUtdGFibGUtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgcm93KCk7XG4gIHBhZGRpbmc6IDE4cHggMCAxN3B4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgLnJhbmsge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgc2l6ZSg2NXB4IDEwMCUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzaXplKDE4OHB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLnZhbHVlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDApO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5tb3ZlbWVudC1hbmQtbmFtZSwgLm5ldywgLnBlcmNlbnQsXG4gIC5tb3ZlbWVudCwgLm5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLm1vdmVtZW50LWFuZC1uYW1lIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQ1cHgpO1xuICAgIHBhZGRpbmctbGVmdDogNzdweDtcbiAgfVxuXG4gIC5tb3ZlbWVudCB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJi51cCB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG5cbiAgICAmLmRvd24ge1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICB9XG4gIH1cblxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctbGVmdDogMjNweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDdweCk7XG4gIH1cblxuICAubmV3IHtcbiAgICB3aWR0aDogNzRweDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5wZXJjZW50IHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgcGFkZGluZzogMCA0MnB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUycHg7XG4gIH1cblxuICAuYXJyb3cge1xuICAgIEBpbmNsdWRlIHNpemUoMzJweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC0xNnB4IDAgbnVsbCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAzN3B4IDAgMzRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuXG4gICAgLnJhbmsge1xuICAgICAgd2lkdGg6IDMwcHg7XG5cbiAgICAgIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW92ZW1lbnQtYW5kLW5hbWUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDZweDtcbiAgICB9XG5cbiAgICAubW92ZW1lbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubmV3IHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC5wZXJjZW50IHtcbiAgICAgIHdpZHRoOiA2OHB4O1xuICAgICAgcGFkZGluZzogMCAyNXB4IDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICB9XG4gIH1cbn1cblxuLmxlYWFndWUtdGFibGUtcG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmFuY3lib3gtc2xpZGUgPiAubGVhYWd1ZS10YWJsZS1wb3B1cC1pbm5lcixcbi5mYW5jeWJveC1zbGlkZSA+IC5hbmFseXNpcy1wb3B1cC1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5X2dyYXlpc2hfYmx1ZTtcbiAgcGFkZGluZzogMDtcblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIHdpZHRoOiA3NTBweDtcbiAgfVxuXG4gIC5hbmFseXNpcy1wb3B1cC10ZXh0IHtcbiAgICBwYWRkaW5nOiA0M3B4IDc0cHg7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMzBweCAxMjBweCAzMHB4IDEyMHB4O1xuICB9XG5cbiAgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cblxuICAucmFuay13cmFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZy10b3A6IDEzcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE4OHB4O1xuICAgICAgaGVpZ2h0OiAxODhweDtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC02NHB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxODhweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbiAgLnJhbmsge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG4gIC5tb3ZlbWVudCB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNmZmQxYmE7XG4gIH1cblxuICBkbC5pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIGRsLnBlb3BsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgZGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gIH1cblxuICBkdCB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBkZCB7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZzogNjBweCAyMHB4IDE4cHg7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICAucmFuay13cmFwIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaXRpYWwgaW5pdGlhbCAwIC01MCUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCg5JSkpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGwuaW5mbyB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgQGluY2x1ZGUgcm93KCk7XG5cbiAgICAgICYgPiBkaXYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICBkZCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgfVxuICB9XG59XG5cbi5mYW5jeWJveC1zbGlkZSA+IC5sZWFhZ3VlLXRhYmxlLXBvcHVwLWlubmVyIHtcblxuICAubW92ZW1lbnQge1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4ubW9zdC1ldmVudGZ1bCB7XG5cbiAgLmxlYWd1ZS10YWJsZS1pdGVtIHtcbiAgICBwYWRkaW5nOiAzMnB4IDAgMzNweDtcbiAgICBtYXJnaW46IDAgMzBweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7XG4gIH1cblxuICAubW92ZW1lbnQtYW5kLW5hbWUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjVweCk7XG4gIH1cblxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTFweDtcbiAgfVxuXG4gIC5uZXcge1xuICAgIEBpbmNsdWRlIHNpemUoMjVweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMTIuNXB4IC0xMi41cHggbnVsbCBudWxsKTtcblxuICAgICYuaXMtbmV3IHtcbiAgICAgIC8vYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvU3Rhci5wbmcnKSBuby1yZXBlYXQgY2VudGVyIDVweCAjZmM2ODJkO1xuICAgICAgLy9iYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgICB9XG4gIH1cblxuICAucGVyY2VudCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHBhZGRpbmc6IDAgMjdweDtcbiAgICBmb250LXNpemU6IDI3cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAubGVhZ3VlLXRhYmxlLWl0ZW0ge1xuICAgICAgcGFkZGluZzogMThweCAwIDE3cHg7XG4gICAgICBtYXJnaW46IDAgMjNweCAxNXB4O1xuICAgIH1cblxuICAgIC5tb3ZlbWVudC1hbmQtbmFtZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAucGVyY2VudCB7XG4gICAgICB3aWR0aDogNTJweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtc2VjdGlvbi10b3AtMTAge1xuXG4gIC5sZWFndWUtdGFibGUtaXRlbSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMCAzMHB4IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICB9XG5cbiAgLm1vdmVtZW50LWFuZC1uYW1lIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpO1xuICB9XG5cbiAgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gIH1cblxuICAubmV3IHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgfVxuXG4gIC5wZXJjZW50IHtcbiAgICB3aWR0aDogNzVweDtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC5sZWFndWUtdGFibGUtaXRlbSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDAgMTdweDtcbiAgICAgIG1hcmdpbjogMCAyM3B4IDE1cHg7XG4gICAgfVxuXG4gICAgLm1vdmVtZW50LWFuZC1uYW1lIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5wZXJjZW50IHtcbiAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cbn0iLCIubmF2IHtcblxuICAmLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAgMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBnYXA6IDAgOHB4O1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2xhdGU6IDAgOHB4O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNsYXRlO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zbGF0ZTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc25zIHtcbiAgcGFkZGluZy1sZWZ0OiA2cHg7XG5cbiAgJi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwIDE1cHg7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn0iLCIuc29sdXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgQGluY2x1ZGUgcGFkKDQxcHggMCAzM3B4IDApO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoNDJweCAwIDMzcHggMCk7XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDQycHggNnB4IDM1cHgpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKGNvbWJpel9vcmFuZ2UpKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgJi5pcy13aGl0ZSB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSlcbiAgICB9XG4gIH1cbn0iLCIucmVzdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBAaW5jbHVkZSBwYWQoMjNweCAzOHB4IDIycHggMzhweCk7XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIH1cblxuICAmLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJi1yZWFkLW1vcmUge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gIH1cbn0iLCIucGFydG5lci1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNDMxcHg7XG5cbiAgICAucGFydG5lci1oZWFkZXItcHJvZ3JhbW1lcyAmIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUyNnB4O1xuICAgIH1cblxuICAgIC5wYXJ0bmVyLWhlYWRlci1uZXdzICYge1xuICAgICAgbWluLWhlaWdodDogNTI3cHg7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MtcmVzb3VyY2VzICYge1xuICAgICAgbWluLWhlaWdodDogNTI2cHg7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHdoaXRlKSwgMC45KTtcbiAgICBtYXgtd2lkdGg6IDYzN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgQGluY2x1ZGUgcGFkKDI5cHggMTdweCA1NHB4IDI1cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMjFweCk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MgJiB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjJweCAxN3B4IDU0cHggMjVweCk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MtcmVzb3VyY2VzICYge1xuICAgICAgQGluY2x1ZGUgcGFkKDIzcHggMTdweCAyNHB4IDI1cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC1zaXplOiByZW0oNDgpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MgJiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIC5wYXJ0bmVyLWhlYWRlci1uZXdzLXJlc291cmNlcyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZlYXR1cmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDM5cHggMCAwIDApO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS45MjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIGdhcDogMCAyMHB4O1xuICAgIG1heC13aWR0aDogOTY1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmLmNvdW50LTMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG5cbiAgICAmLmNvdW50LTIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgJi5jb3VudC0xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oOTYpICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oLTc1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmV0d29ya3MtbGFuZGluZyAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDIyNXB4KTtcbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgLy8gd2lkdGg6IDIyNXB4O1xuICAgIEBpbmNsdWRlIHBhZCgyNHB4IDIycHgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2xhdGU6IDAgLTEwcHg7XG4gICAgfVxuXG4gICAgJi1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWluLWhlaWdodDogMjIxcHg7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTNweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgY29sb3I6ICRkYXJrO1xuICAgIH1cblxuICAgICYtZGVzYyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcGFkKDI1cHggMCA0MHB4KTtcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfb3JhbmdlKSk7XG4gICAgQGluY2x1ZGUgcGFkKDZweCAyMnB4IDZweCAxNXB4KTtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuXG4gICAgJi5pcy13aGl0ZSB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgJi5vcmFuZ2Utb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCIudGVhbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IoY29tYml6X2JsdWUpLCAwLjgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg0NnB4IDAgODFweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzhweCAwIDI2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjFweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgfVxuXG4gICYtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1heC13aWR0aDogODE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDdweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUxcHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfYmx1ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA1cHggMTRweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNnB4IDIzcHggNnB4IDE2cHgpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG5cbiAgJi1wYXJ0bmVyIHtcbiAgICAudGVhbSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGNvbWJpel9vcmFuZ2UpLCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wYXJ0bmVycy1iZWFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICYtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIHBhZCg3N3B4IDU1cHggMzRweCAwKTtcbiAgICBnYXA6IDAgMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzNnB4IDAgMCAwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgQGluY2x1ZGUgcGFkKDM2cHggMCAwIDApO1xuICAgIH1cbiAgfVxuXG4gICYtbGVmdCB7XG4gICAgbWF4LXdpZHRoOiA2MDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBmbGV4LXNocmluazogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgfVxuICB9XG5cbiAgJi1yaWdodCB7XG4gICAgbWF4LXdpZHRoOiAyNzdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjJweCA3cHggMTVweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgfVxuXG4gICYtbGlzdCB7fVxuXG4gICYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgfVxuXG4gICYtaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gICYtcGFyIHtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi52YWx1ZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNjFweCAwIDEwM3B4KTtcbiAgICBmb250LXNpemU6IHJlbSgzNXB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzhweCAwIDEwM3B4KTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtKDM1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAzMnB4O1xuICB9XG5cbiAgJi1jYXJkIHtcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgQGluY2x1ZGUgcGFkKDM3cHggMjJweCAyNHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtY2lyY2xlIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRfMzAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICYtaWNvbiB7XG5cbiAgICA+aW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjRweCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiByZW0oODApO1xuICAgICAgbWF4LWhlaWdodDogcmVtKDgwKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSg2MCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbSg2MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMzBweCk7XG4gICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zKTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgfVxuXG4gICYtcGFyIHtcbiAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiByZW0oLTc1KTtcblxuICAgIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxufVxuIiwiLmxvY2F0aW9ucyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvZ2xvYmUuanBnJyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGNvbWJpel9saWdodF9ncmF5KSwgMC43KTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDAgMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBwYWQoODdweCAwIDEyMnB4IDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDM3cHggMCAxOHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlclxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG4gIH1cblxuICAmLXBhciB7XG4gICAgbWF4LXdpZHRoOiA2MDNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBmbGV4LXNocmluazogMDtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubXYge1xuICBtYXJnaW4tYm90dG9tOiA3NnB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgaGVpZ2h0OiA1ODZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9tdi1pbWFnZS5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiA0MzBweDtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IC0xMjJweDtcbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIEBpbmNsdWRlIHBhZCgyMnB4IDQwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMjFweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oNDguODNweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICB9XG4gIH1cblxuICAmLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJkLWV2ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcblxuICAmLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYtZmlndXJlIHtcbiAgICBoZWlnaHQ6IDM2NHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgaGVpZ2h0OiByZW0oMjM0KTtcbiAgICB9XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgQGluY2x1ZGUgcGFkKDI0cHggMjVweCAxMHB4KVxuICB9XG5cbiAgJi1kYXRlIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBmb250LXNpemU6IHJlbSgzMXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7fVxufSIsIi5jYXJkLXBhc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDVweCA1cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB0cmFuc2l0aW9uOiAwLjNzIHRyYW5zbGF0ZSBlYXNlLW91dDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMHB4O1xuXG4gICAgLmNhcmQtcGFzdC1pbWFnZSB7XG4gICAgICBzY2FsZTogMTtcbiAgICB9XG4gIH1cblxuICAmLWZpZ3VyZSB7XG4gICAgaGVpZ2h0OiAxNzhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHNjYWxlOiAxLjE7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBzY2FsZSBlYXNlLW91dDtcblxuICAgIC5ub2RlLXR5cGUtZXZlbnRzLWxhbmRpbmctcGFnZSAmLFxuICAgIC52aWV3LXBhc3QtZXZlbnRzICYge1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMTFweCAxMHB4IDM4cHgpXG4gIH1cblxuICAmLWRhdGUge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiAjNDc1MjU0O1xuICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmLWNhdGVnb3JpZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTIwcHgsIDFmcikpO1xuICAgIGdhcDogMTBweDtcbiAgfVxuXG4gICYtY2F0ZWdvcnkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyYXlfbGlnaHRfNTAwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIC8vIHdpZHRoOiAxMjBweDtcbiAgICBjb2xvcjogcmdiYShjb2xvcihncmF5X2xpZ2h0XzUwMCksIDEpO1xuXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjE7XG4gICAgfVxuICB9XG59IiwiLmNhcmQtYmFzaWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbiAgJi1maWd1cmUge1xuICAgIGhlaWdodDogMTc4cHg7XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHBhZCgxMXB4IDEwcHggMzhweClcbiAgfVxuXG4gICYtZGF0ZSB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBjb2xvcjogIzQ3NTI1NDtcbiAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuXG4gICYtY2F0ZWdvcmllcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAxMHB4O1xuICB9XG5cbiAgJi1jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyYXlfbGlnaHRfNTAwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBjb2xvcjogcmdiYShjb2xvcihncmF5X2xpZ2h0XzUwMCksIDEpO1xuXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjE7XG4gICAgfVxuICB9XG59IiwiLmV2ZW50LWZlYXR1cmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg0NXB4IDAgNTFweCk7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG4gIH1cblxuICAmLXRleHQge31cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDU3NXB4LCAxZnIpKTtcbiAgICBnYXA6IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn0iLCIudG9waWMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgMC4zcyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNsYXRlOiAwIC01cHhcbiAgICB9XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJi1mcmFtZSB7XG4gICAgbWluLWhlaWdodDogMzY0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodF8zMDApO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtaW4taGVpZ2h0OiAyMDZweDtcbiAgICB9XG5cbiAgICAuaXMtbWFpbiAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWluLWhlaWdodDogcmVtKDIwNik7XG4gICAgICBtYXgtaGVpZ2h0OiByZW0oMjA2KTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSBwYWQoMThweCAxNnB4IDE1cHggMTZweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLmlzLW1haW4gJiB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjRweCAzN3B4IDE4cHggMjRweCk7XG4gICAgfVxuICB9XG5cbiAgJi1kYXRlIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIC5pcy1tYWluICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICB9XG5cbiAgICAuaXMtbWFpbiAmIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpe1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICAmLXRhZyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfYmx1ZV8zO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5X2dyYXlpc2hfYmx1ZV8zO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIEBpbmNsdWRlIHBhZCgwIDZweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgLmlzLW1haW4gJiB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIEBpbmNsdWRlIHBhZCgwIDE0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuIiwiLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgJi1pbm5lciB7fVxuXG4gICYtY2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDMxOHB4IDIwNnB4O1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcImZpcnN0IGZpcnN0IHNlY29uZCB0aGlyZFwiXG4gICAgICBcImZpcnN0IGZpcnN0IGZvdXJ0aCBmb3VydGhcIjtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICBcImZpcnN0IGZpcnN0XCJcbiAgICAgICAgXCJzZWNvbmQgdGhpcmRcIlxuICAgICAgICBcImZvdXJ0aCBmb3VydGhcIjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJiA+ICoge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBncmlkLWFyZWE6IGZpcnN0O1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgZ3JpZC1hcmVhOiBzZWNvbmQ7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBncmlkLWFyZWE6IHRoaXJkO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoNCkge1xuICAgICAgZ3JpZC1hcmVhOiBmb3VydGg7XG4gICAgfVxuICB9XG59XG4iLCIuc3BvdGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICBAaW5jbHVkZSBwYWQoNjJweCAwIDgwcHgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoMzBweCAwIDQwcHgpO1xuICB9XG5cbiAgJi1pbm5lciB7fVxuXG4gICYtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI1cHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIHdpZHRoOiA3OTFweDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAmLWFydGljbGVzIHtcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJydcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWFydGljbGUge1xuICAgIEBpbmNsdWRlIHBhZCg1OXB4IDAgMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgcGFkKDApXG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAzcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWNrLXNsaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICYtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBoZWlnaHQ6IDUyMHB4O1xuICAgICAgd2lkdGg6IDU3LjUlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBoZWlnaHQ6IDIyNHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTQ1cHg7XG4gICAgICB9XG5cbiAgICAgIC5pcy1ldmVuICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMFxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICB3aWR0aDogNDUuNTglO1xuICAgIG1pbi1oZWlnaHQ6IDUzOXB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIEBpbmNsdWRlIHBhZCgxOHB4IDQwcHggMThweCAyMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDk2JTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBAaW5jbHVkZSBwYWQoMThweCAyMHB4KTtcbiAgICB9XG5cbiAgICAuaXMtZXZlbiAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjRweCA3cHggMTVweCk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICB9XG4gIH1cblxuICAmLWRldGFpbHMge1xuICAgIG1hcmdpbi10b3A6IDUzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gIH1cblxuICAmLXN1YmplY3RzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyNHB4LCAxZnIpKTtcbiAgICBnYXA6IDA7XG5cbiAgICAuaXMtZmlyZWZveCAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICAgIGdhcDogMCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtc3ViamVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgIC5pcy1maXJlZm94ICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICB9XG4gIH1cblxuICAmLWNhdGVnb3J5IHtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgQGluY2x1ZGUgcGFkKDJweCAxNHB4IDFweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIH1cblxuICAmLWRhdGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cbiIsIi5iZW5lZml0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoMzlweCAwIDgwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIxcHggMCA3MHB4KTtcbiAgICB9XG4gIH1cblxuICAmLXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIG1heC13aWR0aDogNzk0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIGNsYW1wKDI1NnB4LCA1MCUsIDQ3MnB4KSk7XG4gICAgZ2FwOiA1MnB4IDE0MnB4O1xuICAgIC8vIG1heC13aWR0aDogMTA4NnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIGdhcDogNTJweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgYm90dG9tOiAtNDFweDtcblxuICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY2FyZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHBhZCgwIDIwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgMTVweClcbiAgICB9XG4gIH1cblxuICAmLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA2MXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9iZW5lZml0cy1pY29uLnBuZycpO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgfVxuICB9XG5cbiAgJi1wYXIge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXgtd2lkdGg6IDQwNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cblxuICAmLWxpc3Qge31cblxuICAmLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgfVxufVxuIiwiLm9yZ2FuaXphdGlvbiB7XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDY5cHggMCA1NnB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyMXB4IDAgNTZweCk7XG4gICAgfVxuICB9XG5cbiAgJi10b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMCAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIG1heC13aWR0aDogNzk2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTI7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMjdweDtcblxuICAgICZbZGF0YS1jb3VudD1cIjFcIl0ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cbiAgICAgIC5vcmdhbml6YXRpb24tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuXG4gICYtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgfVxuXG4gICYtZnJhbWUge1xuICAgIC8vIHdpZHRoOiAzMTRweDtcbiAgICB3aWR0aDogNTMuNTglO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDMxMnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWluLWhlaWdodDogMjQ1cHg7XG4gICAgfVxuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodF8zMDApO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMjVweCAzMHB4IDI1cHggMTlweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDE1cHggMTBweCAxNXB4IDE1cHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDExcHggMTBweCAxNXB4IDE1cHgpXG4gICAgfVxuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG4gIH1cblxuICAmLXBhciB7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC1zaXplOiByZW0oMTIuOHB4KTtcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDIzcHggNnB4IDE1cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDdweCAyMnB4IDdweCAxNnB4KTtcblxuICAgICAgLmlzLWZpcmVmb3ggJiB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3cHggMTdweCA3cHggMTBweClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnJlc2VhcmNoIHtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNTdweCAwIDc1cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIycHggMCAyMXB4KTtcbiAgICB9XG4gIH1cblxuICAmLXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAwIDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI1cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgbWF4LXdpZHRoOiA3OTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0ZnIgMi44ZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMywgMjA3cHgpO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcInNlY29uZCBmaXJzdFwiXG4gICAgICBcInRoaXJkIGZpcnN0XCJcbiAgICAgIFwiZm91cnRoIGZpcnN0XCI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM5cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNTYxcHggcmVwZWF0KDMsIDMxOHB4KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgIFwiZmlyc3RcIlxuICAgICAgICBcInNlY29uZFwiXG4gICAgICAgIFwidGhpcmRcIlxuICAgICAgICBcImZvdXJ0aFwiO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudG9waWMtaGVhZGluZyB7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IGluaXRpYWw7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA0MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXRvcGljIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGdyaWQtYXJlYTogZmlyc3Q7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBncmlkLWFyZWE6IHNlY29uZDtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIGdyaWQtYXJlYTogdGhpcmQ7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSg0KSB7XG4gICAgICBncmlkLWFyZWE6IGZvdXJ0aDtcbiAgICB9XG5cbiAgICAudG9waWMtZGF0ZXtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIH1cbiAgICAudG9waWMtaGVhZGluZyB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cblxuICAgIC50b3BpYy1oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgIH1cblxuICAgIC50b3BpYy1sYWJlbHMge1xuICAgICAgLy8gbWFyZ2luLXRvcDogNTNweDtcbiAgICB9XG5cbiAgICAmLmlzLW1haW4ge1xuXG4gICAgICAudG9waWMtZGF0ZXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC50b3BpYy1mcmFtZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudG9waWMtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgxOHB4IDM3cHggMTNweCAyM3B4KVxuICAgICAgfVxuXG4gICAgICAudG9waWMtbGFiZWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnRvcGljLWhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmVcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgQGluY2x1ZGUgcGFkKDdweCAyM3B4IDdweCAxNXB4KTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLm5ld3NsZXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgJi1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAgMzZweDtcbiAgICBAaW5jbHVkZSBwYWQoNTdweCAwIDY4cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIzcHggMCA4cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0OTFweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ2cHg7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS41MztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cblxuICAmLXN1YnNjcmlwdGlvbiB7XG4gICAgLy8gZmxleC1zaHJpbms6IDA7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwLWZvcm0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm1vZGFsLWhlYWRlcixcbiAgICAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ibG9jayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBAaW5jbHVkZSBwYWQoMTJweCAyMnB4IDEycHgpXG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuICAgIC5tYWlsY2hpbXAtbmV3c2xldHRlci1tZXJnZWZpZWxkcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgLy8gZ3JpZC1hdXRvLWNvbHVtbnM6IGF1dG87XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgXCJmaXJzdCBzZWNvbmRcIlxuICAgICAgICBcInRoaXJkIHRoaXJkXCJcbiAgICAgICAgXCJmb3VydGggZm91cnRoXCI7XG4gICAgICBnYXA6IDE4cHggMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyNlZGl0LWFjdGlvbnMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0IHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIHBhZCg5cHggMTNweCk7XG4gICAgfVxuXG4gICAgLm5sLW1haWxpbmctbGlzdC1pbnN0cnVjdGlvbnMge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICM3MjcyNzI7XG4gICAgfVxuXG4gICAgLmZvcm0tdHlwZS10ZXh0ZmllbGQge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3cHggOXB4IDlweCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fbWFpbjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAjNzI3MjcyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0tbWVyZ2V2YXJzLUZOQU1FIHtcbiAgICAgIGdyaWQtYXJlYTogZmlyc3Q7XG5cbiAgICAgICYuZm9ybS1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0tbWVyZ2V2YXJzLUxOQU1FIHtcbiAgICAgIGdyaWQtYXJlYTogc2Vjb25kO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJi5mb3JtLWl0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbS1tZXJnZXZhcnMtRU1BSUwge1xuICAgICAgZ3JpZC1hcmVhOiB0aGlyZDtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLW1lcmdldmFycy1NTUVSR0U1IHtcbiAgICAgIGdyaWQtYXJlYTogZm91cnRoO1xuICAgIH1cblxuICAgIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1pdGVtLW1haWxjaGltcC1saXN0cy1pbnRlcmVzdC1ncm91cHMtN2ZhZGNiZjc1ZS1mMWNmNzZkZWJkLFxuICAuZm9ybS1pdGVtLW1haWxjaGltcC1saXN0cy1pbnRlcmVzdC1ncm91cHMtN2ZhZGNiZjc1ZS05MjYyZjZhZjBmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZm9ybS1pbmZvLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9pbmZvLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mb3JtLXRvb2x0aXAge1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tdG9vbHRpcCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCA0cHggMHB4IHJnYmEoMjUsIDMyLCA1NiwgMC4xNCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTQ1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxMXB4KTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDVweCA3cHggNXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDZweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2JhKCMwMDAsIDAuMTQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgZmlsdGVyOiBibHVyKDFweCk7XG4gICAgICBsZWZ0OiAtOHB4O1xuXG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgbGVmdDogLTdweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5pbnZvbHZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgQGluY2x1ZGUgcGFkKDQ3cHggMCA0OHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNnB4IDAgMjJweClcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIG1heC13aWR0aDogMzUxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfYmx1ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjNweCA2cHggMTVweCk7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuXG4gICYtZnJhbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBoZWlnaHQ6IDIyMnB4O1xuICAgIH1cbiAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNTZ2dztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2dldC1pbnZvbHZlZC5qcGcnKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9ncmF5aXNoX2JsdWUpO1xuXG4gICAgLmlzLWZpcmVmb3ggJiB7XG4gICAgICB3aWR0aDogNTB2dztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDExMXZ3O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgfVxuICB9XG59IiwiLmthcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDVweCA1cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgbWluLWhlaWdodDogMzI3cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgaW1nIHtcbiAgICAgIHNjYWxlOiAxO1xuICAgIH1cbiAgfVxuXG4gICYtZnJhbWUge1xuICAgIGhlaWdodDogMTQycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBzY2FsZTogMS4wNTtcbiAgICAgIHRyYW5zaXRpb246IHNjYWxlIDAuNXMgZWFzZS1pbi1vdXRcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIzcHgpO1xuICB9XG5cbiAgJi1jYXRlZ29yaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgZ2FwOiAwIDEzcHg7XG4gIH1cblxuICAmLWNhdGVnb3J5IHtcbiAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTcyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICByaWdodDogLTlweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtdGltZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiBjYWxjKDEuMzMgKiAzICogMWVtKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vICY6OmFmdGVyIHtcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAvLyAgIGNvbnRlbnQ6ICcuLi4nXG4gICAgLy8gfVxuICB9XG5cbn0iLCIuZXllLWNhdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuXG4gICYtaW5uZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAzMjVweDtcbiAgICBAaW5jbHVkZSBwYWQoMjBweCAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oNDguODNweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgbWF4LXdpZHRoOiA4NTlweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4xMTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLnByaW5jaXBhbC1wYXJ0bmVycyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNzNweCAwIDc1cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBAaW5jbHVkZSBwYWQoMzJweCAwKTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHt9XG5cbiAgJi1saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBAaW5jbHVkZSBwYWQoMzVweCA1NHB4KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICByb3ctZ2FwOiAyNHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMnB4IDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gIH1cblxuICAmLWl0ZW0ge1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAmLWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBtaW4taGVpZ2h0OiAxMjVweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn0iLCIudmFjYW5jeSB7XG4gIGNvbG9yOiBjb2xvcihkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMyk7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgQGluY2x1ZGUgcGFkKDI0cHggMjVweCAzM3B4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG4gICAgQGluY2x1ZGUgcGFkKDI0cHggMTZweCk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcblxuICAgIC52YWNhbmN5LWN0YSB7XG4gICAgICAmLmlzLWJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKGNvbWJpel9ibHVlKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1kZXBhcnRtZW50IHtcbiAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICB9XG5cbiAgJi1kYXRlIHtcbiAgICBmb250LXNpemU6IHJlbSgxMXB4KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgJi10ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgJi1jdGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjRweCA4cHggMTdweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG4gIH1cbn1cblxuLnZpZXctam9pbi1vdXItdGVhbSB7XG5cbiAgLnZpZXctZmlsdGVycyB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gIH1cbiAgXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAudmlldy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAyMHB4IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiLmJhbm5lci1ldmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcblxuICAmLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDExMDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBwYWQoODBweCAwKVxuICB9XG5cbiAgJi1zbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICB9XG5cbiAgJi1zaGFyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAgMTFweDtcblxuICAgIC50ZXh0IHtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDM1ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDApO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICYuc2hhcmUtZmIge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2hhcmUtdHdpdHRlciB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNoYXJlLWVtYWlsIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2hhcmUtbGlua2VkaW4ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmp0aWNvIHtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHN2ZyxcbiAgICAgIGcge1xuICAgICAgICBmaWxsOiBjb2xvcih3aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHdoaXRlKSwgMC45KTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIEBpbmNsdWRlIHBhZCgyM3B4IDI1cHgpO1xuICAgIG1pbi1oZWlnaHQ6IDE5N3B4O1xuICB9XG5cbiAgJi1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9pY29uLWNhbGVuZGFyLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtcG9kY2FzdHMge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi1wb2RjYXN0LnBuZycpO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDMxLjI1cHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbiAgfVxuXG4gICYtY2F0ZWdvcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgfCc7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBmb250LXNpemU6IHJlbSg0OC44M3B4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAndXNlcic7XG5AaW1wb3J0ICdob21lcGFnZSc7XG5AaW1wb3J0ICdpbmRleC1wYWdlJztcbkBpbXBvcnQgJ2RvbmF0ZSc7XG5AaW1wb3J0ICdjaGVja291dCc7XG5AaW1wb3J0ICdjaGVja291dF9zaWduaW5fc2lnbnVwX3BhbmUnO1xuQGltcG9ydCAnY2hlY2tvdXRfY29tcGxldGUnO1xuQGltcG9ydCAnYWJvdXQtdXMnO1xuQGltcG9ydCAnZm9jdXMtYXJlYSc7XG5AaW1wb3J0ICdwcm9ncmFtbWVzLWxhbmRpbmcnO1xuQGltcG9ydCAnbmV0d29ya3MtbGFuZGluZyc7XG5AaW1wb3J0ICduZXR3b3Jrcy1hcHBsaWNhdGlvbic7XG5AaW1wb3J0ICdjb21wYW55JztcbkBpbXBvcnQgJ2V2ZW50cyc7XG5AaW1wb3J0ICdldmVudHMtbGFuZGluZyc7XG5AaW1wb3J0ICd0cmFpbmluZy1jb25zdWx0aW5nLWxhbmRpbmcnO1xuQGltcG9ydCAndHJhaW5pbmctY29uc3VsdGluZyc7XG5AaW1wb3J0ICdjb250YWN0LXVzJztcbkBpbXBvcnQgJ2Jhc2ljLXBhZ2UnO1xuQGltcG9ydCAnZmFxLWxhbmRpbmcnO1xuQGltcG9ydCAnZ2V0LWludm9sdmVkJztcbkBpbXBvcnQgJ3Byb2ZpbGUtcGFnZXMnO1xuQGltcG9ydCAnbmV3cy1wdWJsaWNhdGlvbic7XG5AaW1wb3J0ICdzZWFyY2gnO1xuQGltcG9ydCAnam9pbi10ZWFtJztcbkBpbXBvcnQgJ3BhcnRuZXJzJztcbkBpbXBvcnQgJ3ByZXNzLXBhZ2UnO1xuQGltcG9ydCAnc2l0ZW1hcCc7XG5AaW1wb3J0ICdub3QtZm91bmQnO1xuQGltcG9ydCAncmVwb3J0JztcbkBpbXBvcnQgJ3JlcG9ydC1jdGEnO1xuQGltcG9ydCAncmVwb3J0LW5ld3MnOyIsIi5wcm9maWxlIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gIHBhZGRpbmc6IDEwMHB4IDAgNjVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgLmZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmZpZWxkLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC5maWVsZC1pdGVtIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIH1cblxuICBkdCB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGRkIHtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gIH1cblxuICAudXNlci1waWN0dXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2l6ZSgxNTBweCk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDQ1cHggMjBweDtcblxuICAgIC5maWVsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5maWVsZC1sYWJlbCxcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxuXG4gICAgLmZpZWxkLWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIH1cblxuICAgIGR0LFxuICAgIGRkIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG5cbiAgICAudXNlci1waWN0dXJlIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4jYWpheC1yZWdpc3Rlci11c2VyLWxvZ2luLXdyYXBwZXIsXG4jdXNlci1wYXNzLXJlc2V0IHtcbiAgLy8gQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gIC8vIHBhZGRpbmc6IDgwcHggMCA0NXB4O1xuXG4gIC5wYXNzd29yZC1zdHJlbmd0aCxcbiAgZGl2LnBhc3N3b3JkLWNvbmZpcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZm9ybS1pdGVtIHtcbiAgICAvLyBtYXJnaW46IDAgMCA1MHB4O1xuICB9XG5cbiAgLmZvcm0tdHlwZS1wYXNzd29yZC1jb25maXJtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgLy8gQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgLy8gQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwMHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAvLyBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIC8vIHBhZGRpbmc6IDI1cHggMjBweCA0NXB4O1xuICAgIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIH1cbiAgfVxufVxuXG4uY3JlZGVudGlhbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICYtbWVkaWEge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXJlc2V0LXBhc3N3b3JkIHtcbiAgICAuY3JlZGVudGlhbHMtZm9ybSBwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWluLWhlaWdodDogNjk0cHg7XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjA5cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgcGFkKDkycHggMTVweCAwIDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgcGFkKDM0cHggMCAwKTtcbiAgICB9XG5cbiAgICAuY3JlZGVudGlhbHMtcmVnaXN0ZXIgJiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgzNHB4IDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jcmVkZW50aWFscy1wYXNzICYsXG4gICAgLmNyZWRlbnRpYWxzLXJlc2V0LXBhc3N3b3JkICYge1xuICAgICAgbWF4LXdpZHRoOiByZW0oNjM0KTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoY29tYml6X2JsdWUpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSlcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDM4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjYpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSlcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ0O1xuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgfVxuICB9XG5cbiAgJi1hY3Rpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuY3JlZGVudGlhbHMtbG9naW4gJixcbiAgICAuY3JlZGVudGlhbHMtcmVnaXN0ZXIgJiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi11c2VyLnBuZycpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3JlZGVudGlhbHMtcmVnaXN0ZXIgJiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9waF9zaWduLWluLnBuZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAzMDdweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5jcmVkZW50aWFscy1yZWdpc3RlciAmIHtcbiAgICAgIG1heC13aWR0aDogMzkwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWdyaWQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IDAgMTBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMXB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cblxuICAgIC5mb3JtLXJlcXVpcmVkIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSlcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9zdmcvYW5nbGUtcmlnaHQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMjBweCBib3R0b20gNTAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1pbi13aWR0aDogcmVtKDExMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNDApO1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjlweDtcblxuICAgICAgLmNyZWRlbnRpYWxzLXJlZ2lzdGVyICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuY3JlZGVudGlhbHMtcGFzcyAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDM3KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMzA3KTtcbiAgICAgIH1cblxuICAgICAgLmNyZWRlbnRpYWxzLXJlc2V0LXBhc3N3b3JkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgJi1saW5rIHtcbiAgICBmb250LXNpemU6IHJlbSgxMXB4KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gICYtbWVkaWEge1xuICAgIC8vIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9idWlsZC9jcmVkZW50aWFscy1pbWcucG5nXCIpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNDV2dztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihjb21iaXpfYmx1ZSksIDAuNSk7XG4gICAgfVxuICB9XG5cbiAgJi1iYWNrIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICB9XG59XG4iLCIvL2hvbWVwYWdlLXRyaWdnZXJcbi5ob21lcGFnZS10cmlnZ2VyIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgbnVsbCAwIDApO1xuICBAaW5jbHVkZSBzaXplKDEwMCUgNXB4KTtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTAwO1xufVxuXG4vL2hvbWVwYWdlLXdyYXBwZXJcbi5ob21lcGFnZS13cmFwcGVyIHtcbiAgcGFkZGluZzogODhweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjAwcHgpO1xuXG4gIC5ob21lcGFnZS1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgcGFkZGluZzogMTIycHggMCA4NXB4O1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogNjVweCAwO1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA5MHB4IDAgMjVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vL2hvbWVwYWdlLXJvd1xuLmhvbWVwYWdlLXJvdyB7XG5cbiAgJiNyb3ctMSB7XG5cbiAgICAuY2lyY2xlLWNvbnRlbnQge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoOTdweCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjUpKTtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgb3BhY2l0eTogMC41MztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNjNweCA1OXB4IG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTE0MHB4O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgxLjkpO1xuICAgICAgICBwYWRkaW5nOiAxNThweCA5NHB4IDEyNHB4IDIwNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICB0b3A6IC03MXB4O1xuICAgICAgICBsZWZ0OiAtMTcycHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0KDAuNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTE5cHg7XG4gICAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgICAgYm90dG9tOiAtMTYwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDJweDtcbiAgICAgICAgcGFkZGluZzogMTU4cHggOTRweCAxMTBweCAxNTRweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICByaWdodDogNDdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM5MHB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTQycHg7XG4gICAgICAgIGJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgdG9wOiA4NyU7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudDphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNThweCk7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IDg3JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmI3Jvdy0yIHtcblxuICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAtODVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IC01NXB4IDAgMCAtOTFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IC01NXB4IDAgMCAtODhweDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIHJpZ2h0OiAtOTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMjgxcHggMCAwIC0yNXB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogNTg4cHg7XG4gICAgICAgICAgbGVmdDogNjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgdG9wOiAtMTk1cHg7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI2NXB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgICAgcmlnaHQ6IC0xMXB4O1xuICAgICAgICB0b3A6IC0yMjBweDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMXB4KTtcbiAgICAgICAgdG9wOiA5NCU7XG4gICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiNyb3ctMyB7XG4gICAgbWFyZ2luLXRvcDogNDFweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0KDEuOSk7XG4gICAgICAgIHBhZGRpbmc6IDE1OHB4IDEwNHB4IDEyNHB4IDIwNnB4O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTE0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgwLjUpO1xuICAgICAgICBwYWRkaW5nOiAxNThweCAxMDRweCAxMjRweCAyMjZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNjVweDtcblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNTRweCAxNDRweCAxMTRweCAxNTlweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgcmlnaHQ6IDExMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICB0b3A6IC0xODZweDtcbiAgICAgICAgbGVmdDogNDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjY1cHg7XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICBsZWZ0OiAtMTFweDtcbiAgICAgICAgdG9wOiAtMjIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudDphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNThweCk7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IDg3JTtcbiAgICAgICAgb3BhY2l0eTogMC41MztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmI3Jvdy00IHtcbiAgICBtYXJnaW4tdG9wOiAzM3B4O1xuXG4gICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICBib3R0b206IC00M3B4O1xuICAgIH1cblxuICAgIC5jaXJjbGUtY29udGVudDphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzaXplKDc2cHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDExOXB4IGluaGVyaXQgaW5oZXJpdCAzNXB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIHJpZ2h0OiAtNTFweDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01NXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNTVweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIHJpZ2h0OiAtMTgzcHg7XG4gICAgICAgIGJvdHRvbTogMTQ4cHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtODhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNTBweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICB0b3A6IC0xODBweDtcbiAgICAgICAgYm90dG9tOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMzcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1NHB4IDE0NHB4IDE0NHB4IDE2OXB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogODZweDtcbiAgICAgICAgICBsZWZ0OiA0NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI2NXB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgcmlnaHQ6IC0xMXB4O1xuICAgICAgICB0b3A6IC0yMTBweDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMXB4KTtcbiAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgbGVmdDogMTAlO1xuICAgICAgICBvcGFjaXR5OiAwLjUzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcm93LTUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgIHRvcDogMzBweDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoODVweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjkpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDE3cHggMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2lyY2xlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzMXB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1NjNweCBpbmhlcml0IGluaGVyaXQgLTM2cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2OHB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTkycHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0KDIuNSk7XG4gICAgICAgIHBhZGRpbmc6IDE1OHB4IDExNHB4IDEzMXB4IDIxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMXB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgdG9wOiAxMDFweDtcbiAgICAgICAgbGVmdDogLTE4M3B4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogLTYwcHg7XG4gICAgICAgICAgbGVmdDogOTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgwLjUpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogNTU1cHg7XG4gICAgICAgICAgbGVmdDogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgdG9wOiAtMTgwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAtMjZweDtcbiAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAgIGJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDE1NHB4IDE0NHB4IDExNHB4IDE1OXB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogLTQ2cHg7XG4gICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICByaWdodDogMjc1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICBsZWZ0OiAtMTFweDtcbiAgICAgICAgdG9wOiAtMjIwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgcmlnaHQ6IDIycHg7XG4gICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMzVweCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxM3B4KTtcbiAgICAgICAgdG9wOiAtNzBweDtcbiAgICAgICAgbGVmdDogODAlO1xuICAgICAgICBvcGFjaXR5OiAwLjcxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaW1hZ2UtbGVmdCB7XG5cbiAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICB9XG5cbiAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMyk7XG4gICAgICBAaW5jbHVkZSBwYWQoMTU4cHggOTVweCAxMjRweCAyMjZweCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg3OXB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNjNweCA3M3B4IG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmltYWdlLXJpZ2h0IHtcblxuICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAwIG51bGwpO1xuICAgIH1cblxuICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICAgIEBpbmNsdWRlIHBhZCgxNTdweCAxNThweCAxMjhweCAxNzJweCk7XG5cbiAgICAgIC5zdWJqZWN0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNThweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1NDBweCBudWxsIG51bGwgMTBweCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9jaXJjbGUtaW1hZ2Vcbi5jaXJjbGUtaW1hZ2Uge1xuICBAaW5jbHVkZSBzaXplKDQ1NnB4KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOCkpO1xuICBvcGFjaXR5OiAwLjg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxNTAwbXMgZWFzZS1vdXQpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyMHB4IHJnYmEoMjUwLCAyNDgsIDI0NywgMC42KTtcblxuICAuZmFkZUluICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjaXJjbGUtaW1hZ2UtZmFkZUluO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgLmZhZGVPdXQgJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGNpcmNsZS1pbWFnZS1mYWRlT3V0O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgQGluY2x1ZGUgc2l6ZSgzNjZweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgc2l6ZSgzMDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgc2l6ZSgyNDdweCk7XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNpcmNsZS1pbWFnZS1mYWRlSW4ge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjQpKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDIwcHggcmdiYSgyNTAsIDI0OCwgMjQ3LCAwLjYpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgY2lyY2xlLWltYWdlLWZhZGVPdXQge1xuICAgIDAlLCAxNSUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyMHB4IHJnYmEoMjUwLCAyNDgsIDI0NywgMC42KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4zKSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuNSkpO1xuICAgIH1cbiAgfVxufVxuXG4vL2NpcmNsZS1jb250ZW50XG4uY2lyY2xlLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4MDBweDtcbiAgbWluLWhlaWdodDogODAwcHg7XG5cbiAgLmFuaW1hdGUtY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg4MCUpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA3NzdtcyBlYXNlLW91dCA3Nzdtcyk7XG4gIH1cblxuICAuZmFkZUluICYge1xuXG4gICAgLmFuaW1hdGUtY29udGVudCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGNpcmNsZS1jb250ZW50LWJlZm9yZS1mYWRlSW47XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDQ0NG1zO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBhbmltYXRpb24tbmFtZTogY2lyY2xlLWNvbnRlbnQtYWZ0ZXItZmFkZUluO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMjIybXM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG4gIH1cblxuICAuZmFkZU91dCAmIHtcblxuICAgIC5hbmltYXRlLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMzAlKSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgODg4bXMgZWFzZS1vdXQpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBjaXJjbGUtY29udGVudC1iZWZvcmUtZmFkZU91dDtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBjaXJjbGUtY29udGVudC1hZnRlci1mYWRlT3V0O1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIH1cbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoODAwcHgpO1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICB6LWluZGV4OiAtMjtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oNDYpO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xLjM3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgfVxuXG4gIC5zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQyKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xLjE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDc7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgfVxuXG4gIC5kZXRhaWxzIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG5cbiAgLnN1YmplY3QtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBtYXJnaW46IDQwcHggMCAyM3B4O1xuICB9XG5cbiAgLnN1YmplY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAuaWNvbiwgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBAaW5jbHVkZSBzaXplKDM1cHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaG9tZV9pY29uX2V2ZW50LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAmLm5ld3NfcHVibGljYXRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9ob21lX2ljb24ucG5nJyk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBzaXplKGNhbGMoMTAwJSAtIDYwcHgpIGF1dG8pO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgICAgbWFyZ2luOiAxcHggMCA0cHg7XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB9XG5cbiAgICAudGVydGlhcnktY2FsbC1hY3Rpb24ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuXG4gICAgLnN1YmplY3Qtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHdpZHRoOiA3NDhweDtcbiAgICBtaW4taGVpZ2h0OiA3NDhweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoNzQ4cHgpO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSg0NCk7XG4gICAgfVxuXG4gICAgLnN1Yi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuXG4gICAgLmRldGFpbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAuc3ViamVjdC10aXRsZSB7XG4gICAgICBtYXJnaW46IDQwcHggMCAyMnB4O1xuICAgIH1cblxuICAgIC5zdWJqZWN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcblxuICAgIC5hbmltYXRlLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDcwJSBudWxsIG51bGwgMjBweCk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMjB2dyk7XG4gICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtMTIlO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLnN1Yi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5kZXRhaWxzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB9XG5cbiAgICAuc3ViamVjdCxcbiAgICAuc3ViamVjdC10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgY2lyY2xlLWNvbnRlbnQtYmVmb3JlLWZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOCkpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuNCkpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgY2lyY2xlLWNvbnRlbnQtYmVmb3JlLWZhZGVPdXQge1xuICAgIDAlLCAyNSUge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjYpKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgY2lyY2xlLWNvbnRlbnQtYWZ0ZXItZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC41KSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS41KSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNpcmNsZS1jb250ZW50LWFmdGVyLWZhZGVPdXQge1xuICAgIDAlLCAyNSUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjUpKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC41KSk7XG4gICAgfVxuICB9XG59XG5cbi5ldmVudC1zcG90bGlnaHR7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIC5zcG90bGlnaHQtdG9we1xuICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuLmV2ZW50LXNwb3RsaWdodHtcbiAgLnNwb3RsaWdodC1kZXNje1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICB9XG59XG4uZXZlbnQtc3BvdGxpZ2h0LWJhbm5lcntcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA1MCUgYXV0bztcbiAgcGFkZGluZzogOTNweCAwO1xuXG4gIEBtZWRpYShtYXgtd2lkdGg6IDE3MjBweCl7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTgwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbn1cbi5ldmVudC1zcG90bGlnaHQtZXZlbnR7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgcGFkZGluZzogMjRweDtcbiAgbWF4LXdpZHRoOiA2MjFweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cblxuICAudG9waWMtY2F0ZWdvcnl7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG59XG4uZXZlbnQtc3BvdGxpZ2h0LWRhdGV7XG4gIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2NhbGVuZGFyX2Nsb2NrLnN2ZycpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgcGFkZGluZy1sZWZ0OiAzOHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgfVxufVxuLmV2ZW50LXNwb3RsaWdodC1ldmVudC10aXRsZXtcbiAgZm9udC1zaXplOiByZW0oMzUpO1xuICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gIH1cbn1cbi5ldmVudC1zcG90bGlnaHQtZXZlbnQtdGV4dCBwe1xuICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgYXtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLmV2ZW50LXNwb3RsaWdodC1ldmVudC1idXR0b25ze1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDE0cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYTpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ub2RlLXR5cGUtaW5kZXgtcGFnZSB7XG5cbiAgLmFjY2Vzc2liaWxpdHkge1xuICAgIC5icmVhZGNydW1iIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgYXJ0aWNsZS5pbmRleC1wYWdlIHtcbiAgICBzZWN0aW9uLmJyZWFkY3J1bWItY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5X2xpZ2h0XzE7XG5cbiAgICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxvYXQ6IHVuc2V0O1xuICAgICAgICBoZWlnaHQ6IHJlbSg0Nyk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgxMjQwKTtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMik7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hbmdsZS1yaWdodCcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmlldy1maWx0ZXJzIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoY29tYml6X29yYW5nZSk7XG5cbiAgICAgICAgJjpub3QoLm1vYmlsZS10b2dnbGVkKSB7XG4gICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQoMzFweCAwIDMycHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmluZGV4LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuMTUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC52aWV3LWNvbnRlbnQsXG4gICAgLnZpZXctZW1wdHkge1xuICAgICAgQGluY2x1ZGUgcGFkKDk2cHggMCA3MHB4KTtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDcwcHggMCA0NXB4KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjRweCAwIDg4cHggMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5maWx0ZXItb24tZm9jdXMge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0b1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5jYXJkLFxuICAgIC8vIC5lbWFpbC1zdWJzY3JpcHRpb24ge1xuICAgIC8vICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgIC8vICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuXG4gICAgLy8gICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIC8vICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG4gICAgLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICAvLyAgICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgIC8vICAgfVxuXG4gICAgLy8gICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgLy8gICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAvLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgIC8vICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgLy8gICB9XG5cbiAgICAvLyAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAvLyAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgIC8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xuXG4gICAgLy8gICAgICYuZW1haWwtc3Vic2NyaXB0aW9uIHtcbiAgICAvLyAgICAgICBtYXJnaW46IDIwcHggMCA0MHB4O1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICB9XG5cbiAgLnZpZXctbmV3cy1wdWJsaWNhdGlvbnMge1xuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA4NXB4IDAgNDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkIHtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCkgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC52aWV3LXBhc3QtZXZlbnRzIHtcbiAgICBAaW5jbHVkZSBwYWQoMCAwIDI1cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICAgIC52aWV3LWJsb2NrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICB9XG5cbiAgICAudmlldy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgICBnYXA6IDIzcHggMjBweDtcbiAgICB9XG4gIH1cblxuICAudmlldy11cGNvbWluZy1ldmVudHMge1xuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAyM3B4IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctb3VyLXRlYW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1OHB4O1xuXG4gICAgLnZpZXctZmlsdGVycy1pbm5lciB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzFweCAxMDBweCAzMnB4KTtcbiAgICB9XG5cbiAgICAudmlldy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgZ2FwOiAzNnB4IDQwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogOTk4cHg7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IDE2cHggMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbmRleCBwYWdlIGZhbmN5Ym94XG4gIC5mYW5jeWJveC1hcnJvdyB7XG4gICAgQGluY2x1ZGUgc2l6ZSg0MnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zbGlkZS1hcnJvdy1uZXh0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJHdoaXRlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4IGF1dG87XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5mYW5jeWJveC1hcnJvdy0tbGVmdCB7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgfVxuXG4gICAgJi5mYW5jeWJveC1hcnJvdy0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDEzJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAmLmZhbmN5Ym94LWFycm93LS1sZWZ0IHtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgIH1cblxuICAgICAgJi5mYW5jeWJveC1hcnJvdy0tcmlnaHQge1xuICAgICAgICByaWdodDogNTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAgICYuZmFuY3lib3gtYXJyb3ctLWxlZnQge1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAmLmZhbmN5Ym94LWFycm93LS1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMzVweCk7XG5cbiAgICAgICYuZmFuY3lib3gtYXJyb3ctLWxlZnQge1xuICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgICYuZmFuY3lib3gtYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5kZXggcGFnZSBoZWFkZXJcbiAgLmZvY3VzLWFyZWEtaGVhZGVyIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgxNDBweCAzMHB4IDMycHggMjBweCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg3NzRweCk7XG4gICAgICAgIGxlZnQ6IC0zMDBweDtcbiAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHRvcDogNDUwcHg7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBjb250ZW50XG4gIC5lbXB0eS1pbmRleCB7XG4gICAgcGFkZGluZzogMTAwcHggMCA4MHB4O1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IGVtKDIzKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMjBweDtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3csXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgIG1pbi13aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4udmlldy1lbXB0eSB7XG4gIGZvbnQtc2l6ZTogcmVtKDIzKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0oMjMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgJ2RlZmF1bHQnIGZyb20gb3VyIHRlYW0gb3B0aW9uc1xuLnBhZ2Utbm9kZS0yOCB7XG4gICNzZWxlY3QyLWVkaXQtc29ydC1ieS1yZXN1bHRzIHtcbiAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbn1cblxuLnZpZXctdHJhaW5pbmctY29uc3VsdGluZyB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjc2cHgsIDFmcikpO1xuICAgIGdhcDogMjNweCAzMnB4O1xuICB9XG59XG5cbi52aWV3LW5ld3MtcHVibGljYXRpb25zIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcblxuICAmLWthcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI3NnB4LCAxZnIpKTtcbiAgICBnYXA6IDIzcHggMzJweDtcbiAgfVxufVxuXG4udmlldy1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcblxuICAudmlldy1vdXItbWVtYmVycyAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIH1cbn1cblxuLnZpZXctb3VyLW1lbWJlcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIEBpbmNsdWRlIHBhZCgwIDAgNTBweCk7XG5cbiAgLnZpZXctZmlsdGVycy1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDMxcHggMTIwcHggMzJweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDMxcHggNjBweCAzMnB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzFweCAwIDMycHgpO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWZpbHRlcnMge1xuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIGdhcDogMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgfVxuXG4gICAgLm5vZGUtdHlwZS1pbmRleC1wYWdlICYge1xuICAgICAgQGluY2x1ZGUgcGFkKDk2cHggMTIwcHggNzBweCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg5NnB4IDYwcHggNzBweCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDcwcHggMCA0NXB4KVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg0NXB4IDU0cHgpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3LXNwb25zb3JzaGlwcyB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IDIwcHg7XG4gIH1cbn0iLCIucmhtLWRvbmF0aW9uLWZvcm0td3JhcCB7fVxuXG4uZG9uYXRlLXBhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIHBhZGRpbmc6IDEwMHB4IDAgOTVweDtcblxuICBoMSB7XG4gICAgLy8gZm9udC1zaXplOiByZW0oNDkpO1xuICAgIC8vIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgLy8gbGluZS1oZWlnaHQ6IDEuMDY7XG4gICAgLy8gbGV0dGVyLXNwYWNpbmc6IC0xLjQ2cHg7XG4gIH1cblxuICAuZG9uYXRlLWludHJvIHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbWF4LXdpZHRoOiA1MzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MnB4O1xuICB9XG5cbiAgLmJvdHRvbS10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcbiAgICB9XG4gIH1cblxuICAuYm90dG9tLXRleHQtMiB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgLy8gJjpiZWZvcmUge1xuICAvLyAgIGNvbnRlbnQ6ICcnO1xuICAvLyAgIEBpbmNsdWRlIHNpemUoNDI1cHgpO1xuICAvLyAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLy8gICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTMyNXB4IDEwJSBudWxsIG51bGwpO1xuICAvLyAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjA4KTtcbiAgLy8gICB6LWluZGV4OiAtMTtcbiAgLy8gfVxuXG4gIC8vICY6YWZ0ZXIge1xuICAvLyAgIGNvbnRlbnQ6ICcnO1xuICAvLyAgIEBpbmNsdWRlIHNpemUoMzc1cHgpO1xuICAvLyAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLy8gICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTMwcHggbnVsbCBudWxsIDUlKTtcbiAgLy8gICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTgpO1xuICAvLyAgIHotaW5kZXg6IC0xO1xuICAvLyB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43N3B4O1xuICAgIH1cblxuICAgIC5kb25hdGUtaW50cm8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG5cbiAgICAuYm90dG9tLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICB9XG5cbiAgfVxufVxuXG4uZG9uYXRlLXBhZ2UtaW5uZXIge1xuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTApO1xuICBAaW5jbHVkZSBzaGlmdCgxKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmRvbmF0ZS1vcHRpb24tbW9udGhseSB7XG4gIGNsZWFyOiBib3RoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDU4cHggNDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjZweDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMC4xNTtcbiAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMTdweCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDQycHgpKTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIC0yMHB4IDApO1xuICB9XG5cbiAgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG5cbiAgaDIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgfVxuXG4gIC5tb250aGx5LWZvcm0td3JhcCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5jdXJyZW5jeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgfVxuXG4gIC5hbW91bnQtbW9udGhseS1zZWxlY3Qtd3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBtYXgtd2lkdGg6IDEzOHB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmFtb3VudC1tb250aGx5LXNlbGVjdCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIGZvbnQtc2l6ZTogcmVtKDMwKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIG91dGxpbmU6IDA7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC5kb25hdGUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgIEBpbmNsdWRlIHBhZCgxNHB4IDIxcHggMTFweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMjVweCAyMHB4IDUwcHg7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcblxuICAgIGgyIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICB9XG5cbiAgICAubW9udGhseS1mb3JtLXdyYXAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MSUpO1xuICAgIH1cblxuICAgIC5jdXJyZW5jeSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLmFtb3VudC1tb250aGx5LXNlbGVjdC13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICB9XG5cbiAgICAuYW1vdW50LW1vbnRobHktc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTtcbiAgICB9XG5cbiAgICAuZG9uYXRlLWxpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gIH1cbn1cblxuLnJobS1kb25hdGlvbi1mb3JtIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB3aWR0aDogNTkwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiA2NXB4IDUwcHggMzVweDtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcGlnLmpwZycpIG5vLXJlcGVhdCBjYWxjKDEwMCUgLSAxN3B4KSAtNXB4ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMjVweDtcbiAgfVxuXG4gIC5mb3JtLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5kb25hdGUtYW1vdW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDMwKTtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgIH1cbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogJHNwYWNlZC1sZXR0ZXJzO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9saWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICB9XG5cbiAgLmlucHV0LXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAmLmhhbGYge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYub21lZ2Ege1xuICAgICAgQGluY2x1ZGUgb21lZ2EoKTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5kb25hdGUtc3VjY2VzcyB7XG4gIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgcGFkZGluZzogNzBweDtcbn1cblxuLmRvbmF0ZSB7XG5cbiAgJi10b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgfVxuXG4gICYtdG9wLWlubmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcGFkKDY2cHggMCA3OXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMnB4IDAgNDhweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oNDguODNweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIG1heC13aWR0aDogOTY5cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiAyMHB4IDQxcHg7XG4gICAgQGluY2x1ZGUgcGFkKDAgMTJweCk7XG4gICAgbWFyZ2luLXRvcDogODZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgIGdhcDogMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IHJlbSg0MCk7XG4gICAgfVxuICB9XG5cbiAgJi1vcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTlweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAzMjlweDtcbiAgICBAaW5jbHVkZSBwYWQoNDFweCAwIDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWluLWhlaWdodDogMzAycHg7XG4gICAgICBAaW5jbHVkZSBwYWQoMjBweCAwIDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG4gICAgfVxuICB9XG5cbiAgJi1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogODlweDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtYW1vdW50IHtcbiAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrXG4gIH1cblxuICAmLXZhbHVlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICB9XG5cbiAgJi1pbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgd2lkdGg6IDE0MnB4O1xuICAgIGhlaWdodDogMzhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fbWFpbjtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBwYWQoMCk7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnRfX21haW47XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAmLWN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgZGlzcGxheTogYmxvY2tcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjNweCA2cHggMTZweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgfVxuICB9XG5cbiAgJi1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgfVxuXG4gICYtYm90dG9tLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNzJweCAwIDk1cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDMycHggMCAxNnB4KTtcbiAgICB9XG4gIH1cblxuICAmLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgfVxuXG4gICYtcGFyIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40MzkwMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay1jb21tZXJjZS1jaGVja291dC1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRncmF5X2Rhcms7XG5cbiAgLmJsb2NrLWlubmVyIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcbiAgICBwYWRkaW5nOiAxNnB4IDAgMTRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDE2cHggMzVweCAxNHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICAgIEBpbmNsdWRlIHBhZCg5cHggMjBweCA3cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gIH1cblxuICAuaXRlbS1saXN0IHtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gIH1cbn1cblxuLml0ZW0tbGlzdCB1bC5jb21tZXJjZS1jaGVja291dC1wcm9ncmVzcyB7XG4gIGNvdW50ZXItcmVzZXQ6IHByb2dyZXNzLWNvdW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgbGkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMCAxOXB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmLmZpcnN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIocHJvZ3Jlc3MtY291bnRlcik7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogcHJvZ3Jlc3MtY291bnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTMuNSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgyN3B4KTtcbiAgICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIGEsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZpZXctY29tbWVyY2UtY2FydC1mb3JtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICBAaW5jbHVkZSBwYWQoMzBweCAwIDYycHgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgQGluY2x1ZGUgcGFkKDMwcHggMjBweCA2MnB4KTtcbiAgfVxuXG4gIC52aWV3LWNhcnQtaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIEBpbmNsdWRlIHBhZCgwIDEwM3B4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCA1MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAudmlldy1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCA0MXB4O1xuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG5cbiAgLnZpZXctY29udGVudCxcbiAgLnZpZXctaGVhZGVyIHtcbiAgICAvLyBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcblxuICAgICAgJi52aWV3LWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMDtcbiAgICAgIH1cblxuICAgICAgJi52aWV3LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG5cbiAgICAgICYudmlldy1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDAgMTZweDtcbiAgICAgIH1cblxuICAgICAgJi52aWV3LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXR0YWNobWVudCB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgZm9ybSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMzFweDtcbiAgICB9XG5cbiAgICB0aGVhZCB0aCB7XG4gICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICBAaW5jbHVkZSBwYWQoNXB4IDApO1xuICAgIH1cblxuICAgIHRib2R5IHtcblxuICAgICAgdHIge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMCk7XG5cbiAgICAgICAgJi50eXBlLUZyZWUuVGlja2V0IHtcblxuICAgICAgICAgIC5kZWxldGUtbGluZS1pdGVtLFxuICAgICAgICAgIC5mb3JtLXR5cGUtdGV4dGZpZWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDE4cHggMCAxNXB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgIH1cblxuICAgICAgdGhlYWQgdGgge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMCAwIDRweCk7XG4gICAgICB9XG5cbiAgICAgIC52aWV3cy1maWVsZC1jb21tZXJjZS10b3RhbCxcbiAgICAgIC52aWV3cy1maWVsZC12aWV3cy1jb25kaXRpb25hbC0xLFxuICAgICAgLnZpZXdzLWZpZWxkLXZpZXdzLWNvbmRpdGlvbmFsLTIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICB0Ym9keSB7XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCgxOHB4IDAgNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cblxuICAudGlja2V0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gIH1cblxuICBpbnB1dC5kZWxldGUtbGluZS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC52aWV3cy1maWVsZC1ub3RoaW5nIHtcbiAgICB3aWR0aDogNjUlO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtaW4td2lkdGg6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgfVxuICB9XG5cbiAgLnZpZXdzLWZpZWxkLWVkaXQtcXVhbnRpdHkge1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgcGFkZGluZzogNnB4IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuY29tbWVyY2UtcXVhbnRpdHktcGx1c21pbnVzLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IDA7XG4gICAgICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jb21tZXJjZS1xdWFudGl0eS1wbHVzbWludXMtbGluay1kaXNhYmxlZDpub3QoLmNvbW1lcmNlLXF1YW50aXR5LXBsdXNtaW51cy1saW5rLWluY3JlYXNlKSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5mb3JtLXRleHQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgICB3aWR0aDogMzMuMzNweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDFweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgIH1cblxuICAgICAgLmNvbW1lcmNlLXF1YW50aXR5LXBsdXNtaW51cy1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCA1cHggbnVsbCBudWxsKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNHB4KTtcblxuICAgICAgICAmLmNvbW1lcmNlLXF1YW50aXR5LXBsdXNtaW51cy1saW5rLWRlY3JlYXNlIHtcbiAgICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgICAgYm90dG9tOiA5cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTRweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvcm0tdGV4dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGgudmlld3MtZmllbGQtY29tbWVyY2UtdG90YWwsXG4gIHRoLnZpZXdzLWZpZWxkLXZpZXdzLWNvbmRpdGlvbmFsLTEsXG4gIHRoLnZpZXdzLWZpZWxkLXZpZXdzLWNvbmRpdGlvbmFsLTIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cblxuICB0ZC52aWV3cy1maWVsZC1jb21tZXJjZS10b3RhbCxcbiAgdGQudmlld3MtZmllbGQtdmlld3MtY29uZGl0aW9uYWwtMSxcbiAgdGQudmlld3MtZmllbGQtdmlld3MtY29uZGl0aW9uYWwtMiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cblxuICB0ZC52aWV3cy1maWVsZC1lZGl0LXF1YW50aXR5IHtcbiAgICBwYWRkaW5nOiAyM3B4IDAgMTBweDtcbiAgfVxuXG4gIC5tZW1iZXJzaGlwLW9yLXB1YmxpY2F0aW9uLWxpbmUtaXRlbSxcbiAgLnR5cGUtRGlzY291bnQsXG4gIC5Db3Vwb24ge1xuXG4gICAgLmZvcm0tdHlwZS12YWx1ZSxcbiAgICAuY29tbWVyY2UtcXVhbnRpdHktcGx1c21pbnVzLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudmlld3MtZmllbGQtZWRpdC1xdWFudGl0eSAuZm9ybS1pdGVtIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAudmlld3MtZmllbGQtZWRpdC1xdWFudGl0eSAuZm9ybS10ZXh0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb2xvcjogIzNCMzUzNTtcbiAgICB9XG5cbiAgfVxuXG4gIC5saW5lLWl0ZW0tc3VtbWFyeSB7XG4gICAgbWFyZ2luOiAyM3B4IDAgMDtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAxMzBweCBudWxsIG51bGwpO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tdG90YWwtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tdG90YWwtcmF3IHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAubGluZS1pdGVtLXRvdGFsLXJhdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAxN3B4IDAgMCA0JTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAjZWRpdC1jaGVja291dCB7XG4gICAgLy8gQGV4dGVuZCAucHJpbWFyeS1jYWxsLWFjdGlvbjtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGNvbWJpel9ibHVlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICBiYWNrZ3JvdW5kOiBjb2xvcih3aGl0ZSk7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC52aXNhLW1hc3RlcmNhcmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMzFweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6IDY4MHB4KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNnB4O1xuICAgICAgYm90dG9tOiA3OHB4O1xuICAgIH1cbiAgfVxuXG4gICNlZGl0LXN1Ym1pdCxcbiAgI2VkaXQtc3VibWl0LS00IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI2VkaXQtY291cG9uLWNvZGUsXG4gICNlZGl0LWNvdXBvbi1jb2RlLS0yIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgQGV4dGVuZCAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDExcHggMTRweCA5cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICAgICAgICAvL2JveC1zaGFkb3c6IDAgMCAwIDFweCAkb3JhbmdlX2JyaWdodF8zO1xuICAgICAgICBib3gtc2hhZG93OiAwIDlweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLWlucHV0LWNvdXBvbi1jb2RlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5mb3JtLXJlcXVpcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTBweCAxMXB4KTtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40MXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDkzcHg7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0taW5wdXQtY291cG9uLWNvZGUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taXRlbS1idXllci1pcy1ndWVzdCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogNjgwcHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMzJweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbiNjb21tZXJjZS1jaGVja291dC1mb3JtLXJldmlldyB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgI2VkaXQtY3VzdG9tZXItcHJvZmlsZS1iaWxsaW5nIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gIH1cblxuICAjZWRpdC1jYXJ0LWNvbnRlbnRzIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgQGluY2x1ZGUgc2hpZnQoMik7XG4gICAgQGluY2x1ZGUgb21lZ2EoKTtcbiAgfVxufVxuXG4uY2FydC1lbXB0eS1wYWdlIHtcbiAgZm9udC1zaXplOiBlbSgyNSk7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBAaW5jbHVkZSBwYWQoNzBweCAwKTtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDQwMHB4KTtcblxuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gIH1cbn1cblxuLmNhcnQtcHJpY2luZy1pbmZvIHtcbiAgZm9udC1zaXplOiBlbSgxNCk7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbiNjb21tZXJjZS1jaGVja291dC1mb3JtLWNvbXBsZXRlIHtcblxuICAubm8tZXZlbnQgLmV2ZW50LW1lc3NhZ2UsXG4gIC5uby1tZW1iZXJzaGlwIC5tZW1iZXJzaGlwLW1lc3NhZ2UsXG4gIC5uby1wdWJsaWNhdGlvbiAucHVibGljYXRpb24tbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZm9ybS1pdGVtLWNvbW1lcmNlLXBheW1lbnQtcGF5bWVudC1kZXRhaWxzLWNyZWRpdC1jYXJkLWNhcmRvbmZpbGUtc3RvcmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBheW1lbnQtcmVkaXJlY3QtZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgLy8gQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gIHBhZGRpbmc6IDgwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5jaGVja291dC1oZWxwIHtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gIH1cbn1cblxuI2NvbW1lcmNlLWNoZWNrb3V0LWZvcm0tZ3Vlc3QtZGV0YWlscyB7XG5cbiAgLmNoZWNrb3V0LXNpZ25pbi1zaWdudXAtcGFuZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuY2hlY2tvdXQtc2lnbmluLXNpZ251cC1wYW5lIHtcblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF80O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfNDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDEwcHgpO1xuXG4gICAgICAmOm50aC1jaGlsZCgybi0xKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtYnV0dG9ucyB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBpbnB1dDpub3QoI2VkaXQtY29udGludWUpLFxuICAgIC5idXR0b24tb3BlcmF0b3Ige1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCIuY2hlY2tvdXRfcGF5bWVudF9tZXRob2Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG59XG5cbi5jYXJ0LWNoZWNrb3V0IHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgcGFkKDk0cHggMCA5NHB4KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIHBhZCg5NHB4IDIwcHggOTRweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcGFkKDQ1cHggMjBweClcbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMTAzcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDIwcHggMDtcbiAgICB9XG4gIH1cblxuICAmLWNvbC1sZWZ0IHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXgtd2lkdGg6IDQ2OHB4O1xuICAgIHdpZHRoOiA0MyU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLWNvbC1yaWdodCB7XG4gICAgbWF4LXdpZHRoOiAzODNweDtcbiAgICB3aWR0aDogNDAuOSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgLy8gZmxleC1zaHJpbms6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBwYWQoMzhweCAzMXB4IDEwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IDM2MXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzOHB4IDE1cHggMTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDY3cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG5cbiAgICAuY2FydC1jaGVja291dC1wZXJzb25hbC1kZXRhaWwgJiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgIH1cbiAgfVxuXG4gICYtc3ViaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjI3ZW07XG4gIH1cblxuICAmLWNob2ljZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjI1cHgsIDFmcikpO1xuICAgIGdhcDogMCAxNXB4O1xuICB9XG5cbiAgJi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIG1pbi1oZWlnaHQ6IDExM3B4O1xuICAgIEBpbmNsdWRlIHBhZCgzM3B4IDIwcHggMCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAmLWRlc2Mge1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExcHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgfVxuXG4gICYtbW9iaWxlLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE1cHggMjBweCBudWxsIG51bGwpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi1tb2JpbGUtY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvY2xvc2UtZGFyay0yLnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggYXV0bztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMThweCAyMHB4IG51bGwgbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIH1cblxuICAuY3VzdG9tZXJfcHJvZmlsZV9iaWxsaW5nIC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSkgIWltcG9ydGFudFxuICB9XG5cbiAgLmN1c3RvbWVyX3Byb2ZpbGVfYmlsbGluZyAuZm9ybS1pdGVtIGxhYmVsIHtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY2hlY2tvdXRfdGVybXNfYW5kX2NvbmRpdGlvbnMge1xuICAgIC50ZXJtcy1saW5rIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSlcbiAgICB9XG4gIH1cblxuICAuaXJhZGlvLFxuICAuaWNoZWNrYm94IHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKSAhaW1wb3J0YW50XG4gIH1cbn1cblxuLmNoZWNrb3V0X3BlcnNvbmFsX2RldGFpbHNfb3BlbmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTIwMHB4KTtcbiAgLy8gQGluY2x1ZGUgcGFkKDcwcHggMCAyMzBweCk7XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgLy8gICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAvLyB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAvLyAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweCk7XG4gIC8vIH1cblxuICAvLyBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gIC8vICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICAvLyAgIEBpbmNsdWRlIHBhZCg0NHB4IDIwcHggNDBweCk7XG4gIC8vIH1cblxuICAvLyAmLmNoZWNrb3V0X3BlcnNvbmFsX2RldGFpbHNfb3BlbmluZyB7XG4gIC8vICAgQGluY2x1ZGUgcGFkKDg1cHggMCAxMDBweCk7XG5cbiAgLy8gICBzZWN0aW9uIGgxIHtcbiAgLy8gICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIC8vICAgfVxuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAvLyAgICAgQGluY2x1ZGUgcGFkKDUwcHggMCk7XG4gIC8vICAgfVxuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAvLyAgICAgQGluY2x1ZGUgcGFkKDQzcHggMjBweCk7XG5cbiAgLy8gICAgIHNlY3Rpb24gaDEge1xuICAvLyAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIC5jYXJ0LW1vYmlsZS1idG4ge1xuICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAvLyAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIC8vICAgY3Vyc29yOiBwb2ludGVyO1xuICAvLyAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxNXB4IDIwcHggbnVsbCBudWxsKTtcblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gICYuY2hlY2tvdXQtc2lnbmluLXNpZ251cC1wYW5lIHtcblxuICAgIGE6bm90KC5jbG9zZSk6bm90KC50ZXJtcy1saW5rKTpub3QoLmNhcnQtZWRpdC1saW5rKTpub3QoLmNvbnRleHR1YWwtbGlua3MtdHJpZ2dlcikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgNik7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC91c2UtbW9kYWwucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBAaW5jbHVkZSBwYWQoMzRweCAyMHB4KTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNTNweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuOTMpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgJj5kaXYge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGE6bm90KC5jbG9zZSk6bm90KC50ZXJtcy1saW5rKTpub3QoLmNhcnQtZWRpdC1saW5rKSB7XG4gICAgICAgIHdpZHRoOiAyMDVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1wZXJzb25hbC1kZXRhaWxzLXBhbmUub2ZmbGluZSB7XG5cbiAgICAuY2hlY2tvdXRfcGVyc29uYWxfZGV0YWlsc19taWRkbGUsXG4gICAgLmNvbW1lcmNlX3BheW1lbnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNlY3Rpb24ge1xuICAvLyAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblxuICAvLyAgIGgxIHtcbiAgLy8gICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAvLyAgICAgbWFyZ2luLWJvdHRvbTogNjdweDtcbiAgLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAvLyAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAvLyAgIH1cblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2LjUpO1xuICAvLyAgIH1cblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgLy8gICAgIHdpZHRoOiAxMDAlO1xuICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gIC8vICAgICBoMSB7XG4gIC8vICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xuICAvLyAgICAgICBtYXJnaW4tYm90dG9tOiAzOXB4O1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIGFzaWRlIHtcbiAgLy8gICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gIC8vICAgQGluY2x1ZGUgc2hpZnQoMik7XG4gIC8vICAgQGluY2x1ZGUgb21lZ2EoKTtcbiAgLy8gICBib3JkZXItdG9wOiAycHggc29saWQgJG9yYW5nZV9icmlnaHQ7XG4gIC8vICAgQGluY2x1ZGUgcGFkKDE1cHggMTVweCAyM3B4KTtcblxuICAvLyAgIC5jYXJ0LW1vYmlsZS1jbG9zZSB7XG4gIC8vICAgICBkaXNwbGF5OiBub25lO1xuICAvLyAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAvLyAgIH1cblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgLy8gICAgIEBpbmNsdWRlIHNoaWZ0KDAuNSk7XG4gIC8vICAgfVxuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAvLyAgICAgZGlzcGxheTogbm9uZTtcbiAgLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgLy8gICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gIC8vICAgICBtYXJnaW4tbGVmdDogMDtcbiAgLy8gICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAyNDksIDI0OCwgMC45Nik7XG4gIC8vICAgICB6LWluZGV4OiAxO1xuICAvLyAgICAgQGluY2x1ZGUgcGFkKDU0cHggMjBweCk7XG5cbiAgLy8gICAgIC5jYXJ0LW1vYmlsZS1jbG9zZSB7XG4gIC8vICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAvLyAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gIC8vICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIC8vICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAvLyAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgLy8gICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgLy8gICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvY2xvc2UtZGFyay0yLnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gIC8vICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IGF1dG87XG4gIC8vICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxOHB4IDIwcHggbnVsbCBudWxsKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICAvLyBoNCB7XG4gIC8vICAgZm9udC1zaXplOiBlbSgxMSk7XG4gIC8vICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLy8gICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gIC8vICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgLy8gICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAvLyAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gIC8vICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgLy8gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvLyAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9saWdodDtcblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgLy8gICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgLy8gICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmNoZWNrb3V0X3BlcnNvbmFsX2RldGFpbHNfbWlkZGxlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgLmN1c3RvbWVyX3Byb2ZpbGVfYmlsbGluZyxcbiAgLmNvbW1lcmNlX3BheW1lbnQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAmLmNvbW1lcmNlX3BheW1lbnQge1xuICAgICAgbWFyZ2luOiAxN3B4IDAgM3B4O1xuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIH1cblxuICAgICAgLmZvcm0taXRlbS1jb21tZXJjZS1wYXltZW50LXBheW1lbnQtZGV0YWlscy1jcmVkaXQtY2FyZC1vd25lcixcbiAgICAgIC5mb3JtLWl0ZW0tY29tbWVyY2UtcGF5bWVudC1wYXltZW50LWRldGFpbHMtY3JlZGl0LWNhcmQtbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIH1cblxuICAgICAgLmNvbW1lcmNlLWNyZWRpdC1jYXJkLWV4cGlyYXRpb24sXG4gICAgICAuZm9ybS1pdGVtLWNvbW1lcmNlLXBheW1lbnQtcGF5bWVudC1kZXRhaWxzLWNyZWRpdC1jYXJkLWNvZGUge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiA2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgICYuY29tbWVyY2UtY3JlZGl0LWNhcmQtZXhwaXJhdGlvbiB7XG5cbiAgICAgICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMikgLSAxNy41cHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jb21tZXJjZS1tb250aC15ZWFyLWRpdmlkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCA3cHggMCA1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgLmZvcm0taXRlbSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMikgLSAxNHB4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tbWVyY2UtbW9udGgteWVhci1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9ybS1pdGVtLWNvbW1lcmNlLXBheW1lbnQtcGF5bWVudC1kZXRhaWxzLWNyZWRpdC1jYXJkLWNhcmRvbmZpbGUtc3RvcmUsXG4gICAgICAuZm9ybS1pdGVtLWNvbW1lcmNlLXBheW1lbnQtcGF5bWVudC1kZXRhaWxzLWNhcmRvbmZpbGUtaW5zdGFuY2UtZGVmYXVsdCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0tY29tbWVyY2UtcGF5bWVudC1wYXltZW50LWRldGFpbHMtY2FyZG9uZmlsZSBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAxN3B4O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXG4gICAgICAgICYub3B0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1cHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXdyYXBwZXIsXG4gICAgLmZvcm0tdHlwZS1zZWxlY3Qge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDE3cHg7XG4gICAgfVxuXG4gICAgLmZpZWxkLXR5cGUtdGV4dCxcbiAgICAuZmllbGQtdHlwZS1lbWFpbCxcbiAgICAuZm9ybS1pdGVtLWN1c3RvbWVyLXByb2ZpbGUtYmlsbGluZy1jb21tZXJjZS1jdXN0b21lci1hZGRyZXNzLXVuZC0wLXBvc3RhbC1jb2RlIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDYpO1xuXG4gICAgICAmLmZpZWxkLW5hbWUtZmllbGQtbGFzdC1uYW1lLFxuICAgICAgJi5maWVsZC1uYW1lLWZpZWxkLWNvbXBhbnktbm8tLFxuICAgICAgJi5maWVsZC1uYW1lLWZpZWxkLWNvbnRhY3QtbnVtYmVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdDIge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICBAaW5jbHVkZSBwYWQoNXB4KTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgICB9XG5cbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICNjdXN0b21lci1wcm9maWxlLWJpbGxpbmctY29tbWVyY2UtY3VzdG9tZXItYWRkcmVzcy1hZGQtbW9yZS13cmFwcGVyIHtcblxuICAgICAgLmZvcm0td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC10eXBlLWxpc3QtYm9vbGVhbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgLmZvcm0td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmZvcm0taXRlbSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgICBsZWZ0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFkZHJlc3NmaWVsZC1jb250YWluZXIge1xuXG4gICAgLmZvcm0taXRlbTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZXJjZV9wYXltZW50IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgI2VkaXQtY29tbWVyY2UtcGF5bWVudC1wYXltZW50LW1ldGhvZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1idXR0b25zIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBzcGFuLFxuICAgIC5jaGVja291dC1iYWNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWNvbnRpbnVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dF90ZXJtc19hbmRfY29uZGl0aW9ucyB7XG4gICAgbWFyZ2luOiAwIDAgNTdweDtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmljaGVja2JveCxcbiAgLmlyYWRpbyB7XG4gICAgQGluY2x1ZGUgc2l6ZSgxNnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYuY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jaGVja19pY29uLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwLjVweCBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4udmlldy1zaG9wcGluZy1jYXJ0LWNoZWNrb3V0LWZvcm0ge1xuXG4gIC52aWV3cy10YWJsZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIEBpbmNsdWRlIHBhZCgwIDAgNXB4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG5cbiAgICAmLnZpZXdzLWZpZWxkLWNvbW1lcmNlLXRvdGFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkge1xuXG4gICAgdHIge1xuICAgICAgQGluY2x1ZGUgcGFkKDApO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgQGluY2x1ZGUgcGFkKDE2cHggMCAzMnB4KTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuXG4gICAgLnRpY2tldC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAudGlja2V0LXByaWNlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgIH1cblxuICAgIC52aWV3cy1maWVsZC1jb21tZXJjZS10b3RhbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5saW5lLWl0ZW0tc3VtbWFyeSB7XG4gICAgbWFyZ2luOiAyM3B4IDAgMDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgLmxpbmtzIHtcbiAgICAgIG1hcmdpbjogNXB4IDE2cHggMCAwO1xuICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuXG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlua3MsXG4gICAgLmxpbmUtaXRlbS10b3RhbCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmxpbmUtaXRlbS10b3RhbC1sYWJlbCxcbiAgLmxpbmUtaXRlbS10b3RhbC1yYXcge1xuICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIH1cblxuICAuY2FydC1lZGl0LWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC5mb3JtLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIHRoZWFkIHRoIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgfVxuXG4gICAgdGJvZHkge1xuXG4gICAgICB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgxMy41cHggMCAzMXB4KTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDA7XG5cbiAgICAgIC5saW5rcyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2NvbW1lcmNlLWNoZWNrb3V0LWZvcm0tbG9naW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG5cbiAgLmNoZWNrb3V0LWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY2FydC1jaGVja291dC1pbm5lciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5jYXJ0LWNoZWNrb3V0LWNvbC1sZWZ0IHtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIC5jYXJ0LWNoZWNrb3V0LWNvbC1yaWdodCB7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1zaWduaW4tc2lnbnVwLXBhbmUtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMCAxN3B4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0oMTApO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC41MjY4MjlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI4O1xuICAgICAgb3BhY2l0eTogMC45MztcbiAgICAgIHBhZGRpbmc6IDM0cHggMzZweCAzNHB4IDIwcHg7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbm9ybWFsO1xuICAgICAgLy8gd2lkdGg6IHJlbSgyMjUpO1xuICAgICAgaGVpZ2h0OiByZW0oMTEzKTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNSk7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogcmVtKDE2KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1jaGVja291dC5ub3QtbG9nZ2VkLWluIHtcblxuICAjbW9kYWxDb250ZW50LFxuICAjbW9kYWxCYWNrZHJvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmNoZWNrb3V0LXNpZ25pbi1zaWdudXAtcGFuZSB7XG4gICAgaDEge1xuICAgICAgY29sb3I6IGNvbG9yKGRhcmtfZ3JheWlzaF9yZWQpO1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg2NCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jcmVkZW50aWFscy1mb3JtIHtcbiAgICAgIG1heC13aWR0aDogcmVtKDQzMyk7XG5cbiAgICAgIGZvcm0jdXNlci1yZWdpc3Rlci1mb3JtLFxuICAgICAgZm9ybVtpZF49J3VzZXItcmVnaXN0ZXItZm9ybSddLFxuICAgICAgZm9ybVtpZCo9J3VzZXItcmVnaXN0ZXItZm9ybSddIHtcbiAgICAgICAgPmRpdiB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZm9ybS13cmFwcGVyLFxuICAgICAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMTg2KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI2VkaXQtZmllbGQtZmlyc3QtbmFtZSxcbiAgICAgICAgICAuZm9ybS1pdGVtLW1haWwsXG4gICAgICAgICAgI2VkaXQtZmllbGQtY29tcGFueS1uYW1lLFxuICAgICAgICAgIC5mb3JtLWl0ZW0tcGFzcy1wYXNzMSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxNnB4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGl2W2lkXj0nZWRpdC1hY2NvdW50J10sXG4gICAgICAgICAgZGl2W2lkKj0nZWRpdC1hY2NvdW50J10ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI21vZGFsQ29udGVudCB7XG4gIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gIH1cblxuICAuY3Rvb2xzLW1vZGFsLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyOiAwO1xuICAgIHdpZHRoOiA3NTBweCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDA7XG4gICAgQGluY2x1ZGUgcGFkKDE4cHggNzdweCA3MHB4IDI4N3B4KTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBzaXplKDI1MDBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIDAgMTg1cHgpO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgW2lkXj0ndXNlci1sb2dpbiddIHtcblxuICAgICAgLmZvcm0taXRlbS1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiA4MHB4IDAgMzJweDtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tdHlwZS1wYXNzd29yZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDcycHg7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24sXG4gICAgICAuZm9ybS1yZXF1aXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKltpZF49J3VzZXItcmVnaXN0ZXItZm9ybSddIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgICpbaWRePSdlZGl0LWFjY291bnQnXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXdyYXBwZXIsXG4gICAgICAuZm9ybS10eXBlLXBhc3N3b3JkLWNvbmZpcm0ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtdHlwZS10ZXh0LFxuICAgICAgLmZvcm0tdHlwZS1wYXNzd29yZCxcbiAgICAgIC5mb3JtLXR5cGUtdGV4dGZpZWxkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMThweCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTtcblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmllbGQtdHlwZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5maWVsZC1uYW1lLWZpZWxkLWNvbXBhbnktbmFtZSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICB9XG5cbiAgICAgIC5kZXNjcmlwdGlvbixcbiAgICAgIC5mb3JtLXJlcXVpcmVkLFxuICAgICAgLnBhc3N3b3JkLXN0cmVuZ3RoLFxuICAgICAgLnBhc3N3b3JkLWNvbmZpcm06bm90KC5mb3JtLXRleHQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgxOHB4IDQ1cHggNzBweCAxOTVweCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAxMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjBweCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuYWpheC1yZWdpc3Rlci1saW5rcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiA0OS4zJTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFtpZF49J3VzZXItbG9naW4nXSB7XG5cbiAgICAgICAgLmZvcm0taXRlbS1uYW1lIHtcbiAgICAgICAgICBtYXJnaW46IDI1cHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tdHlwZS1wYXNzd29yZCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMzNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKltpZF49J3VzZXItcmVnaXN0ZXItZm9ybSddIHtcblxuICAgICAgICAqW2lkXj0nZWRpdC1hY2NvdW50J10ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtdHlwZS10ZXh0LFxuICAgICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgICAgICAgLmZvcm0tdHlwZS10ZXh0ZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2xvZ2luLWJnLmpwZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICBAaW5jbHVkZSBzaXplKDIzMHB4IDEwMCUpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMTE2LCA1OCwgMC45Mik7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gIH1cblxuICBpbWcsXG4gIC5tb2RhbC10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Nsb3NlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC01NDBweCBudWxsIG51bGwpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIHNpemUoMTUwcHggMTAwJSk7XG5cbiAgICAuY2xvc2Uge1xuICAgICAgcmlnaHQ6IC00NzBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUgNTBweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoNTUwdncpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDMwcHggbnVsbCBudWxsIDUwJSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGJvdHRvbTogaW5oZXJpdDtcbiAgICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cbn0iLCIucGFnZS1jaGVja291dC1jb21wbGV0ZSB7XG5cbiAgLmNoZWNrb3V0LWNvbXBsZXRlZC1jaGVja291dC1wYW5lIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBwYWQoNzBweCAwIDE0N3B4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgcGFkKDUwcHggMjBweCA2MXB4KTtcbiAgICB9XG4gIH1cblxuICAudmlldy1oZWFkZXIge1xuXG4gICAgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIG1heC13aWR0aDogNDkwcHg7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBsaW5lLWhlaWdodDogMS43MTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTkpO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgMCA0NXB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMCAwIDdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjRweDtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC52aWV3LWZvb3RlciB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdHlwZS1hYm91dC11cyB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmZvY3VzLWFyZWFzIHtcbiAgQGluY2x1ZGUgcGFkKDY4cHggMCAxMjRweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgcGFkKDI3cHggMCAyOXB4KTtcbiAgfVxuXG4gICYtaW50cm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctcmlnaHQ6IDcxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHt9XG5cbiAgJi10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDYwM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG5cbiAgICBQIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lXG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7XG4gICAgZ2FwOiAzMHB4IDg3cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgZ2FwOiAzMHB4IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBnYXA6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi53aGF0LXdlLWRvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICYtYmxvY2sge1xuICAgIEBpbmNsdWRlIHBhZCg1OXB4IDAgNzVweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDE2cHggMCAyOXB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgJi50aXRsZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBtYXgtd2lkdGg6IDg2N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMDZlbTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi53aG8td2UtYXJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg0OHB4IDBweCA0NnB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjZweCAwcHggMzVweCk7XG4gICAgfVxuICB9XG5cbiAgJi1pbWcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWF4LXdpZHRoOiA2OTFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUxOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01OHB4O1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDlweDtcbiAgICByaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IDU0N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIEBpbmNsdWRlIHBhZCgxOHB4IDIwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDdweCAxMnB4IDIxcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuICB9XG5cbiAgJi1wYXIge1xuICAgIHAge1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLmZvY3VzLWFyZWEtcGFnZSB7XG5cbiAgbWFpbiB7XG4gICAgLy8gYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYnViYmxlLnBuZycpIHJlcGVhdC15O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTI0cHggMCA4MnB4KTtcbiAgICB9XG5cbiAgICAucGFyYWdyYXBoIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFyYWdyYXBoLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDEzcHggMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE3cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfYmx1ZV8yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDdweCBudWxsIG51bGwgMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC13cmFwIHtcbiAgICAgIC8vIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2LjUpO1xuICAgIH1cblxuICAgIC5pbWFnZS13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgyLjUpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDI1cHggcmdiYSgyNTAsIDI0OCwgMjQ3LCAwLjU0KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTVweCAxMHB4IG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNjNweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxMTgsIDYzLCAwLjg1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuXG4gICAgICAuaW1hZ2Utd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0KDEuNSk7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBwYWQoNjBweCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjVweCAyMHB4IDQ0cHgpO1xuICAgICAgfVxuXG4gICAgICAucGFyYWdyYXBoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBtYXJnaW46IDI0cHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhcmFncmFwaC1saXN0IHtcbiAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuXG4gICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRleHQtd3JhcCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmltYWdlLXdyYXAge1xuICAgICAgICBtYXgtd2lkdGg6IDIwNXB4O1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiA0NXB4IGF1dG8gMCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxNXB4IHJnYmEoMjUwLCAyNDgsIDI0NywgMC41NCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDAuNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb2N1cy1hcmVhLWxhdGVzdC13cmFwIHtcbiAgICBAaW5jbHVkZSBwYWQoMTAwcHggMCA3MnB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgICBoMiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDFweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMS4yMnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg2MHB4IDApO1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHgpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5mb2N1cy1hcmVhIHtcblxuICAmLW1haW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDU5cHggMCA0NXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDQ4cHggMTJweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMCAxMnB4KTtcbiAgICB9XG4gIH1cblxuICAmLWxhdGVzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICB9XG5cbiAgJi1sYXRlc3QtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg0NHB4IDAgNzJweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTdweCAwIDcycHgpO1xuICAgIH1cbiAgfVxuXG4gICYtbGF0ZXN0LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiAwIDM1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogMjRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTI0KTtcblxuICAgICAgLmNhcmQtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBib3R0b206IHJlbSgtNjApO1xuXG4gICAgICAgIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IDI3NHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubm9kZS1wcm9ncmFtbWVzLWxhbmRpbmctcGFnZSB7XG4gIC5vdXItcHJvZ3JhbSB7XG4gICAgQGluY2x1ZGUgcGFkKDc1cHggMCk7XG4gICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICB9XG5cbiAgLm91ci1wcm9ncmFtLFxuICAub3VyLWNhbXBhaWducyB7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICB9XG5cbiAgICAuY2FtcGFpZ25zLXByb2dyYW1tZXMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgICAgLmNhcmQge1xuXG4gICAgICAgICYubm9ybWFsIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJpZyB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgICAgICAmLm9tZWdhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKCk7XG5cbiAgICAgICAgICAgICYrLmNhcmQge1xuICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAgICAgICAmLm5vcm1hbCxcbiAgICAgICAgICAmLmJpZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAgICAgJi5ub3JtYWwsXG4gICAgICAgICAgJi5iaWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAvLyBAaW5jbHVkZSBwYWQoNjBweCAwKTtcblxuICAgICAgLnRleHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIC8vIEBpbmNsdWRlIHBhZCgyNXB4IDIwcHgpO1xuICAgIH1cblxuICAgIC5wYXN0LWxpbmsge1xuICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4uZmVhdHVyZWQtY2FyZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjk4cHg7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgfVxuXG4gIC5zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAmLm9yYW5nZS1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSBwYWQoNjVweCAwIDExNXB4KTtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDVweDtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgLnN1Yi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDRweDtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY2FyZC1zcXVhcmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMDVweDtcbiAgICAgIH1cblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICAubGluay1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMjVweDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5rLWFyZWEge1xuICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubGluay1hcmVhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI1cHggMjBweCA1cHgpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgfVxuXG4gICAgICAuc3ViLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgLy8gQGluY2x1ZGUgcGFkKDcwcHggMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgLy8gQGluY2x1ZGUgcGFkKDU5cHggMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcGFkKDQwcHggMjBweCk7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IGVtKDIyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjc3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cblxuICAuY291bnQtMyB7XG4gICAgLmNhcmQtc3F1YXJlOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0KDEuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLm91ci1jYW1wYWlnbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG4gIEBpbmNsdWRlIHBhZCg2M3B4IDAgMzdweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCgyN3B4IDAgMzdweCk7XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctcmlnaHQ6IDg1cHg7XG4gICAgZ2FwOiAwIDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjdweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIG1heC13aWR0aDogNjAzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICAuY2FyZC1jYW1wYWlnbiB7XG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJ1dHRvbiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ub2RlLW5ldHdvcmtzLWxhbmRpbmcge1xuXG4gIC5vdXItbmV0d29ya3Mge1xuICAgIC8vIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICAvLyBAaW5jbHVkZSBwYWQoOTFweCAwKTtcblxuICAgIC5uZXR3b3Jrcy1sYW5kaW5nLWludHJvIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblxuICAgICAgLnRleHQtd3JhcCB7XG4gICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXR3b3Jrcy1saXN0IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAubGluay13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLm91ci1uZXR3b3Jrcy1tZW1iZXIge1xuICAgIEBpbmNsdWRlIHBhZCg2OXB4IDAgNzBweCk7XG5cbiAgICAudGV4dC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2LjUpO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDQwcHggMjBweCA0NXB4KTtcblxuICAgICAgLnRleHQtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmV0d29ya3MtbGFuZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcblxuICAmLW5ldHdvcmtzIHtcbiAgICBAaW5jbHVkZSBwYWQoNjNweCAwIDEwM3B4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjRweCAwKTtcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZWQtY2FyZHMge1xuXG4gICAgJi5jb3VudC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuXG4gICAgJi5jb3VudC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIH1cblxuICAgICYuY291bnQtMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgfVxuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgLy8gcGFkZGluZy1yaWdodDogODZweDtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICB9XG4gIH1cblxuICAmLXRleHQge1xuICAgIG1heC13aWR0aDogNjAzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTM7XG4gICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWludHJvIHt9XG5cbiAgJi1tZW1iZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3RlYW0uanBnJyk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGNvbWJpel9ibHVlKSwgMC44KTtcbiAgICB9XG5cbiAgICAmLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHBhZCg0N3B4IDAgMzVweCk7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmLXRleHQge1xuICAgICAgbWF4LXdpZHRoOiA4ODNweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDNweDtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDIzZW07XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWN0YSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA1cHggMTRweCk7XG4gICAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfYmx1ZSkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgcGFkZGluZy1yaWdodDogNjRweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAyOHB4IDkwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGdhcDogMCA0NXB4O1xuICAgICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZ2FwOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgIGdhcDogMTVweDtcbiAgICB9XG5cbiAgICAuY2FyZC1pbWFnZS1jdGEge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgLy8gd2lkdGg6IDUyNHB4O1xuICAgICAgLy8gZmxleC1zaHJpbms6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4zcyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdHJhbnNsYXRlOiAwIC0xNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDI0cHggcmdiYSgyNSwgMzIsIDU2LCAwLjA4KTtcblxuICAgICAgICAuY2FyZC1pbWFnZS10aXRsZSxcbiAgICAgICAgLmNhcmQtaW1hZ2UtZGVzYyB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAvLyBtYXJnaW4tdG9wOiByZW0oMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1kZXNjIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY3RhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZCg1cHggMjNweCA1cHggMTZweClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1saW5rcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubm9kZS1uZXR3b3JrLWFwcGxpY2F0aW9uLXBhZ2Uge1xuXG4gICN3aG8td2h5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgI3ByYWN0aWNhbC1pbmZvIHtcbiAgICBwYWRkaW5nOiAyNXB4IDAgNjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLnByYWN0aWNhbC1pbmZvcm1hdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwYWQoNDRweCA1MHB4IDM5cHggMzZweCk7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjU1cHg7XG4gICAgfVxuICB9XG5cbiAgI2JlbmVmaXRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDMwcHggMCA0NXB4O1xuXG4gICAgLm5ldHdvcmstYXBwbGljYXRpb24tYmVuZWZpdHMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40MztcbiAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMXB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDNweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNnB4IG51bGwgbnVsbCA1cHgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjb3B0aW9ucyB7XG4gICAgcGFkZGluZzogNDVweCAwIDUwcHg7XG5cbiAgICAudGlja2V0cyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnRpY2tldCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA1MXB4IDAgMzBweDtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDBweCk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcblxuICAgICAgICAuYnV5LXRpY2tldHMtZm9ybS1hZGQtc2luZ2xlLXRvLWNhcnQge1xuICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMThweCA4cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmJ1eS10aWNrZXRzLWZvcm0tYWRkLXNpbmdsZS10by1jYXJ0IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MXB4IDAgbnVsbCBudWxsKTtcbiAgICB9XG4gIH1cblxuICAjbW9yZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuXG4gICAgLnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICB9XG5cbiAgICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG4gIH1cbn0iLCIubm9kZS10eXBlLWNvbXBhbnkge1xuXG4gICNjb21wYW55LWluZm9ybWF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDhweDtcblxuICAgIC5zdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAjY29tcGFueS1yZXByZXNlbnRhdGl2ZXMge1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAuY29tcGFueS1yZXByZXNlbnRhdGl2ZSB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmF2YXRhciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMTVweCk7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hdmF0YXIucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC5qb2ItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdHlwZS1ldmVudCB7XG5cbiAgLmFjY2Vzc2liaWxpdHkge1xuICAgIC5icmVhZGNydW1iIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1haW4td2l0aC1zaWRlYmFyIHNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIHJvdygpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3ByYWN0aWNhbC1pbmZvIHtcblxuICAgIC5ldmVudC1wcmFjdGljYWwtaW5mbyB7XG4gICAgICBAaW5jbHVkZSBwYWQoNDVweCAzM3B4KTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3IG9mIDgpO1xuICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgIH1cblxuICAgIC5hZGRldmVudGF0YyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeS1kYXRlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJi5kYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvdGltZS5wbmcnKSBuby1yZXBlYXQgbGVmdCAycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTNweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLmFkZHJlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hZGRyZXNzLnBuZycpIG5vLXJlcGVhdCBsZWZ0IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF5LFxuICAgIC50aW1lLFxuICAgIC5sb2NhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgIH1cblxuICAgIC50ZXJ0aWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgLmV2ZW50LXByYWN0aWNhbC1pbmZvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAuZXZlbnQtcHJhY3RpY2FsLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjVweCk7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzcGVha2VycyB7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgfVxuXG4gICAgLy8gaW1nIHtcbiAgICAvLyAgIEBpbmNsdWRlIHNpemUoMTE5cHgpO1xuICAgIC8vICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvLyAgIGJvcmRlci1yYWRpdXM6IDExOXB4O1xuICAgIC8vIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjRweDtcbiAgICB9XG5cbiAgICAuc2FsdXRhdGlvbiB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICB9XG5cbiAgICBhLmZhbmN5Ym94IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5ldmVudC1zcGVha2VycyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIxOHB4LCAyMThweCkpO1xuICAgICAgZ2FwOiAxNXB4O1xuICAgIH1cblxuICAgIC5ldmVudC1zcGVha2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcbiAgICB9XG5cbiAgICAuZXZlbnQtc3BlYWtlci1mcmFtZSB7XG4gICAgICBoZWlnaHQ6IDE5MXB4O1xuICAgIH1cblxuICAgIC5ldmVudC1zcGVha2VyLXJlYWRtb3JlIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgQGluY2x1ZGUgcGFkKDZweCAxOHB4IDEwcHgpO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgIH1cblxuICAgIC5ldmVudC1zcGVha2VyLWpvYi10aXRsZSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoODRweCk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5ldmVudC1zcGVha2VyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBwYWQoMTZweCAwKTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGV4dC13cmFwIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuZXZlbnQtc3BlYWtlci1qb2ItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICNyZWdpc3RyYXRpb24ge1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIH1cbiAgfVxuXG4gICNsb2NhdGlvbiB7XG5cbiAgICAjbWFwIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5ldmVudC1tYXAtdGV4dC13cmFwIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM5NXB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgfVxuXG4gICAgLmV2ZW50LW1hcC1hZGRyZXNzIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgICNtYXAge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuZXZlbnQtbWFwLXRleHQtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3Rlcm1zIHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS43MTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICB9XG4gIH1cblxuICAuZXZlbnQtZXh0ZXJuYWwtbGluayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4vKiogRVZFTlQgUFJPR1JBTU1FUyAqKi9cbi5ldmVudC1wcm9ncmFtbWUtaGVhZGVyIHtcbiAgcGFkZGluZzogNjBweCAwO1xuXG4gIC5wcmUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICBtYXJnaW46IC0xMHB4IDAgMDtcbiAgfVxufVxuXG4uZXZlbnQtcHJvZ3JhbW1lLW1haW4ge1xuXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gIC5ldmVudC1wcm9ncmFtbWUtZGF5cy13cmFwIHtcblxuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJHNwYWNlZC1sZXR0ZXJzO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ldmVudC1wcm9ncmFtbWUtZGF5cyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgfVxuXG4gICAgLmRheS13cmFwLFxuICAgIC5kaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZGl2aWRlciB7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBoZWlnaHQ6IDUycHg7XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkb3JhbmdlX2JyaWdodDtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgICAgfVxuXG4gICAgICAubG9jYXRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ldmVudC1wcm9ncmFtbWUtaXRlbXMge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgbGkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTJweDtcblxuICAgICAgJi5jb2xvci1ncmV5IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF9ibHVlO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aW1lIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5ldmVudC1zY2hlZHVsZS1pdGVtIHtcblxuICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVybW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgfVxuXG4gICAgLnJvb20ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9tYXJrZXIucG5nKSBsZWZ0IHRvcCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLnNwZWFrZXIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMy41KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRvcmFuZ2VfYnJpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICB9XG5cbn1cblxuLmV2ZW50LXByb2dyYW1tZS1kZXRhaWwtd3JhcCB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgLmV2ZW50LXByb2dyYW1tZS1kZXRhaWwge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgfVxuICB9XG5cbiAgLmV2ZW50LXByb2dyYW1tZS1kZXRhaWwtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgZyB7XG4gICAgICBzdHJva2U6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5kYXRlLWFuZC1yb29tIHtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICB9XG5cbiAgLnJvb20ge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2J1aWxkL21hcmtlci5wbmcpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLnNwZWFrZXIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuc3BlYWtlci13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIH1cbiAgfVxuXG4gIC5zcGVha2VyLWlubmVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuc3BlYWtlci1pbWFnZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDExOXB4O1xuICAgIGhlaWdodDogMTE5cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTE5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuc3BlYWtlci10ZXh0LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLmpvYi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG5cbiAgLmJpbyB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cblxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZXZlbnQtZ2FsbGVyeSxcbi5wYXJhZ3JhcGgtZ2FsbGVyeSB7XG4gIGE6bm90KC5vcGVuLWdhbGxlcnktbGluaykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOm50aC1jaGlsZChuKzcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLXBhc3QtZXZlbnRzIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgcGFkZGluZzogOTJweCAwIDQ1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtYnJpZ2h0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVybW9iaWxlKSB7XG4gICAgLnNlY3Rpb24tcGFzdC1ldmVudHMtYmxvY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5pbm5lciB7fVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1pbi13aWR0aDogMjgwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogNTNweCAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5zZWN0aW9uLXBhc3QtZXZlbnRzLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMjEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42MXB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG5cbn1cblxuI3Nwb25zb3JzIHtcblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgfVxuXG4gIHAraDMge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbjogMCA0MHB4IDIwcHggMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC10eXBlLXlvdXR1YmUsXG4uZmllbGQtdHlwZS1zb3VuZGNsb3VkIHtcblxuICAuZmllbGQtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG59XG5cbi5ldmVudC1wcm9ncmFtbWVzIHtcbiAgLnRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxufVxuXG4uZXZlbnQtdXBjb21pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDQ2cHggMCA0NHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDAgNDBweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tY29sdW1uczogYXV0bztcbiAgICBncmlkLWF1dG8tcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMzE4cHggMjA2cHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwib25lIHR3byBmb3VyIGZpdmVcIlxuICAgICAgXCJ0aHJlZSB0aHJlZSBzaXggc2l4XCI7XG4gICAgZ2FwOiAyMHB4IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTFweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oOTUpO1xuICAgICAgfVxuXG4gICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0oMjg2KTtcbiAgICAgIH1cblxuICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBib3R0b206IHJlbSgtNTApO1xuXG4gICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuXG4gICYtY2FyZCB7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGdyaWQtYXJlYTogb25lXG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBncmlkLWFyZWE6IHR3bztcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIGdyaWQtYXJlYTogdGhyZWU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSg0KSB7XG4gICAgICBncmlkLWFyZWE6IGZvdXI7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSg1KSB7XG4gICAgICBncmlkLWFyZWE6IGZpdmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSg2KSB7XG4gICAgICBncmlkLWFyZWE6IHNpeDtcbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbi13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyXG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBAaW5jbHVkZSBwYWQoOHB4IDI0cHggOHB4IDE3cHgpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLmV2ZW50LWFib3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICYtaW5uZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBwYWQoNTlweCAwIDY0cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIEBpbmNsdWRlIHBhZCgxNnB4IDAgMjRweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIG1heC13aWR0aDogODY3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZXZlbnQtcGFzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNDVweCAwIDQ5cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDMycHggMCA0OHB4KTtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuXG4gICAgJn4udGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzIpO1xuICAgIH1cbiAgfVxuXG4gICYtY2FyZHMge1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gZmxleC13cmFwOiB3cmFwO1xuICAgIC8vIGdhcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgLnZpZXctcGFzdC1ldmVudHMge1xuXG4gICAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAudmlldy1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcbiAgICAgICAgICBnYXA6IDI2cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FyZC1wYXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDk1KTtcblxuICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBib3R0b206IHJlbSgtNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJi1jdGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgQGluY2x1ZGUgcGFkKDdweCAyNHB4IDZweCAxNnB4KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxufVxuXG4uZXZlbnQtcmVsYXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcbiAgQGluY2x1ZGUgcGFkKDUwcHggMCk7XG5cbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgfVxuXG4gICYtY2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjkycHgsIDFmcikpO1xuICAgIGdhcDogMTBweCAxMHB4O1xuXG4gICAgLnRvcGljLWNvbnRlbnQge1xuICAgICAgbWluLWhlaWdodDogMzE4cHg7XG4gICAgfVxuICB9XG59XG4iLCIubm9kZS10eXBlLWV2ZW50cy1sYW5kaW5nLXBhZ2Uge1xuXG4gIC5zZWN0aW9uLWtleS1ldmVudHMge1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICBAaW5jbHVkZSBwYWQoNjBweCAwKTtcblxuICAgIC5rZXktZXZlbnRzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgLmNhcmQtaW1hZ2UtbGVmdCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCA4cHggMCAyNHB4KTtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgLmNhcmQtaW1hZ2UtbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjVweCAyMHB4KTtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi11cGNvbWluZy1ldmVudHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgQGluY2x1ZGUgcGFkKDQwcHggMCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAyMTVweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDAgMCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgICB9XG5cbiAgICAudXBjb21pbmctZXZlbnRzIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIG1hcmdpbjogNDVweCBhdXRvIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIwcHgpO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAgIH1cblxuICAgICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi1hYm91dC1ldmVudHMge1xuICAgIEBpbmNsdWRlIHBhZCg1MHB4IDAgOTBweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMS42NDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNDBweCAyNXB4IDQ1cHgpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdHlwZS10cmFpbmluZy1jb25zdWx0aW5nLWxhbmRpbmctcGFnZSB7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogZW0oMzUpO1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiBlbSgyOCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiBlbSgyMik7XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb24tdHJhaW5pbmcge1xuICAgIEBpbmNsdWRlIHBhZCgxMDBweCAwIDUwcHgpO1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoMiB7XG5cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuICAgIH1cblxuICAgIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg3MHB4IDAgMzVweCk7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI1cHggMjBweCk7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb24tY29uc3VsdGluZyB7XG4gICAgQGluY2x1ZGUgcGFkKDUwcHggMCAxMDBweCk7XG4gICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC50ZXh0IHtcbiAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDM1cHggMCA3MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI1cHggMjBweCk7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm9yYW5nZS1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSBwYWQoNTZweCAwIDUwcHgpO1xuXG4gICAgLndyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0KDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHggMzRweCk7XG5cbiAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi1vdXItaW1wYWN0IHtcbiAgICBAaW5jbHVkZSBwYWQoMTAwcHggMCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDM4cHg7XG4gICAgICBwYWRkaW5nOiA0NXB4IDkwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAmLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIC50ZXh0LWZ1bGwge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTE5cHggbnVsbCBudWxsIC0yMXB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDhweCAzOHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3F1b3RlLWxlZnQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDI3cHggLTE5cHggbnVsbCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDQ4cHggMzhweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9xdW90ZS1yaWdodC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnRleHQtZnVsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgICAgfVxuXG4gICAgICAuc2luZ2xlLXNsaWRlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5sYW5kaW5nLXNsaWRlLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIH1cblxuICAgICAgLmxpbmstdW5kZXJsaW5lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stYXJyb3cge1xuXG4gICAgICAmLnRlc3RpbW9uaWFscy1zbGlkZXItbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAxMCU7XG4gICAgICB9XG5cbiAgICAgICYudGVzdGltb25pYWxzLXNsaWRlci1wcmV2IHtcbiAgICAgICAgbGVmdDogMTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgICAgJi50ZXN0aW1vbmlhbHMtc2xpZGVyLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiAzJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGVzdGltb25pYWxzLXNsaWRlci1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAzJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg3MHB4IDApO1xuXG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlIHtcbiAgICAgICAgcGFkZGluZzogNDVweCA2MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg0MXB4IDAgMzlweCk7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cblxuICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZSB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG5cbiAgICAgICAgJi5zbGljay1jdXJyZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxMy41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm5vZGUtdHlwZS10cmFpbmluZy1jb25zdWx0aW5nIHtcblxuICAuZXZlbnQtc2luZ2xlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF9ibHVlO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFscy1zbGlkZXIge1xuICAgIG1hcmdpbjogMzBweCAwO1xuXG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzlweCA3NnB4KTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICB9XG5cbiAgICAubGluay11bmRlcmxpbmUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB9XG5cbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IC0zMHB4O1xuICB9XG5cbiAgLnNsaWNrLWFycm93IHtcbiAgICBAaW5jbHVkZSBzaXplKDM1cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZXIge1xuXG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDMwcHggNTBweCk7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stYXJyb3cge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4KTtcblxuICAgICAgJi50ZXN0aW1vbmlhbHMtc2xpZGVyLXByZXYge1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmLnRlc3RpbW9uaWFscy1zbGlkZXItbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC5tYWluLXdpdGgtc2lkZWJhciB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgNDVweDtcbiAgICB9XG5cbiAgICAucGFyYWdyYXBoOm5vdCgucGFyYWdyYXBoLXRlc3RpbW9uaWFscykge1xuICAgICAgcGFkZGluZzogMzVweCAyMHB4IDhweDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC10ZXN0aW1vbmlhbHMge1xuXG4gICAgICBoMiwgLnRleHQge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZXIge1xuXG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDI1cHggMzVweCk7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgYm90dG9tOiAtMzVweDtcbiAgICB9XG5cbiAgICAuc2xpY2stYXJyb3cge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4KTtcblxuICAgICAgJi50ZXN0aW1vbmlhbHMtc2xpZGVyLW5leHQge1xuICAgICAgICByaWdodDogMSU7XG4gICAgICB9XG5cbiAgICAgICYudGVzdGltb25pYWxzLXNsaWRlci1wcmV2IHtcbiAgICAgICAgbGVmdDogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmNvbnRhY3Qge1xuXG4gICYtZGV0YWlscyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodGVyX2JsdWUpO1xuICAgIEBpbmNsdWRlIHBhZCgzM3B4IDApO1xuXG4gICAgJi1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDI4cHggMTA3cHgpO1xuICAgICAgbWluLWhlaWdodDogMzU1cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgyOHB4IDMwcHgpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDE2cHggMzJweCAxNnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQzcHg7XG4gICAgfVxuICB9XG5cbiAgJi1sb2NhdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4IDIyOXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZ2FwOiAxMHB4IDcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi1sb2NhdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLWluZm8ge1xuXG4gICAgJi1pdGVtIHtcbiAgICAgIGNvbG9yOiBjb2xvcihkYXJrX3ZlcnlfZ3JheWlzaF9yZWQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1udW1iZXIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxuXG4gICAgJi1hZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVybW9iaWxlKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbSgxMDgpO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hZGRyZXNzLnN2ZycpO1xuICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdGVsIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdUJztcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZmF4IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdGJztcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtbWFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICAgIEBpbmNsdWRlIHBhZCg0NHB4IDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMClcbiAgICB9XG5cbiAgICAmLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyN2VtO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICAvLyBmbGV4LXNocmluazogMDtcbiAgICBtYXgtd2lkdGg6IDUwNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2NvbnRhY3QtaW1hZ2UucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgQGluY2x1ZGUgcGFkKDQwcHggMTExcHggNzhweCAxMTRweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDMycHggNDBweCAxNnB4KTtcbiAgICAgIG1pbi13aWR0aDogNTMycHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgcGFkKDMwcHggMTlweCAxNnB4KTtcbiAgICB9XG4gIH1cblxuICAmLWZvcm0ge1xuXG4gICAgI3JobS1oZWxwZXJzLWVudGl0eWZvcm0tZm9ybSB7XG4gICAgICAmPmRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICBnYXA6IDAgMTlweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICBcImZpcnN0IGxhc3RcIlxuICAgICAgICAgIFwiZW1haWwgbnVtYmVyXCJcbiAgICAgICAgICBcInN1YmplY3Qgc3ViamVjdFwiXG4gICAgICAgICAgXCJtZXNzYWdlIG1lc3NhZ2VcIlxuICAgICAgICAgIFwiYWN0aW9uIGFjdGlvblwiO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgI2VkaXQtZmllbGQtZmlyc3QtbmFtZSB7XG4gICAgICBncmlkLWFyZWE6IGZpcnN0O1xuICAgIH1cblxuICAgICNlZGl0LWZpZWxkLWxhc3QtbmFtZSB7XG4gICAgICBncmlkLWFyZWE6IGxhc3Q7XG4gICAgfVxuXG4gICAgI2VkaXQtZmllbGQtZW1haWwge1xuICAgICAgZ3JpZC1hcmVhOiBlbWFpbDtcbiAgICB9XG5cbiAgICAjZWRpdC1maWVsZC1jb250YWN0LW51bWJlciB7XG4gICAgICBncmlkLWFyZWE6IG51bWJlcjtcbiAgICB9XG5cbiAgICAjZWRpdC1maWVsZC1maXJzdC1uYW1lLFxuICAgICNlZGl0LWZpZWxkLWxhc3QtbmFtZSxcbiAgICAjZWRpdC1maWVsZC1lbWFpbCxcbiAgICAjZWRpdC1maWVsZC1jb250YWN0LW51bWJlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwIDcxcHggMCAwKVxuICAgICAgfVxuICAgIH1cblxuICAgICNlZGl0LWZpZWxkLXN1YmplY3Qge1xuICAgICAgZ3JpZC1hcmVhOiBzdWJqZWN0O1xuXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAjZWRpdC1maWVsZC1tZXNzYWdlIHtcbiAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcbiAgICB9XG5cbiAgICAjZWRpdC1hY3Rpb25zIHtcbiAgICAgIGdyaWQtYXJlYTogYWN0aW9uO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZy1yaWdodDogMzdweDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgLmNhcHRjaGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vc3ZnL2FuZ2xlLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMjBweCBib3R0b20gNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtaW4td2lkdGg6IHJlbSg5Mik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg0MCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgzMik7XG4gICAgICAgICAgd2lkdGg6IHJlbSgxMjApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2VkaXQtc3VibWl0IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgcGFkKDEycHggMTRweCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIuOHB4KTtcbiAgICB9XG4gIH1cbn0iLCIubm9kZS10eXBlLXBhZ2Uge1xuICAvLyBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9idWJibGUucG5nJykgcmVwZWF0LXk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuXG4gICNjb250ZW50LWFyZWEge1xuICAgIHNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgYXJ0aWNsZS50ZW1wbGF0ZS10ZXJtcyBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgYXJ0aWNsZSAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoMTAwcHggMCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTFweCAyMXB4IDQ1cHgpO1xuICAgIH1cbiAgfVxuXG4gIGFydGljbGUudGVtcGxhdGUtdGVybXMgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDUwcHggMCk7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgIGJyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhOm5vdCgucHJpbWFyeS1jYWxsLWFjdGlvbik6bm90KC5zZWNvbmRhcnktY2FsbC1hY3Rpb24pIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNy41KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMTdweDtcblxuICAgICAgaDUge1xuICAgICAgICBmb250LXNpemU6IGVtKDEwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2hpZnQoMik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDI1cHggcmdiYSgyNTAsIDI0OCwgMjQ3LCAwLjU0KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCAxMHB4IG51bGwgbnVsbCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDYzcHgpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDExOCwgNjMsIDAuODUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgwLjUpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiA0N3B4IGF1dG8gNDVweCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAyMDVweDtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxNXB4IHJnYmEoMjUwLCAyNDgsIDI0NywgMC41NCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDFweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRlbXBsYXRlLXRlcm1zIHtcblxuICAgIC5vcmFuZ2Utb3ZlcmxheSB7XG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cblxuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgfVxuXG4gIH1cbn1cblxuLmJhc2ljLXBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0X2JsdWUpO1xuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCgzM3B4IDApO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgQGluY2x1ZGUgcGFkKDQwcHggMTAzcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNDBweCAyMHB4KTtcbiAgICB9XG5cbiAgICAuYnRuLWJhY2sge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtc2VjdGlvbiB7XG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICB9XG4gIH1cblxuICAmLXN1YmhlYWRpbmcge31cblxuICAmLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgJi1wYXIge1xuICAgIG1heC13aWR0aDogNzEzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYnV0dG9ucyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBwYWQoOXB4IDI0cHggOXB4IDE2cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgdG9wOiAtMXB4XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdHlwZS1mYXEtbGFuZGluZyB7XG5cbiAgLmNvbnRlbnQge1xuICAgIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J1YmJsZS5wbmcnKSByZXBlYXQteTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgfVxuXG4gIC5mYXEtcGFnZSAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoODBweCAwIDE2NXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg1MHB4IDAgNjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvLyAucGFydG5lci1oZWFkZXIge1xuICAvLyAgIEBpbmNsdWRlIHBhZCgyMHB4IDAgMTAwcHgpO1xuXG4gIC8vICAgLmNvbnRlbnQge1xuICAvLyAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgLy8gICB9XG5cbiAgLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gIC8vICAgICBAaW5jbHVkZSBwYWQoMzBweCAyMHB4IDI1cHgpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5mYXEtbmF2IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5mYXEtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIwcHggNDBweCk7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiLmdldC1pbnZvbHZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcblxuICAmLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIHBhZCg3NHB4IDAgNzNweCk7XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogOTU1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSg0OSk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwibWFpbiBtYWluIHR3byB0aHJlZVwiXG4gICAgICBcIm1haW4gbWFpbiBmb3VyIGZpdmVcIlxuICAgICAgXCJzaXggc2V2ZW4gZWlnaHQgbmluZVwiO1xuICAgIGdhcDogMThweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gcmVwZWF0KDQsIDFmcik7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICBcIm1haW4gbWFpblwiXG4gICAgICAgIFwidHdvIHRocmVlXCJcbiAgICAgICAgXCJmb3VyIGZpdmVcIlxuICAgICAgICBcInNpeCBzZXZlblwiXG4gICAgICAgIFwiZWlnaHQgbmluZVwiO1xuICAgICAgZ2FwOiAxNXB4O1xuICAgIH1cblxuICAgIC5ncmlkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGdyaWQtYXJlYTogbWFpbjtcbiAgICAgICAgbWluLWhlaWdodDogNDYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMyN3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBncmlkLWFyZWE6IHR3bztcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIGdyaWQtYXJlYTogdGhyZWU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoNCkge1xuICAgICAgICBncmlkLWFyZWE6IGZvdXI7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoNSkge1xuICAgICAgICBncmlkLWFyZWE6IGZpdmU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoNikge1xuICAgICAgICBncmlkLWFyZWE6IHNpeDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSg3KSB7XG4gICAgICAgIGdyaWQtYXJlYTogc2V2ZW47XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoOCkge1xuICAgICAgICBncmlkLWFyZWE6IGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDkpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBuaW5lO1xuICAgICAgfVxuXG4gICAgICAmLWFuY2hvciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgJi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgyMXB4IDI1cHggMTZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQoMjFweCAxNXB4IDE2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCg3cHggMTVweCAxNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXBhciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oOCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3RhIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbWFpbiB7XG4gICAgICAgIC5ncmlkLWJhY2tncm91bmQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDE5OXB4O1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgICAgICBtYXJnaW46IDQ1cHggMjRweCAwIGF1dG87XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBtYXJnaW46IDI3cHggNDNweCAwIGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdyaWQtdGl0bGUge1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihkYXJrX2dyYXlpc2hfcmVkKTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdyaWQtcGFyIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IoZGFya19ncmF5aXNoX3JlZCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdyaWQtbGluayB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG5cbiAgICAgICAgICAmLmN0YSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoMTBweCAzMHB4IDdweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZCg0cHggMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3NvY2lhbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyM3B4XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbC1tZWRpYSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCAyNXB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGcsXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKiA9PT09IFBFUlNPTkFMIERFVEFJTFMgPT09PT0gKiovXG4ucGFnZS1wcm9maWxlIHtcblxuICAubWFpbi13aXRoLXNpZGViYXIge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC51c2VyLWVkaXQtZm9ybS13cmFwIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgOCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgLnVzZXItZWRpdC1mb3JtLXN1bW1hcnkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtcGFnZXMtcGVyc29uYWwtZm9ybSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAucHJvZmlsZS1wYWdlcy1wZXJzb25hbC1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIGxhYmVsW2Zvcj1jaGFuZ2VfcGFzc3dvcmRdLFxuICAgIGxhYmVsW2Zvcj1jaGFuZ2VfcGFzc3dvcmRfXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcblxuICAgICAgI2NoYW5nZV9wYXNzd29yZCxcbiAgICAgICNjaGFuZ2VfcGFzc3dvcmRfIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFzc3dvcmQtd3JhcC5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICYuaGFsZiB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgIH1cblxuICAgICAgJi5vbWVnYSB7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gICAgICB9XG5cbiAgICAgICYuY2xlYXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudXNlci1waWN0dXJlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC51c2VyLXBpY3R1cmUge1xuICAgICAgd2lkdGg6IDgzcHg7XG4gICAgICBoZWlnaHQ6IDgzcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdXBwb3J0ZWQtZm9ybWF0cyB7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cblxuICAgIGlucHV0W25hbWU9XCJwaWN0dXJlXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwIDdweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG5cbiAgICAgICAgJlt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0tZXJyb3Ige1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuICAgIC5waWN0dXJlLXBsYWNlaG9sZGVyIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoNzhweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IGVtKDI4KTtcbiAgICAgICAgY29sb3I6ICRncmF5X2xpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfbGlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMTRweCAwO1xuXG4gICAgICAmLm9wZW4ge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLmhhbGYge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUsXG4gIC5wcm9maWxlLWxhbmRpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuXG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtdGl0bGUsXG4gIC5maWVsZC1uYW1lLWZpZWxkLWV4dGVybmFsLWxpbmssXG4gIC5maWVsZC1uYW1lLWZpZWxkLXZpZGVvLFxuICAuZmllbGQtdHlwZS1zb3VuZGNsb3VkLFxuICAuZmllbGQtbmFtZS1maWVsZC1pcy1hcmNoaXZlZCB7XG4gICAgLmZpZWxkLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICAuZmllbGQtbmFtZS1maWVsZC10aXRsZSAuZmllbGQtaXRlbSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC5maWVsZC1uYW1lLWZpZWxkLWlzLWFyY2hpdmVkIHtcbiAgICAuZmllbGQtaXRlbXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZmllbGQtbmFtZS1maWVsZC1yZXNvdXJjZS1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcblxuICAgIC5maWVsZC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWxhbmRpbmctY29taW5nLXVwIHtcblxuICAgIC5wcm9maWxlLWl0ZW0ge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgaDMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLyoqIFByb2ZpbGUgR2VuZXJhbCBJdGVtICoqL1xuICAucHJvZmlsZSB7XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgIHAsXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIH1cblxuICAgIC5pY29uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAwNWVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgxMXB4IDIzcHggMTFweCAxNXB4KTtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDAgMCBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuXG4gICAgICAgICYuaWNvbi11cGNvbWluZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9pY29uLXVwY29taW5nLWV2ZW50LWRhcmsucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbi1jYWxlbmRhciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9pY29uLWNhbGVuZGFyLWRhcmsucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbi1wdWJsaWNhdGlvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9pY29uLXB1YmxpY2F0aW9uLWRhcmsucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbi1ub3RlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tbm90ZS1kYXJrLnBuZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tZmVhdHVyZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi1mZWF0dXJlZC5wbmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDclO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuaWNvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUHJvZmlsZSBCb29rZWQgRXZlbnQgKiovXG4gIC5wcm9maWxlLWJvb2tlZC1ldmVudCB7XG4gICAgYSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5ib29rZWQtZXZlbnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVybW9iaWxlKSB7XG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUtaXRlbSB7XG5cbiAgICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuY29tcGxldGUge1xuICAgICAgLnNlY29uZGFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICAgIHRvcDogMTFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBib3JkZXI6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuaXRlbS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICB9XG5cbiAgICAvLyAmOmJlZm9yZSB7XG4gICAgLy8gICBjb250ZW50OiAnJztcbiAgICAvLyAgIHdpZHRoOiAxcHg7XG4gICAgLy8gICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIC8vICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgLy8gICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMjBweCBudWxsIG51bGwgMCk7XG4gICAgLy8gfVxuXG4gICAgLy8gJjpob3ZlciB7XG4gICAgLy8gICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMjMzLCAyMzYsIDAuMjYpO1xuICAgIC8vIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5ib29rZWQtZXZlbnQtYWN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAxNXB4IG51bGwgbnVsbCk7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzMzbXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9maWxlLWl0ZW0tdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxODhweCk7XG5cbiAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgLy8gICBjb250ZW50OiAnJztcbiAgICAgIC8vICAgd2lkdGg6IDNweDtcbiAgICAgIC8vICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgLy8gICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNHB4IG51bGwgbnVsbCAtMTZweCk7XG4gICAgICAvLyAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtaXRlbS1tZXRhIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBtYXJnaW46IDVweCAwIDZweDtcbiAgICB9XG5cbiAgICAucHJvZmlsZS1pdGVtLXN1bW1hcnkge1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgLmZpbGU+YSxcbiAgICAudGlja2V0LWNhbGwtYWN0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICAudGlja2V0LWNhbGwtYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5ib29rZWQtZXZlbnQtY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaDM6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaXRlbS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAxOXB4IDE2cHggMjlweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5ib29rZWQtZXZlbnQtY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtaXRlbS10aXRsZSxcbiAgICAgIC5wcm9maWxlLWl0ZW0tbWV0YSxcbiAgICAgIC5wcm9maWxlLWl0ZW0tc3VtbWFyeSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLWl0ZW0tc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgLmJvb2tlZC1ldmVudC1hY3Rpb25zLFxuICAgICAgLnRpY2tldC1jYWxsLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0td3JhcCB7XG4gICAgICBwYWRkaW5nOiAyNHB4IDIwcHggMjBweCAxN3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWVfbGlnaHRfZ3JheWlzaF8yO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmd1ZXN0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maWVsZHMtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5pbnB1dC13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAmLmhhbGYge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYub21lZ2Ege1xuICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5hZGRpdGlvbmFsLWluZm8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuODtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMzVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMjMzLCAyMzYsIDAuMjYpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWVzc2FnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodDtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBidXR0b24uYm9va2VkLWV2ZW50LWFkZC1kZXRhaWxzIHtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICB9XG5cbiAgLyoqIFByb2ZpbGUgWW91ciBNZWV0aW5ncyAqKi9cbiAgLnByb2ZpbGUtbWVldGluZyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgNDVweDtcbiAgICB9XG4gIH1cblxuICAvKiogUHJvZmlsZSBQZXJzb25hbCBEZXRhaWxzICoqL1xuICAucHJvZmlsZS1wYWdlcy1wZXJzb25hbC1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGgzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfZGFyaztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgNDVweDtcblxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBQcm9maWxlIE1lbWJlcnNoaXBzICoqL1xuICAucHJvZmlsZS1tZW1iZXJzaGlwcyB7XG5cbiAgICAubWVtYmVyc2hpcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICBoMyxcbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUzcHg7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgfVxuXG4gICAgLm1lbWJlcnNoaXAtbWV0YSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40MjtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICB9XG5cbiAgICAuZmlsZS1kb3dubG9hZHMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuZmlsZS1pbmZvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMjVweCAwIDQ1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgfVxuXG4gICAgICBzZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUHJvZmlsZSBZb3VyIFRpY2tldHMgKiovXG4gIC5wcm9maWxlLXlvdXItdGlja2V0cyB7XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgIC50aWNrZXQtYWxsb3dhbmNlLXN1bW1hcnkge1xuICAgICAgLy8gYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgICAgLmlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgICAgICAvLyBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfZGFyaztcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0M3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aWNrZXQtYWxsb3dhbmNlLXN1bW1hcnktaXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgIC5ldmVudC10eXBlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG5cbiAgICAgIC5iZW5lZml0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgNDVweDtcblxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAudGlja2V0LWFsbG93YW5jZS1zdW1tYXJ5IHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDIwcHggMClcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBQcm9maWxlIENvbXBhbnkgSW5mb3JtYXRpb24gKiovXG4gIC5wcm9maWxlLWNvbXBhbnktaW5mb3JtYXRpb24ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAucHJvZmlsZS1wYWdlcy1jb21wYW55LWZvcm0ge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgIH1cblxuICAgIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSkge1xuICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwsXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSxcbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMikgLSAxNHB4KTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAzcHggNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgcGFkZGluZzogN3B4IDEwcHggNXB4IDEzcHg7XG5cbiAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjZmllbGRfc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNib2R5IHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDM4MHB4O1xuICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgLnByb2ZpbGUtcGFnZXMtY29tcGFueS1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgMzVweDtcblxuICAgICAgLmZvcm0taXRlbSB7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlLFxuICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUHJvZmlsZSBDb21wYW55IFJlcHJlc2VudGF0aXZlcyAqKi9cbiAgLnByb2ZpbGUtY29tcGFueS1yZXByZXNlbnRhdGl2ZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHAge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5jb21wYW55LXJlcHJlc2VudGF0aXZlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgIHBhZGRpbmc6IDIzcHggMCAzMHB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAucGljdHVyZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTBweCk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgfVxuXG4gICAgICAuam9iLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMCA0NXB4O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIC5jb21wYW55LXJlcHJlc2VudGF0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgICAgIC5waWN0dXJlIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHdpZHRoOiA4NHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmpvYi10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1haW4td3JhcHBlci5uby1tZW1iZXJzaGlwLFxuICAubWFpbi13cmFwcGVyLnJlcHMtY291bnQtMCB7XG5cbiAgICAuc2lkZWJhci1tZW51LnNpZGViYXIgLm1lbnUgI3B1YmxpYy1wcm9maWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUtcGFnZS1tb2JpbGUtY3VycmVudC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyoqIE1vYmlsZSBWZXJzaW9uICoqL1xuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAuc2lkZWJhci1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjFweCAxMXB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDI0OSwgMjQ4LCAwLjk2KTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIC5wcm9maWxlLXBhZ2UtbW9iaWxlLWN1cnJlbnQtc2VjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNHB4IDJweCk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtMTFweCAwKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5idG4tbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB1bC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTVweCAwIDVweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpIC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTExbXMgbGluZWFyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXdpdGgtc2lkZWJhciB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDIwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9maWxlIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBwYWQoMTJweCAyNnB4IDEwcHggMjFweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCgxMnB4IDAgMTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvZ2dsZWQge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCgxNXB4IDI2cHggMjVweCAyMXB4KTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZCgxNXB4IDAgMjVweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmljb24tdGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcHJvZmlsZS1hcnJvd19jbG9zZS5zdmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wcm9maWxlLWl0ZW0sXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmljb24tdGl0bGUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40NHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9wcm9maWxlLWFycm93X29wZW4uc3ZnJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IGF1dG87XG5cbiAgICAgICAgLmljb24sXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9maWxlLWl0ZW0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5wcm9maWxlLWl0ZW0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDE5cHggMCAxNnB4O1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1pdGVtLW1ldGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgICAgICBtYXJnaW46IDAgMCA3cHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLWl0ZW0tc3VtbWFyeSB7XG4gICAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5ib29rZWQtZXZlbnQtYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuICAgICAgfVxuXG4gICAgICAudGlja2V0LWNhbGwtYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuaXRlbS13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEzcHggMTQuNXB4IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZS1pdGVtLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2ZpbGUtaXRlbS1tZXRhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2ZpbGUtaXRlbS1zdW1tYXJ5IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJvb2tlZC1ldmVudC1jbG9zZSB7XG4gICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvcm0td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNHB4IDIwcHg7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3Vlc3Qge1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHMtd3JhcCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dC13cmFwIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgJi5oYWxmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFkZGl0aW9uYWwtaW5mbyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTNweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZmlsZS1jb2x1bW4taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuXG4gIC5wcm9maWxlLWNvbHVtbi1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbmgyLnByb2ZpbGUtY29sdW1uLWhlYWRpbmcge1xuICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tYm90dG9tOiAzNHB4O1xufVxuXG4vKiogUHJvZmlsZSBZb3VyIFB1YmxpY2F0aW9ucyAqKi9cbi5wcm9maWxlLXlvdXItcHVibGljYXRpb25zIHtcblxuICAucHJvZmlsZS1pdGVtIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaXRlbS13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBAaW5jbHVkZSBwYWQoOHB4IDIycHggN3B4IDE2cHgpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAucGFnZS1wcm9maWxlLXlvdXItcHVibGljYXRpb25zICYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9maWxlLWJvb2tlZC1ldmVudHMge1xuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjJweCA3cHggMTZweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZmlsZS1wZXJzb25hbC1kZXRhaWxzIHt9XG5cbi5zZWN0aW9uLW5ldHdvcmstbWVzc2FnZSB7XG4gIGJhY2tncm91bmQ6ICNGQUY5RkE7XG4gIHBhZGRpbmc6IDMwcHggNjBweDtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkb3JhbmdlX2JyaWdodDtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICB9XG5cbiAgLnRleHQgcCB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgfVxuXG4gIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcbiAgfVxuXG59XG5cbmRpdi5hZGRldmVudGF0YyB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRmb250X19tYWluO1xuICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IGVtKDEyKTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHBhZGRpbmc6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExMW1zIGxpbmVhcik7XG5cbiAgJjpob3ZlciB7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAuYWRkZXZlbnRhdGNfaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAuYWRkZXZlbnRhdGNfZHJvcGRvd24ge1xuICAgIHRvcDogMjNweCAhaW1wb3J0YW50O1xuXG4gIH1cblxuICAuY29weXgge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiogUHJvZmlsZSBUaWNrZXRzIEhpc3RvcnkgKiovXG4ucHJvZmlsZS10aWNrZXRzLWhpc3Rvcnkge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG5cbiAgLnZpZXctZmlsdGVycyB7XG4gICAgbWFyZ2luOiAwIDAgMzZweDtcbiAgICB3aWR0aDogMjg1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC52aWV3cy1leHBvc2VkLXdpZGdldHMge1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnZpZXdzLXdpZGdldC1maWx0ZXItdGl0bGVfZmllbGRfdmFsdWUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjI2KTtcblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1zdWJtaXQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBzaXplKDExcHggMTAwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDEzcHgpO1xuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBAaW5jbHVkZSBzaXplKDExcHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDApO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdGgge1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9kYXJrO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5lbWFpbC1leGlzdHMtbWVzc2FnZSB7XG4gIHBhZGRpbmc6IDQwcHggIWltcG9ydGFudDtcblxuICBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuXG4ucGFnZS1wcm9maWxlLW1lZXRpbmctbm90ZXMge1xuXG4gIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93bi5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAubWFpbi13aXRoLXNpZGViYXIge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgPi5wcm9maWxlLW1lZXRpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAucHJvZmlsZS1jb2x1bW4taGVhZGluZy13cmFwcGVyIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lZXRpbmctbm90ZS1uZXR3b3JrLWZpbHRlci1mb3JtIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lZXRpbmctbm90ZS13cmFwcGVyIHtcbiAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgyLnByb2ZpbGUtY29sdW1uLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93bjpub3QoLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlKTo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGNhbGMoNzUlIC0gNTBweCk7XG4gICAgfVxuXG4gICAgLmZpZWxkLXR5cGUteW91dHViZSAuZmllbGQtaXRlbXM+ZGl2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gICAgICAvKiAxNjo5IEFzcGVjdCBSYXRpbyAoZGl2aWRlIDkgYnkgMTYgPSAwLjU2MjUpICovXG4gICAgfVxuXG4gICAgLyogVGhlbiBzdHlsZSB0aGUgaWZyYW1lIHRvIGZpdCBpbiB0aGUgY29udGFpbmVyIGRpdiB3aXRoIGZ1bGwgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuICAgIC55b3V0dWJlLWZpZWxkLXBsYXllciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0MiB7XG4gICAgJi1kcm9wZG93biB7XG4gICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIH1cblxuICAgICYtY29udGFpbmVyLS1kZWZhdWx0IHtcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWV0aW5nLW5vdGUge1xuICAgICYucHJvZmlsZS1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1uZXR3b3JrLWZpbHRlci1mb3JtIHtcbiAgICAgID5kaXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTZweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWZpbHRlciB7XG5cbiAgICAgICYtZmllbGR3cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDI4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3NlbGVjdDItbWVldGluZ19ub3Rlc19maWx0ZXJfbmV0d29yay1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtc3VibWl0IHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9idWlsZC9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHg7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbn0iLCIubm9kZS10eXBlLW5ld3MtcHVibGljYXRpb24ge1xuXG4gIC5tYWluLXdpdGgtc2lkZWJhciB7XG4gICAgQGluY2x1ZGUgc2hpZnQoNCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuc2lkZWJhciB7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC50aWNrZXQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICAucGFyYWdyYXBoOmZpcnN0LWNoaWxkIHtcbiAgICBoMiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wYXJhZ3JhcGgsXG4gIC5wdXJjaGFzZS1yZXBvcnQsXG4gIC5wYXJhZ3JhcGg6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cblxuICAucHVyY2hhc2UtcmVwb3J0IHtcblxuICAgIC50aWNrZXQge1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGlja2V0IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICBsaW5lLWhlaWdodDogMS40NztcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgICAgIEBpbmNsdWRlIHNoaWZ0KDApO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAubWFpbi13aXRoLXNpZGViYXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAucGFyYWdyYXBoLFxuICAgIC5wdXJjaGFzZS1yZXBvcnQsXG4gICAgLnBhcmFncmFwaDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmc6IDIyLjVweCAyMHB4O1xuICAgIH1cblxuICAgIC5idXktdGlja2V0cy1mb3JtIHtcblxuICAgICAgLnRpY2tldCAudGV4dC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIC5hamF4LXJlc3BvbnNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtbmFtZS1maWVsZC1hdWRpbyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgMjBweClcbiAgICB9XG4gIH1cblxuICAucG9kY2FzdC1ob3N0LXNwZWFrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAzOHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgMjBweCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaG9zdC1zcGVha2VyIHtcblxuICAgICAgJi13cmFwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1KTtcbiAgICAgIH1cblxuICAgICAgJi1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAzOHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjE4cHgsIDIxOHB4KSk7XG4gICAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgLy8gd2lkdGg6IHJlbSgyMTgpO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSgzMTIpO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHJlbSg4KTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiByZW0oOCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHJlbSgyMTgpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTkxKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGV4dC13cmFwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbSg4KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0oOCk7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweCAxNnB4IDE2cHg7XG5cbiAgICAgICAgICAgIC5mYW5jeWJveCB7XG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1kZXBhcnRtZW50IHtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgfVxuXG4gICAgICAmLW5hbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oOCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgIH1cblxuICAgICAgJi1zYWx1dGF0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuXG4gICAgICAmLWpvYi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6IGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi52aWV3LXNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAjZWRpdC1zZWFyY2gtYXBpLXZpZXdzLWZ1bGx0ZXh0LmVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAuYnRuLWJhY2sge1xuICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAjZWRpdC1zZWFyY2gtYXBpLXZpZXdzLWZ1bGx0ZXh0IHtcbiAgICAvLyAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIC8vICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgIC8vICAgcGFkZGluZzogMjBweCA0NXB4IDE2cHggMjBweDtcbiAgICAvLyB9XG4gIH1cbn1cblxuLnNlYXJjaC1mb3JtLXdyYXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTUwcHg7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNzEsIDY5LCA2OSwgMC45NSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0LCB0b3AgMC41cyBlYXNlLWluLW91dCwgei1pbmRleCAwLjZzIHN0ZXAtZW5kLCBoZWlnaHQgMC42cyBzdGVwLWVuZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5hY3RpdmUge1xuICAgIHRvcDogNTBweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1MHB4KTtcbiAgICBib3R0b206IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQsIHRvcCAwLjVzIGVhc2UtaW4tb3V0O1xuICB9XG59XG5cbi5zZWFyY2gtZm9ybSB7XG4gIG1heC13aWR0aDogNjY4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTQ1cHggYXV0byAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAtMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGhlaWdodDogNjVweDtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA2M3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogIzJFMjkyOTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2J1aWxkL3NlYXJjaC5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi52aWV3LXNlYXJjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRfYmx1ZSk7XG5cbiAgJi1maWx0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgfVxuXG4gICYtZm9ybSB7XG4gICAgQGluY2x1ZGUgcGFkKDUycHggMCk7XG4gICAgbWF4LXdpZHRoOiA2MjhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIC52aWV3cy1leHBvc2VkLXdpZGdldCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnZpZXdzLXN1Ym1pdC1idXR0b24ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9zZWFyY2guc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg2N3B4IDAgMjJweClcbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiBlbSgzNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNDNlbTtcbiAgICBjb2xvcjogY29sb3IoZGFya19ncmF5aXNoX3JlZCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG5cbiAgJi1yZXN1bHRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDQyNXB4LCAxZnIpKTtcbiAgICBnYXA6IDE1cHggMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnJlc3VsdCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgyM3B4IDIwcHgpXG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdmFjYW5jeSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgcGFkZGluZzogMTAwcHggMDtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDApO1xuICAgIH1cbiAgfVxuXG4gIC5pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgQGluY2x1ZGUgcGFkKDMwcHggNzhweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oODk4KTtcbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjRweCAxNnB4IDQ4cHggMTZweCk7XG4gICAgfVxuICB9XG5cbiAgLmRlcGFydG1lbnRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjZWQtbGV0dGVycztcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IHJlbSgzNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMS4yM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuZGF0ZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zdW1tYXJ5IHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgYnVsbGV0LXBvaW50cygpO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICAuY3RhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgQGluY2x1ZGUgcGFkKDhweCAxNnB4KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9tYWlsLnN2ZycpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHggNTBweDtcblxuICAgIC5kZXBhcnRtZW50cyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oOCk7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLnN1bW1hcnkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcblxuICAgICAgdWwge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1lZm9ybS1zdWJtaXQtYXBwbHktbm93IHtcbiAgLy8gYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYnViYmxlLnBuZycpIHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcblxuICAuZmllbGQtbmFtZS1maWVsZC1tYXJrdXAtdGl0bGUgcCB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cblxuICAuZW50aXR5LWVudGl0eWZvcm0tdHlwZSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwIDUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDMycHg7XG4gICAgfVxuXG4gICAgLmZpZWxkLXR5cGUtZW1haWwsXG4gICAgLmZpZWxkLXdpZGdldC10ZXh0LXRleHRmaWVsZCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtbGFzdC1uYW1lLFxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWNvbnRhY3QtbnVtYmVyIHtcbiAgICAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtcmVzdW1lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmRyYWdkcm9wZmlsZS1wcm9jZXNzZWQge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuZmllbGRzZXQtbGVnZW5kIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZHNldC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCA2MHB4IDMzJSk7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXR5cGUtbWFuYWdlZC1maWxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTVweCk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3N1Ym1pdC1wbHVzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNnB4IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMThweCA4cHg7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDExMHB4IDAgbnVsbCBudWxsKTtcbiAgICAgICAgICAvL29wYWNpdHk6IDA7XG4gICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTE4cHggbnVsbCBudWxsIDApO1xuICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLy9vcGFjaXR5OiAwO1xuICAgICAgICAgIC8vQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICAgIC8vQGluY2x1ZGUgc2l6ZSgxMzBweCAxMDAlKTtcbiAgICAgICAgICAvL3otaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA2MCUgbnVsbCBudWxsIDMzJSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHRoZWFkLFxuICAgICAgICAuZmlsZS1pY29uLFxuICAgICAgICAudGFibGVkcmFnLWhhbmRsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLW1hbmFnZWQtZmlsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDE0cHgpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Nsb3NlLWRhcmsucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YWJsZWRyYWctdG9nZ2xlLXdlaWdodC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtdHlwZS1lbnRpdHlyZWZlcmVuY2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgc2VsZWN0LFxuICAgIC5zZWxlY3QyIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDcwcHggMCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMCA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweCk7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNDVweCAwO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1yZXN1bWUge1xuXG4gICAgICAgIC5kcmFnZHJvcGZpbGUtcHJvY2Vzc2VkIHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tdHlwZS1tYW5hZ2VkLWZpbGUge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgaW5oZXJpdCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTJweCA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMDtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgaW5oZXJpdCk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvcm0taXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC10eXBlLWVtYWlsLFxuICAgICAgLmZpZWxkLXdpZGdldC10ZXh0LXRleHRmaWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubm9kZS10eXBlLXBhcnRuZXJzIHt9XG5cbi5wYXJ0bmVycy1ib2R5IHtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNDBweCAwKTtcbiAgfVxuXG4gICYtY29udGVudC1tYWluIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA4NjdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtd3JhcCB7XG4gICAgQGluY2x1ZGUgcGFkKDY4cHggMCA2OHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzJweCAwIDU0cHgpO1xuICAgIH1cbiAgXG4gICAgJi1nbG9iYWwge1xuICAgICAgYmFja2dyb3VuZDogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgaDIge1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDM1cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMTZlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg2O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgbWF4LXdpZHRoOiA1ODFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDQ5cHggMCA0MHB4IDEzOHB4KTtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDE7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDE2cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNGVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0JCQkRCRjtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAudGV4dCB7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1heC13aWR0aDogNDkwcHg7XG4gICAgcGFkZGluZzogODFweCAwIDg5cHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cblxufVxuXG4ucGFydG5lcnMtb3VyLXBhcnRlcnMge1xuICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLnRleHQge1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICB9XG5cbiAgLnBhcnRuZXJzLXdyYXAge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICBAaW5jbHVkZSBzaGlmdCgwKTtcbiAgfVxuXG4gIC5wYXJ0bmVycy1saXN0IHtcblxuICAgIGxpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzBweCk7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTQxcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMjJweCAwIDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHpvb206IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgLnBhcnRuZXJzLXdyYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLWxpc3Qge1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwNXB4KTtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMjlweCAyMHB4IDQ4cHg7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICB9XG5cbiAgICAucGFydG5lcnMtbGlzdCB7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWluLWhlaWdodDogNjVweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogODVweDtcbiAgICAgICAgbWFyZ2luOiAwIDhweCAwIDA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB6b29tOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYXJ0bmVycy1wYWdlLWJvZHkge1xuICBwYWRkaW5nOiAxMDBweCAwO1xuXG4gIGgyIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDMwcHggMCAxNXB4O1xuICB9XG5cbiAgdWwge1xuICAgIGNvbHVtbnM6IDI7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMThweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF9ibHVlXzI7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA5cHggbnVsbCBudWxsIDApO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXgtd2lkdGg6IDQxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGNvbHVtbnM6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAudGV4dD5kaXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgaDMge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcHJvZmlsZS1hcnJvd19vcGVuLnN2ZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7fVxufSIsIi5wcmVzcy1wYWdlLWJvZHkge1xuICBwYWRkaW5nOiA3NHB4IDA7XG5cbiAgLmlubmVyIHtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gIH1cbn1cblxuLnByZXNzLXBhZ2UtbWFpbiB7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbn1cblxuLnByZXNzLXBhZ2Uge1xuXG4gICYtZmVhdHVyZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIEBpbmNsdWRlIHBhZCg0NnB4IDAgMTAzcHgpO1xuXG4gICAgJi10aXRsZSB7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmLXRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jdGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA3cHggMTVweCk7XG4gICAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfYmx1ZSkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pdGVtcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICAgIEBpbmNsdWRlIHBhZCgzNHB4IDAgNThweCk7XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgfVxuXG4gICAgJi1jYXJkcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgICAgJi5kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICYudGFibGV0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAua2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDI3NnB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyXG4gICAgfVxuXG4gICAgJi1jdGEge1xuICAgICAgQGluY2x1ZGUgcGFkKDhweCAyNHB4IDhweCAxNnB4KTtcbiAgICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmlldy1ibG9jayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gICAgfVxuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI3NnB4LCAxZnIpKTtcbiAgICAgIGdhcDogMjNweCAzMnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG5cbiAgICAgICAgPi5zbGljay1kb3RzIHtcbiAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNTApO1xuXG4gICAgICAgICAgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zaXRlbWFwLWJhbm5lciB7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogNDBweCAyMHB4IDM0cHg7XG4gIH1cbn1cblxuLnNpdGVtYXAtbWFpbiB7XG4gIHBhZGRpbmc6IDU4cHggMDtcbiAgLy8gYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYnViYmxlLnBuZycpIHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5zaXRlbWFwLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMjVweCAyMHB4IDQ1cHg7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5zaXRlbWFwLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbn0iLCIubm90LWZvdW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA2MTlweDtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcGFkKDAgMjBweCk7XG4gICAgbWluLWhlaWdodDogNDYycHg7XG4gIH1cblxuICAmLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDYzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSg0OSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICB9XG5cbiAgJi1jdGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBAaW5jbHVkZSBwYWQoOXB4IDIzcHggOXB4IDE2cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIH1cbiAgfVxuXG4gICYtc2VhcmNoLWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAzOHB4O1xuXG4gICAgJi1maWVsZFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjFweCA0MHB4IDE2cHgpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihncmF5KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIH1cblxuICAgICYtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9zZWFyY2guc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiA2M3B4O1xuICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTM1cHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC01MHB4IDI1cHggbnVsbCBudWxsKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIG1hcmdpbjogOTBweCBhdXRvIDEwNXB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDQ1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hcmVhLWNoYXJ0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDkwcHg7XG59XG5cbi5yZXBvcnQtcGVyY2VudC1wYWdlIHtcblxuICAudGl0bGUtd3JhcCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cblxuICBoMSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnN1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICAmLmdyaWQge1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcblxuICAgIC5jaGFydHMge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgfVxuXG4gICAgLmNoYXJ0LXdyYXAge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJi5mdWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC50aXRsZS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKiogTEVBR1VFIFRBQkxFICoqKi9cbi5yZXBvcnQtbGVhZ3VlLXBhZ2Uge1xuXG4gIC50aXRsZS13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC50aXRsZS13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMjBweCA0MHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICB9XG5cbiAgICAubGVhZ3VlLXRhYmxlIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAudGl0bGUtd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgfVxuICB9XG59XG5cbi5tYWxlLWJvYXJkcy1jb21wYW5pZXMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VhZWFlYTtcbiAgcGFkZGluZzogMzBweDtcblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLm1hbGUtYm9hcmRzLWNvbXBhbmllcy1oZWFkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTNweDtcblxuICAgICYgPiBkaXYge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgfVxuXG4gIH1cblxuICAubWFsZS1ib2FyZHMtY29tcGFuaWVzLWNvbXBhbnkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcblxuICAgICYgPiBkaXYge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG4gICAgLnN0b2NrIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuaW5kdXN0cnkge1xuICAgICAgYmFja2dyb3VuZDogI2YzZjNmNDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzY2NjI2MjtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDIxcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMDBweCAwIDEwMHB4IDI1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMTRweDtcbiAgICAgICAgLyogdG9wOiA1MCU7ICovXG4gICAgICAgIG1hcmdpbi10b3A6IC05MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZmxhZ2dlZHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAgICAuY29tcGFueXtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDogdXJsKC4uLy4uL3N2Zy9leGNsYW1hdGlvbi5zdmcpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mbGFnLWxlZ2VuZHtcbiAgICBjb2xvcjogIzY2NjI2MjtcbiAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyMHB4IDAgMzVweDtcblxuICAgICY6YmVmb3Jle1xuICAgICAgY29udGVudDogdXJsKC4uLy4uL3N2Zy9leGNsYW1hdGlvbi5zdmcpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgfVxufVxuXG4uYmFyLWxpbmUtc3VtbWFyeSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlYWVhO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAuZGF0YSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luOiAzMHB4IDMwcHggMTBweDtcblxuICAgICYgPiBkaXYge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDIzcHggMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgLmRhdGEtMSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogMTJweDtcbiAgICAgIH1cblxuICAgIH1cbiAgICAuZGF0YS0yIHtcbiAgICAgIGJhY2tncm91bmQ6ICM2NjRmYTM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDEwMHB4IDAgMTAwcHggNDBweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogLTQ2cHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAubnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgIH1cbiAgICAucGVyY2VudCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5tZXNzYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGNvbG9yOiAjM2IzNTM1O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAudG90YWwge1xuICAgICAgZm9udC1zaXplOiByZW0oMjYpO1xuICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLmRhdGEge1xuICAgICAgbWFyZ2luOiAyMHB4IDIwcHggMTBweDtcblxuICAgICAgLmRhdGEtMSB7XG4gICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgIH1cbiAgICAgIC5kYXRhLTIge1xuICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICB9XG5cbiAgICAgIC5udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICB9XG4gICAgICAucGVyY2VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZSB7XG5cbiAgICAgIC50b3RhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1hbGUtYm9hcmRzLXN0YXRzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmID4gZGl2IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC52YWx1ZSB7XG4gICAgZm9udC1zaXplOiByZW0oNDUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cbiAgLmxhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzU0NTE1MTtcbiAgfVxuXG4gIC5sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDI1cHggMCAyNXB4IDEycHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAyN3B4O1xuICAgIH1cblxuICB9XG4gIC5yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAudmFsdWUge1xuICAgICAgY29sb3I6ICM2NjRmYTM7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMjVweCAwIDI1cHggMTJweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzY2NGZhMztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAyN3B4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogMzBweCAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMjVweCAwIDI1cHggMTJweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICYgPiBkaXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAubGVmdCB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLnJpZ2h0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4ucmVwb3J0LW1ldGhvZG9sb2d5LXBhZ2Uge1xuXG4gIC5ub2RlLWlubmVyLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICB9XG5cbiAgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gIH1cblxuICAuYm9keSB7XG4gICAgdWwsIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucmVwb3J0LWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfYmx1ZTtcbiAgcGFkZGluZzogNjBweCAwIDM1cHg7XG5cbiAgLnJlcG9ydC1saW5rIHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDMxcHg7XG4gICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3ZnL2Fycm93LXJpZ2h0LnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQgIzU0NTE1MTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMxcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDFweDtcbiAgICB9XG4gIH1cblxuICAubGluay10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4IDE1cHg7XG5cbiAgICAucmVwb3J0LWxpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMjBweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9zdmcvYXJyb3ctcmlnaHQuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCAjNTQ1MTUxO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluay10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxufVxuXG4ucmVwb3J0LXN1Yi1saW5rcyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjRmNGY1O1xuICB9XG5cbiAgdWwge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cblxuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICB9XG5cbiAgYSB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDIzcHggNXB4IDIzcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0ycHg7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tb2JpbGUtbW9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgIHVsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgcGFkZGluZzogMTRweCAwIDlweDtcbiAgICB9XG5cbiAgICAubW9iaWxlLW1vcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTRweCAwIG51bGwgbnVsbCk7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICBjb2xvcjogIzU0NTE1MTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg2cHgpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNnB4IDAgbnVsbCBudWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaGVhZGVyLWFyb293LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucmVwb3J0LXBhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZmJmOWY4O1xuXG4gIC5wcm9ncmFtbWUtaGVhZGVyIHtcblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMzEpO1xuICAgIH1cbiAgfVxuXG4gIC5yZXBvcnQtc3ViLWxpbmtzIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLnJlcG9ydC1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogNDNweCAwIDYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG4gIH1cblxuICAucmVwb3J0LW1lc3NhZ2UtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDFiYTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwcHg7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgdG9wOiA2cHg7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgfVxuXG4gIC5yZXBvcnQtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlYWVhO1xuXG4gICAgICAuZGF0YS1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDc0NTQ1O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjk7XG4gICAgICAgIHRvcDogODBweDtcbiAgICAgICAgcmlnaHQ6IC0yMXB4O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yZXBvcnQtc2hhcmUtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3ZnL3NoYXJlLnN2ZykgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5rZXktZGF0YSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5oc2ktd29tYW4td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAyNXB4IDIwcHggMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgwKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxM3B4IDcyLjVweCAwIDcyLjVweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmM2ODJkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgMCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cblxuICAgICAgLmxhc3QtcG9pbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnBvaW50IHtcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZjNjgyZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMS4wNHB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM1NDUxNTE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdhdWdlLWNoYXJ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlYWVhO1xuICAgIH1cblxuICAgIC5nYXVnZUNvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuZGF0YSB7XG4gICAgICAgIEBpbmNsdWRlIHJvdygpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIC53b21hbiwgLm1hbiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53b21hbiB7XG4gICAgICAgICAgY29sb3I6ICNmYzY4MmQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWFuIHtcbiAgICAgICAgICBjb2xvcjogIzY2NGZhMztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wZXJjZW50YWdlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDhweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBtYXJnaW46IDVweCAwIDNweDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5udW1iZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50b3RhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yODtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFuYWx5c2lzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgbWFyZ2luOiAzMHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5OTk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAyNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAuYW5hbHlzaXMtcG9wdXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuYW5hbHlzaXMtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzQ3NDU0NTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgbGVmdDogMnB4O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYW5hbHlzaXMtaGVhZGVyIHtcbiAgICAgIGNvbG9yOiAjNDc0NTQ1O1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMTZweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMnB4IDhweCAycHggMjFweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9zZWFyY2guc3ZnKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQgJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHggYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYW5hbHlzaXMtdGV4dCB7XG4gICAgICBjb2xvcjogIzY2NjI2MjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuZ2F1Z2VDb250ZW50IHtcblxuICAgICAgICAuZGF0YSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1vc3QtZXZlbnRmdWwge1xuICAgICYgPiBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIC5sZWFndWUtdGFibGUtaGVhZGVyLCAuYXJyb3cge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucmVwb3J0LXNlY3Rpb24tdG9wLTEwIHtcbiAgICAmID4gaDMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAubGVhZ3VlLXRhYmxlLWhlYWRlciwgLmFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmhvcml6b250YWwtY2hhcnQge1xuICAgIHBhZGRpbmc6IDM5cHggMzRweDtcblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjM2IzNTM1O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG5cbiAgICAudmFsdWUtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5iYXJzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxNHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWFlYWVhO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VhZWFlYTtcblxuICAgICAgKiB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxcHggMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCAwKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhci0xIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmQxYmE7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLnZhbHVlLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweCA5cHg7XG4gICAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuXG4gICAgICAgIC5wZXJjZW50IHtcbiAgICAgICAgICBjb2xvcjogI2ZmZDFiYTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zaG93LW91dHNpZGUge1xuICAgICAgICAucGVyY2VudCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuYmFyLTIgLnZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM2NjRmYTM7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICAgIC5iYXItMyAudmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogI2FiOWVjYztcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB9XG4gICAgLmJhci00IC52YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTNkY2YyO1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cblxuICAgIC55ZWFycyB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAjNDc0NTQ1O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjcyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDExcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjY0ZmEzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2FiOWVjYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTNkY2YyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmVzcy1pdGVtcyB7XG4gICAgcGFkZGluZzogMzBweCAyM3B4O1xuICB9XG4gIC5wcm9ncmVzcy1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkY2VhO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDhweDtcbiAgICB9XG4gICAgLnRleHQtd3JhcCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAucHJvZ3Jlc3MtaXRlbS1oZWFkZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIG1hcmdpbjogMCAwIC0zcHg7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB9XG5cbiAgICAuYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmQxYmE7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuYmFyLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICB9XG5cbiAgfVxuXG4gIC5yZXBvcnQtYW5hbHlzaXMtd3JhcCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDI1cHggMjBweCA0MHB4O1xuICB9XG5cbiAgLnJlcG9ydC1hbmFseXNpcy1pbnRybyB7XG4gICAgYmFja2dyb3VuZDogIzQ3NDU0NTtcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHggMzVweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHJlbSgyNik7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG4gIH1cblxuICAucmVwb3J0LWFuYWx5c2lzLW1haW4ge1xuICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAucmVwb3J0LW1lc3NhZ2Uge1xuICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xuICAgICAgcGFkZGluZzogNDZweCAwIDMycHg7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlcG9ydC1tZXNzYWdlLWlubmVyIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGxlZnQ6IC0yN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMzJweCAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC5yZXBvcnQtbWVzc2FnZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIycHggMjJweDtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVwb3J0LW1lc3NhZ2UtaW5uZXIge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbGVmdDogLTE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4td3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAyN3B4IDA7XG4gICAgfVxuXG4gICAgLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnJlcG9ydC1zZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIxcHg7XG5cbiAgICAgICAgLnJlcG9ydC1zaGFyZS1saW5rIHtcbiAgICAgICAgICByaWdodDogMjFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRhLWxpbmsge1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICAgIHRvcDogNDJweDtcbiAgICAgICAgICByaWdodDogMjFweDtcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC03cHgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmtleS1kYXRhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDc1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIH1cblxuICAgICAgLmhzaS13b21hbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNnB4IDMzLjVweCAwIDMzLjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb2ludCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42cHg7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jaGFydC13cmFwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnNpbmdsZS1hcmVhLWNoYXJ0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTc1cHg7XG4gICAgICB9XG5cbiAgICAgIC5nYXVnZUNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMzBweCkpO1xuXG4gICAgICAgIC5kYXRhIHtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucGVyY2VudGFnZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbmFseXNpcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDAgMTNweDtcblxuICAgICAgICAuYW5hbHlzaXMtbGluayB7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgdG9wOiAzcHg7XG5cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFuYWx5c2lzLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhvcml6b250YWwtY2hhcnQge1xuICAgICAgcGFkZGluZzogMjBweCAyM3B4O1xuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLmJhcnMge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDMuOHB4O1xuICAgICAgfVxuXG4gICAgICAuYmFyLTEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgcGFkZGluZzogN3B4IDEwcHggNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC55ZWFycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vc3QtZXZlbnRmdWwge1xuICAgICAgJiA+IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDFweCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGVhZ3VlLXRhYmxlLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXBvcnQtYW5hbHlzaXMtaW50cm8ge1xuICAgICAgcGFkZGluZzogMTRweCAyMnB4IDIxcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXBvcnQtYW5hbHlzaXMtbWFpbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucmVwb3J0LWxpc3QtaGVhZGVyIHtcbiAgcGFkZGluZzogMzBweCAyMnB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgcm93KCk7XG5cbiAgLmhlYWRlci1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAmLmZ0LWRpcmVjdG9yIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL1N0YXItMi5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICB9XG5cbiAgICAmLmZ0LWNvcnAtZGlyZWN0b3Ige1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvU3Rhci0zLnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgLmhlYWRlci1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucmVwb3J0LWxpc3Qge1xuICBwYWRkaW5nOiAzMHB4IDIycHg7XG4gIG1hcmdpbjogMDtcblxuICBsaSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5maXJzdC10aW1lLWRpcmVjdG9yLW9uLWhzaS1ib2FyZCwgJi5maXJzdC10aW1lLWFwcG9pbnRlZC1jb3Jwb3JhdGUtZGlyZWN0b3ItaW4taG9uZy1rb25nIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgICAgcmlnaHQ6IC0xMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZpcnN0LXRpbWUtZGlyZWN0b3Itb24taHNpLWJvYXJkOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2J1aWxkL1N0YXItMi5wbmcpIGNlbnRlciA0cHggbm8tcmVwZWF0ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgICB9XG4gICAgJi5maXJzdC10aW1lLWFwcG9pbnRlZC1jb3Jwb3JhdGUtZGlyZWN0b3ItaW4taG9uZy1rb25nIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2J1aWxkL1N0YXItMy5wbmcpIGNlbnRlciA0cHggbm8tcmVwZWF0ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmltYWdlIHtcbiAgICB3aWR0aDogOTRweDtcbiAgICBoZWlnaHQ6IDk0cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2J1aWxkL2RlZmF1bHQtYXZhdGFyLWZlbWFsZS5wbmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAucm9sZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGNvbG9yOiAjNjY2MjYyO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmNvbXBhbnkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcblxuICAgIHN2ZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG59XG5cbi5jaGFydC1oZWFkZXIge1xuICBAaW5jbHVkZSByb3coKTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMTVweCAxNXB4IDAgMTVweDtcblxuICAuZmxhZywgLmluZm8ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmZsYWcge1xuICAgIHdpZHRoOiAzMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkY2VhO1xuICAgIHBhZGRpbmc6IDNweDtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDlweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG5cbiAgICAuY2hhcnQtdGl0bGUge1xuICAgICAgY29sb3I6ICMzYjM1MzU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIH1cblxuICAgIC5jaGFydC1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogIzU0NTE1MTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1uZXctYXBwb2ludG1lbnRzIHtcblxuICBtaW4taGVpZ2h0OiA2MDBweDtcblxuICBoMSB7XG4gICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmJvZHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgLnJlcG9ydC1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICB9XG4gIH1cbn1cblxuLnNoYXJlLXBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFuYWx5c2lzLXBvcHVwLWlubmVyLnNoYXJlIHtcbiAgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICBjb2xvcjogIzU0NTE1MTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG5cbi5ub2RlLXJlcG9ydC1tZXRob2RvbG9neSB7XG5cbiAgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICB9XG5cbiAgICAuYm9keSB7XG4gICAgICBwYWRkaW5nOiAwIDIycHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbiAgfVxufVxuXG4ubm9kZS1yZXBvcnQge1xuICAuY2hhcnQtd3JhcCB7XG4gICAgLmhpZ2hjaGFydHMtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5ub2RlLXJlcG9ydC1wZXJjZW50YWdlLmZ1bGwgLmFyZWEtY2hhcnQge1xuICAuaGlnaGNoYXJ0cy1kYXRhLWxhYmVscyB7XG4gICAgLmhpZ2hjaGFydHMtZGF0YS1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzVweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlnaGNoYXJ0cy1kYXRhLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5oaWdoY2hhcnRzLXNlcmllcy0wIHtcbiAgICAgIC5oaWdoY2hhcnRzLWRhdGEtbGFiZWwgKiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1wYXJ0bmVycy1wYWdlIHtcbiAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xufVxuXG4udmlldy1yZXBvcnQtcGFydG5lcnMge1xuXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLnBhcnRuZXIge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICBmaWx0ZXI6IGJsdXIoMTVweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0yNXB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA4MHB4KTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gIH1cblxuICAucGFydG5lci1pbm5lciB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAucGFydG5lciB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG5cbiAgfVxuXG4gIC5wYWdlciB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAucGFydG5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICB9XG4gICAgLmltYWdlLXdyYXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5wYXJ0bmVyIHtcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLm5vZGUtdHlwZS1yZXBvcnQge1xuXG4gIC5wcm9ncmFtbWUtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMTVweCAwIDUwcHg7XG5cbiAgICAuc3BvbnNvcnMge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICAubGVhZC1zcG9uc29yLCAuZ29sZC1zcG9uc29yIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGxpbmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmxlYWQtc3BvbnNvciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG5cbiAgICAgIC8vLmxvZ28ge1xuICAgICAgLy8gIG1heC13aWR0aDogOTBweDtcbiAgICAgIC8vfVxuICAgIH1cblxuICAgIC8vLmdvbGQtc3BvbnNvciAubG9nbyB7XG4gICAgLy8gIG1heC13aWR0aDogNzBweDtcbiAgICAvL31cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC5wcm9ncmFtbWUtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDExNXB4IDIwcHggNTBweDtcblxuICAgICAgLnNwb25zb3JzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIH1cblxuICAgICAgLmxlYWQtc3BvbnNvciwgLmdvbGQtc3BvbnNvciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAubG9nbyB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgICAgbWF4LWhlaWdodDogNjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGVhZC1zcG9uc29yIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG5cbiAgICAgICAgLy8ubG9nbyB7XG4gICAgICAgIC8vICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAgIC8vfVxuICAgICAgfVxuXG4gICAgICAvLy5nb2xkLXNwb25zb3IgLmxvZ28ge1xuICAgICAgLy8gIG1heC13aWR0aDogNzBweDtcbiAgICAgIC8vfVxuICAgIH1cbiAgfVxufVxuXG4ubm9kZS10eXBlLXJlcG9ydC1wYXJ0bmVycyB7XG5cbiAgLnBhcnRuZXJzIHtcbiAgICBAaW5jbHVkZSByb3coKTtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG4gICAgLnBhcnRuZXJzLXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ3cHg7XG4gICAgfVxuICB9XG5cbiAgLnBhcnRuZXIge1xuICAgIEBpbmNsdWRlIHJvdygpO1xuXG4gICAgLnBhcnRuZXItd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSByb3coKTtcbiAgICB9XG5cbiAgICAucGFydG5lci10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC5wYXJ0bmVyIHtcblxuICAgICAgLnBhcnRuZXItdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkcGFsZS1vcmFuZ2U6ICNmZmQxYmE7XG5cbi5yZXBvcnQtY3RhLXBhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDQzcHggMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDNweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF9ibHVlXzI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFsZS1vcmFuZ2U7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDBweDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuXG4gIH1cblxuICAudGVzdGltb25pYWwge1xuICAgIHBhZGRpbmc6IDM3cHggMjBweCAzMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmLnNsaWNrLWN1cnJlbnQge1xuXG4gICAgICAudGV4dDpiZWZvcmUsXG4gICAgICAudGV4dDphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMjBweCAzMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBAaW5jbHVkZSBzaXplKDc1cHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zNnB4IG51bGwgbnVsbCA1MCUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAwIG51bGwpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MiwgMTA0LCA0NSwgMC43NSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiA2MzNweDtcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvIDE1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuXG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg0OHB4IDM4cHgpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTE5cHggbnVsbCBudWxsIC0yMXB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcXVvdGUtbGVmdC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDI3cHggLTE5cHggbnVsbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3F1b3RlLXJpZ2h0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc4O1xuICAgIH1cbiAgICAuam9iLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42NztcbiAgICB9XG4gIH1cblxuICAud2hhdC1jYW4tYmUtZG9uZSB7XG4gICAgYmFja2dyb3VuZDogJHBhbGUtb3JhbmdlO1xuICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUxcHg7XG4gICAgfVxuXG4gIH1cblxuICAud2NiZC1saW5rcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICB3aWR0aDogNjNweDtcbiAgICAgIGhlaWdodDogNjNweDtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDYzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rLW5hbWUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgbGkuYWN0aXZlIHtcblxuICAgICAgLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC53Y2JkLWNvbnRlbnQtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA3OTdweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC53Y2JkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDUwcHggODBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICBkbCB7XG4gICAgICBtYXgtd2lkdGg6IDYzNHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgZHQsIGRkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgfVxuXG4gICAgfVxuICAgIGRkIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMjYpO1xuICAgIH1cblxuICAgIC53aGF0LWNhbi1iZS1kb25lIHtcblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC53Y2JkLWNvbnRlbnQtd3JhcCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLndjYmQtY29udGVudCB7XG5cbiAgICAgIGRsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0xN3B4O1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgd2lkdGg6IDExLjVweDtcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC53Y2JkLWxpbmtzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDU1cHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxpbmstbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndjYmQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDMwcHggMzBweCA0MHB4O1xuXG4gICAgICBkdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMHB4KTtcbiAgICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnJlcG9ydC1uZXdzLXBhZ2Uge1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgLmFydGljbGVzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAuY2FyZCB7XG4gICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgLmFydGljbGVzIHtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC5hcnRpY2xlcyB7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAuYXJ0aWNsZXMge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmV4dGVybmFsLXJlc291cmNlcyB7XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuXG4gIGgyIHtcbiAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy8gZm9udC1zaXplOiByZW0oMjgpO1xuICAgIC8vIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgZm9udC1zaXplOiByZW0oMzVweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4NnB4LCAxZnIpKTtcbiAgICBnYXA6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg5MCk7XG5cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oLTUwKTtcblxuICAgICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3BpYy1jb250ZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMxOHB4O1xuICAgIH1cblxuICAgIC50b3BpYyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogMjg2cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogcmVtKDc1KTtcbiAgICB9XG5cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDIzcHggNnB4IDE1cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgfVxuICB9XG59XG5cbi5leHRlcm5hbC1yZXNvdXJjZXMtaW5uZXIge1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVybW9iaWxlKSB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IDFlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgY29sdW1uLWNvdW50OiA0O1xuICAgIGNvbHVtbi1nYXA6IDFlbTtcbiAgfVxuXG59XG5cbi5leHRlcm5hbC1yZXNvdXJjZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwYWRkaW5nOiAzMHB4IDIwcHggMTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZGF0ZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgfVxuXG59XG5cbi5ub2RlLW5ld3MtcHVibGljYXRpb24sXG4uZXZlbnQtZGV0YWlsIHtcbiAgLmV4dGVybmFsLXJlc291cmNlcyB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG59XG5cbi5ldmVudHMtbGFuZGluZy1wYWdlIHtcblxuICAuZXh0ZXJuYWwtcmVzb3VyY2VzIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cblxuICAuc2hhcmUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4ubm9kZS1uZXdzLXB1YmxpY2F0aW9uIHtcbiAgLm1haW4td3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICB9XG4gIH1cbn0iLCJAaW1wb3J0IFwiYnV5LXRpY2tldHMtZm9ybVwiO1xuQGltcG9ydCBcInJlZ2lzdGVyXCI7XG4iLCIuYnV5LXRpY2tldHMtZm9ybSB7XG5cbiAgLnRpY2tldHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC50aWNrZXQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLnRleHQtd3JhcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gICAgfVxuXG4gICAgLnF1YW50aXR5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIEBpbmNsdWRlIHBhZCg3cHggMjVweCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICB9XG5cbiAgICAuYnV5LXRpY2tldHMtZm9ybS1hZGQtc2luZ2xlLXRvLWNhcnQsIC5mcmVlLXB1YmxpY2F0aW9uLWRvd25sb2FkLWxpbmsge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmljZSB7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLnRpY2tldC10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICB9XG5cbiAgLmZyZWUtdGlja2V0cy1pbmZvIHtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgfVxuXG4gIC50aWNrZXQtdGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBsaW5lLWhlaWdodDogMS41OTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMCA1cHggMCAxOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5xdWFudGl0eS1uYXYge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgLnF1YW50aXR5LWJ1dHRvbiB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTJweCAxNXB4KTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5xdWFudGl0eS11cCB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDlweCAwIG51bGwpO1xuICAgICAgfVxuXG4gICAgICAmLnF1YW50aXR5LWRvd24ge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIDAgOHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luOiAxMnB4IDA7XG5cbiAgICBhIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAxcHggMCAxOHB4O1xuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJlbWFyayB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDM5MHB4O1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxuXG4gIC5hamF4LXJlc3BvbnNlIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLnRpY2tldCB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICAgIC50ZXh0LXdyYXAge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgfVxuXG4gICAgICAucXVhbnRpdHkge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDUwcHggNDBweCk7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg2cHggN3B4IDlweCk7XG4gICAgICB9XG5cbiAgICAgIC5idXktdGlja2V0cy1mb3JtLWFkZC1zaW5nbGUtdG8tY2FydCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC50aWNrZXQtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG5cbiAgICAucXVhbnRpdHktbmF2IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG5cbiAgICAgIC5xdWFudGl0eS1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTBweCAxNHB4KTtcblxuICAgICAgICAmLnF1YW50aXR5LXVwIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNnB4IDdweCAwIG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5xdWFudGl0eS1kb3duIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMjJweCBudWxsIG51bGwgMzJweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgYSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlbWFyayB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIH1cblxuICAgIC5hamF4LXJlc3BvbnNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxuICB9XG5cbiAgLnN0aWxsLWFjdGl2ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIH1cbn0iLCIjdXNlci1wcm9maWxlLWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxNDQwcHgpO1xuICBAaW5jbHVkZSBwYWQoNTBweCAwKTtcbiAgbWluLWhlaWdodDogNTAwcHg7XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgLy8gICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAvLyB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgLy8gICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpO1xuICAvLyB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gIH1cblxuICAucGFzc3dvcmQtc3RyZW5ndGgsXG4gIC5wYXNzd29yZC1jb25maXJtIHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmZvcm0taXRlbS1uYW1lLFxuICAuZm9ybS1pdGVtLW1haWwsXG4gIC5mb3JtLWl0ZW0tcGFzcy1wYXNzMSxcbiAgLmZvcm0taXRlbS1wYXNzLXBhc3MyLFxuICAuZmllbGQtbmFtZS1maWVsZC1maXJzdC1uYW1lLFxuICAuZmllbGQtbmFtZS1maWVsZC1sYXN0LW5hbWUsXG4gIC5maWVsZC1uYW1lLWZpZWxkLWNvbnRhY3QtbnVtYmVyLFxuICAuZmllbGQtbmFtZS1maWVsZC1jb21wYW55LW5hbWUsXG4gIC5mb3JtLWl0ZW0tY3VycmVudC1wYXNzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMzBweCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZm9ybS1pdGVtLW5hbWUsXG4gIC5mb3JtLWl0ZW0tcGFzcy1wYXNzMixcbiAgLmZpZWxkLW5hbWUtZmllbGQtY29udGFjdC1udW1iZXIsXG4gIC5maWVsZC1uYW1lLWZpZWxkLWxhc3QtbmFtZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDU0cHg7XG4gIH1cblxuICAjdXNlci1wYXNzIHtcbiAgICAuZm9ybS1pdGVtLW5hbWUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAjdXNlci1sb2dpbiB7XG4gICAgLmZvcm0taXRlbS1uYW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDI2cHggMCAwO1xuICAgIH1cbiAgfVxuXG4gICN1c2VyLXJlZ2lzdGVyIHtcbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbjogMjdweCAwIDA7XG4gICAgfVxuICB9XG5cblxuICAuY2FwdGNoYSB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggMjBweDtcblxuICAgIC5maWVsZHNldC1sZWdlbmQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1maWxlIHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDQ1cHggMCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIwcHgpO1xuXG4gICAgLnBhc3N3b3JkLXN0cmVuZ3RoIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLW5hbWUsXG4gICAgLmZvcm0taXRlbS1tYWlsLFxuICAgIC5mb3JtLWl0ZW0tcGFzcy1wYXNzMSxcbiAgICAuZm9ybS1pdGVtLXBhc3MtcGFzczIsXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtY29udGFjdC1udW1iZXIsXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtY29tcGFueS1uYW1lLFxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWZpcnN0LW5hbWUsXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtbGFzdC1uYW1lLFxuICAgIC5mb3JtLWl0ZW0tY3VycmVudC1wYXNzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0tbWFpbCxcbiAgICAuZm9ybS1pdGVtLXBhc3MtcGFzczIsXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtbGFzdC1uYW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5tZXNzYWdlcy5lcnJvciB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgfVxuICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnQ0FBZ0M7QWlHRWhDLE9BQU8sQ0FBQywwRUFBSTtBaEJDVixBQUFBLElBQUksQ0FBQztFaEJNQyxrQkFBb0IsRWdCTEosVUFBVTtFaEJVMUIsZUFBaUIsRWdCVkQsVUFBVTtFaEJ5QjFCLFVBQVksRWdCekJJLFVBQVUsR0FDL0I7O0FBRUQsQUFDRSxDQURELEVBQUQsQ0FBQyxBQUVFLE9BQU8sRUFGVixDQUFDLEFBR0UsTUFBTSxDQUFDO0VoQkRKLGtCQUFvQixFZ0JFRixPQUFPO0VoQkd6QixlQUFpQixFZ0JIQyxPQUFPO0VoQmtCekIsVUFBWSxFZ0JsQk0sT0FBTyxHQUM1Qjs7QWFaTCw0REFBNEQ7QUFFNUQ7Ozs7R0FJRztBYkhELEFBQUEsSUFBSSxDYUtEO0VBQ0gsV0FBVyxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQ2hDLG9CQUFvQixFQUFFLElBQUk7RUFBRSxPQUFPO0VBQ25DLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQUVILEFBQUEsT0FBTztBQUNQLEtBQUs7QUFDTCxPQUFPO0FBQ1AsVUFBVTtBQUNWLE1BQU07QUFDTixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixJQUFJO0FBQ0osSUFBSTtBQUNKLEdBQUc7QUFDSCxPQUFPO0FBQ1AsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEtBQUs7QUFDTCxNQUFNO0FBQ04sUUFBUTtBQUNSLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFZO0VBQUUsT0FBTztFQUM5QixjQUFjLEVBQUUsUUFBUTtFQUFFLE9BQU8sRUFDbEM7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxLQUFLLEFBQUEsSUFBSyxFQUFBLEFBQUEsUUFBQyxBQUFBLEdBQVc7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOzs7R0FHRztDQUVILEFBQUEsQUFBQSxNQUFDLEFBQUE7QUFDRCxRQUFRLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsQ0FBQyxDQUFDO0VBQ0EsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsQ0FBQyxBQUFBLE9BQU87QUFDUixDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQSxBQUFBLEtBQUMsQUFBQSxFQUFPO0VBQ1YsYUFBYSxFQUFFLFVBQVUsR0FDMUI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLENBQUM7QUFDRCxNQUFNLENBQUM7RUFDTCxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsR0FBRyxDQUFDO0VBQ0YsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsR0FBRztFQUNkLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVEOztHQUVHO0FBRUgsQUFBQSxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsR0FBRyxHQUNmOztBQUVEOztHQUVHO0FBRUgsQUFBQSxHQUFHO0FBQ0gsR0FBRyxDQUFDO0VBQ0YsU0FBUyxFQUFFLEdBQUc7RUFDZCxXQUFXLEVBQUUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGNBQWMsRUFBRSxRQUFRLEdBQ3pCOztBQUVELEFBQUEsR0FBRyxDQUFDO0VBQ0YsR0FBRyxFQUFFLE1BQU0sR0FDWjs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsR0FBRyxBQUFBLElBQUssQ0FBQSxLQUFLLEVBQUU7RUFDYixRQUFRLEVBQUUsTUFBTSxHQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxFQUFFLENBQUM7RUFDRCxlQUFlLEVBQUUsV0FBVztFQUM1QixVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztHQUVHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixRQUFRLEVBQUUsSUFBSSxHQUNmOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJO0FBQ0osR0FBRztBQUNILEdBQUc7QUFDSCxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsb0JBQW9CO0VBQ2pDLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOzs7OztHQUtHO0FBRUgsQUFBQSxNQUFNO0FBQ04sS0FBSztBQUNMLFFBQVE7QUFDUixNQUFNO0FBQ04sUUFBUSxDQUFDO0VBQ1AsS0FBSyxFQUFFLE9BQU87RUFBRSxPQUFPO0VBQ3ZCLElBQUksRUFBRSxPQUFPO0VBQUUsT0FBTztFQUN0QixNQUFNLEVBQUUsQ0FBQztFQUFFLE9BQU8sRUFDbkI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxPQUFPLEdBQ2xCOztBQUVEOzs7OztHQUtHO0FBRUgsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFDO0VBQ0wsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBRUQ7Ozs7OztHQU1HO0FBRUgsQUFBQSxNQUFNO0FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7QUFDWCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0VBQ25CLGtCQUFrQixFQUFFLE1BQU07RUFBRSxPQUFPO0VBQ25DLE1BQU0sRUFBRSxPQUFPO0VBQUUsT0FBTyxFQUN6Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsTUFBTSxDQUFBLEFBQUEsUUFBQyxBQUFBO0FBQ1AsSUFBSSxDQUFDLEtBQUssQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0VBQ25CLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxNQUFNLEFBQUEsa0JBQWtCO0FBQ3hCLEtBQUssQUFBQSxrQkFBa0IsQ0FBQztFQUN0QixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxLQUFLLENBQUM7RUFDSixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFFRDs7Ozs7O0dBTUc7QUFFSCxBQUFBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWY7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWM7RUFDbEIsVUFBVSxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQy9CLE9BQU8sRUFBRSxDQUFDO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7OztHQUlHO0FBRUgsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCO0FBQy9DLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYywyQkFBMkIsQ0FBQztFQUM5QyxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVEOzs7O0dBSUc7QUFFSCxBQUFBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNuQixrQkFBa0IsRUFBRSxTQUFTO0VBQUUsT0FBTztFQUN0QyxlQUFlLEVBQUUsV0FBVztFQUM1QixrQkFBa0IsRUFBRSxXQUFXO0VBQUUsT0FBTztFQUN4QyxVQUFVLEVBQUUsV0FBVyxHQUN4Qjs7QUFFRDs7OztHQUlHO0FBRUgsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsOEJBQThCO0FBQ2xELEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYywyQkFBMkIsQ0FBQztFQUM5QyxrQkFBa0IsRUFBRSxJQUFJLEdBQ3pCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxRQUFRLENBQUM7RUFDUCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLHFCQUFxQixHQUMvQjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxDQUFDO0VBQUUsT0FBTztFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUFFLE9BQU8sRUFDcEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxJQUFJLEdBQ2Y7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxRQUFRLENBQUM7RUFDUCxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSCxBQUFBLEtBQUssQ0FBQztFQUNKLGVBQWUsRUFBRSxRQUFRO0VBQ3pCLGNBQWMsRUFBRSxDQUFDLEdBQ2xCOztBQUVELEFBQUEsRUFBRTtBQUNGLEVBQUUsQ0FBQztFQUNELE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FDMWFELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsTUFBTSxHQUFHOztBQUN6QixBQUFBLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDO0VBQzVDLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLG1CQUFtQixFQUFFLElBQUksR0FBRzs7QUFDNUIsQUFBQSxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyw0QkFBNEIsQ0FBQztFQUN6RSxPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRUFBRSxHQUFHO0VBQ2pCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNLEdBQUc7O0FBQ3hCLEFBQUEsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUM7RUFDdEUsUUFBUSxFQUFFLFFBQVEsR0FBRzs7QUFDekIsQUFBQSxrQkFBa0IsQ0FBQSxBQUFBLEdBQUMsQ0FBSSxLQUFLLEFBQVQsRUFBVywwQkFBMEIsQ0FBQyw0QkFBNEIsQ0FBQztFQUNwRixhQUFhLEVBQUUsR0FBRztFQUNsQixZQUFZLEVBQUUsSUFBSSxHQUFHOztBQUN2QixBQUFBLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0VBQzlDLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsSUFBSTtFQUNoQixXQUFXLEVBQUUsSUFBSTtFQUNqQixtQkFBbUIsRUFBRSxJQUFJLEdBQUc7O0FBQzVCLEFBQUEsa0JBQWtCLENBQUMsNEJBQTRCLENBQUMsNEJBQTRCLENBQUM7RUFDM0UsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLE1BQU07RUFDaEIsWUFBWSxFQUFFLEdBQUc7RUFDakIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsV0FBVyxFQUFFLE1BQU0sR0FBRzs7QUFDMUIsQUFBQSxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQztFQUN6QyxLQUFLLEVBQUUsSUFBSSxHQUFHOztBQUNkLEFBQUEsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUM7RUFDaEUsVUFBVSxFQUFFLFVBQVU7RUFDdEIsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxHQUFHO0VBQ2YsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFDYixBQUFBLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixBQUFBLDhCQUE4QixDQUFDO0VBQzlGLGtCQUFrQixFQUFFLElBQUksR0FBRzs7QUFFbkMsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLE1BQU0sRUFBRSxjQUFjO0VBQ3RCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLFNBQVM7RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxJQUFJLEdBQUc7O0FBRWxCLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsS0FBSyxHQUFHOztBQUVuQixBQUFBLHlCQUF5QixDQUFDO0VBQ3hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxHQUFHO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsbUJBQW1CLEVBQUUsSUFBSSxHQUFHOztBQUM1QixBQUFBLHdCQUF3QixDQUFBLEFBQUEsYUFBQyxBQUFBLEVBQWU7RUFDdEMsTUFBTSxFQUFFLE9BQU8sR0FBRzs7QUFFdEIsQUFBQSx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQztFQUN6QyxJQUFJLEVBQUUsQ0FBQyxHQUFHOztBQUVaLEFBQUEsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7RUFDaEQsYUFBYSxFQUFFLElBQUk7RUFDbkIseUJBQXlCLEVBQUUsQ0FBQztFQUM1QiwwQkFBMEIsRUFBRSxDQUFDLEdBQUc7O0FBRWxDLEFBQUEsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7RUFDaEQsVUFBVSxFQUFFLElBQUk7RUFDaEIsc0JBQXNCLEVBQUUsQ0FBQztFQUN6Qix1QkFBdUIsRUFBRSxDQUFDLEdBQUc7O0FBRS9CLEFBQUEseUJBQXlCLENBQUM7RUFDeEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsR0FBRyxHQUFHOztBQUNmLEFBQUEseUJBQXlCLENBQUMsc0JBQXNCLENBQUM7RUFDL0MsT0FBTyxFQUFFLEdBQUc7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxVQUFVLEdBQUc7O0FBQ3pCLEFBQUEseUJBQXlCLENBQUMsc0JBQXNCLEFBQUEsOEJBQThCLENBQUM7RUFDN0Usa0JBQWtCLEVBQUUsSUFBSSxHQUFHOztBQUMvQixBQUFBLHlCQUF5QixBQUFBLHFCQUFxQixDQUFDO0VBQzdDLE9BQU8sRUFBRSxJQUFJLEdBQUc7O0FBRXBCLEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsS0FBSztFQUNmLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxFQUFFO0VBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixNQUFNLEVBQUUsZ0JBQWdCLEdBQUc7O0FBRTdCLEFBQUEsMEJBQTBCLENBQUM7RUFDekIsTUFBTSxFQUFFLFlBQVk7RUFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxVQUFVO0VBQzlCLE1BQU0sRUFBRSxjQUFjO0VBQ3RCLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7RUFDM0IsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLG1CQUFtQjtFQUM3QixLQUFLLEVBQUUsY0FBYyxHQUFHOztBQUUxQixBQUFBLDJCQUEyQixDQUFDLDBCQUEwQixDQUFDO0VBQ3JELGdCQUFnQixFQUFFLElBQUk7RUFDdEIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsYUFBYSxFQUFFLEdBQUcsR0FBRzs7QUFDckIsQUFBQSwyQkFBMkIsQ0FBQywwQkFBMEIsQ0FBQyw0QkFBNEIsQ0FBQztFQUNsRixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxJQUFJLEdBQUc7O0FBQ3RCLEFBQUEsMkJBQTJCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUM7RUFDL0UsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsS0FBSztFQUNaLFdBQVcsRUFBRSxJQUFJLEdBQUc7O0FBQ3RCLEFBQUEsMkJBQTJCLENBQUMsMEJBQTBCLENBQUMsK0JBQStCLENBQUM7RUFDckYsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFDaEIsQUFBQSwyQkFBMkIsQ0FBQywwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQztFQUMvRSxNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLEdBQUc7RUFDVixLQUFLLEVBQUUsSUFBSSxHQUFHOztBQUNkLEFBQUEsMkJBQTJCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO0VBQ2pGLFlBQVksRUFBRSx3Q0FBd0M7RUFDdEQsWUFBWSxFQUFFLEtBQUs7RUFDbkIsWUFBWSxFQUFFLGFBQWE7RUFDM0IsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsR0FBRztFQUNULFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLENBQUMsR0FBRzs7QUFFakIsQUFBQSwyQkFBMkIsQ0FBQSxBQUFBLEdBQUMsQ0FBSSxLQUFLLEFBQVQsRUFBVywwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQztFQUMxRixLQUFLLEVBQUUsSUFBSSxHQUFHOztBQUVoQixBQUFBLDJCQUEyQixDQUFBLEFBQUEsR0FBQyxDQUFJLEtBQUssQUFBVCxFQUFXLDBCQUEwQixDQUFDLHlCQUF5QixDQUFDO0VBQzFGLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFFaEIsQUFBQSwyQkFBMkIsQUFBQSw0QkFBNEIsQ0FBQywwQkFBMEIsQ0FBQztFQUNqRixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLE1BQU0sRUFBRSxPQUFPLEdBQUc7O0FBQ2xCLEFBQUEsMkJBQTJCLEFBQUEsNEJBQTRCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUM7RUFDM0csT0FBTyxFQUFFLElBQUksR0FBRzs7QUFFcEIsQUFBQSwyQkFBMkIsQUFBQSx3QkFBd0IsQ0FBQywwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7RUFDekcsWUFBWSxFQUFFLHdDQUF3QztFQUN0RCxZQUFZLEVBQUUsYUFBYSxHQUFHOztBQUVoQyxBQUFBLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDO0VBQ3ZELGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLElBQUksR0FBRzs7QUFDZixBQUFBLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDLDRCQUE0QixDQUFDO0VBQ3BGLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUFHOztBQUNkLEFBQUEsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDO0VBQ3ZGLFVBQVUsRUFBRSxJQUFJLEdBQUc7O0FBQ3ZCLEFBQUEsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMsK0JBQStCLENBQUM7RUFDdkYsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsR0FBRztFQUNmLEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBQ2hCLEFBQUEsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMseUJBQXlCLENBQUM7RUFDakYsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsS0FBSztFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxHQUFHO0VBQ2YsWUFBWSxFQUFFLElBQUksR0FBRzs7QUFDdkIsQUFBQSwyQkFBMkIsQ0FBQyw0QkFBNEIsQ0FBQywwQkFBMEIsQ0FBQztFQUNsRixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLE1BQU0sRUFBRSxjQUFjO0VBQ3RCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxZQUFZLEVBQUUsR0FBRztFQUNqQixVQUFVLEVBQUUsR0FBRztFQUNmLE9BQU8sRUFBRSxLQUFLLEdBQUc7O0FBQ25CLEFBQUEsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMsa0NBQWtDLENBQUM7RUFDMUYsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxHQUFHLEdBQUc7O0FBQ3BCLEFBQUEsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMsa0NBQWtDLEFBQUEsTUFBTSxDQUFDO0VBQ2hHLEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBRXBCLEFBQUEsMkJBQTJCLENBQUEsQUFBQSxHQUFDLENBQUksS0FBSyxBQUFULEVBQVcsNEJBQTRCLENBQUMsMEJBQTBCLEVBQUUsMkJBQTJCLENBQUEsQUFBQSxHQUFDLENBQUksS0FBSyxBQUFULEVBQVcsNEJBQTRCLENBQUMsK0JBQStCLEVBQUUsMkJBQTJCLENBQUEsQUFBQSxHQUFDLENBQUksS0FBSyxBQUFULEVBQVcsNEJBQTRCLENBQUMsdUJBQXVCLENBQUM7RUFDL1IsS0FBSyxFQUFFLEtBQUssR0FBRzs7QUFFakIsQUFBQSwyQkFBMkIsQ0FBQSxBQUFBLEdBQUMsQ0FBSSxLQUFLLEFBQVQsRUFBVyw0QkFBNEIsQ0FBQywwQkFBMEIsQ0FBQztFQUM3RixXQUFXLEVBQUUsR0FBRztFQUNoQixZQUFZLEVBQUUsSUFBSSxHQUFHOztBQUV2QixBQUFBLDJCQUEyQixDQUFBLEFBQUEsR0FBQyxDQUFJLEtBQUssQUFBVCxFQUFXLDRCQUE0QixDQUFDLGtDQUFrQyxDQUFDO0VBQ3JHLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFlBQVksRUFBRSxJQUFJLEdBQUc7O0FBRXZCLEFBQUEsMkJBQTJCLEFBQUEseUJBQXlCLENBQUMsNEJBQTRCLENBQUM7RUFDaEYsTUFBTSxFQUFFLGVBQWU7RUFDdkIsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLDJCQUEyQixBQUFBLDRCQUE0QixDQUFDLDRCQUE0QixDQUFDO0VBQ25GLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsTUFBTSxFQUFFLE9BQU8sR0FBRzs7QUFFcEIsQUFBQSwyQkFBMkIsQUFBQSw0QkFBNEIsQ0FBQyxrQ0FBa0MsQ0FBQztFQUN6RixPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUVsQixBQUFBLDJCQUEyQixBQUFBLHdCQUF3QixBQUFBLHlCQUF5QixDQUFDLDBCQUEwQixFQUFFLDJCQUEyQixBQUFBLHdCQUF3QixBQUFBLHlCQUF5QixDQUFDLDRCQUE0QixDQUFDO0VBQ2pOLHNCQUFzQixFQUFFLENBQUM7RUFDekIsdUJBQXVCLEVBQUUsQ0FBQyxHQUFHOztBQUUvQixBQUFBLDJCQUEyQixBQUFBLHdCQUF3QixBQUFBLHlCQUF5QixDQUFDLDBCQUEwQixFQUFFLDJCQUEyQixBQUFBLHdCQUF3QixBQUFBLHlCQUF5QixDQUFDLDRCQUE0QixDQUFDO0VBQ2pOLHlCQUF5QixFQUFFLENBQUM7RUFDNUIsMEJBQTBCLEVBQUUsQ0FBQyxHQUFHOztBQUVsQyxBQUFBLDJCQUEyQixDQUFDLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDO0VBQzNFLE1BQU0sRUFBRSxjQUFjLEdBQUc7O0FBRTNCLEFBQUEsMkJBQTJCLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUM7RUFDekUsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGtCQUFrQixFQUFFLFNBQVMsR0FBRzs7QUFFbEMsQUFBQSwyQkFBMkIsQ0FBQyxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQztFQUN2RSxVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEVBQUUsSUFBSSxHQUFHOztBQUVyQixBQUFBLDJCQUEyQixDQUFDLHdCQUF3QixDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQSxFQUFZO0VBQy9ELE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBRWYsQUFBQSwyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQSxBQUFBLGFBQUMsQ0FBRCxJQUFDLEFBQUEsRUFBb0I7RUFDdkUsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFFaEIsQUFBQSwyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQSxBQUFBLGFBQUMsQ0FBRCxJQUFDLEFBQUEsRUFBb0I7RUFDdkUsZ0JBQWdCLEVBQUUsSUFBSSxHQUFHOztBQUUzQixBQUFBLDJCQUEyQixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDO0VBQzVFLFlBQVksRUFBRSxHQUFHLEdBQUc7O0FBQ3BCLEFBQUEsMkJBQTJCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUM7RUFDcEcsWUFBWSxFQUFFLENBQUMsR0FBRzs7QUFDcEIsQUFBQSwyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQztFQUNyRyxXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsR0FBRyxHQUFHOztBQUNwQixBQUFBLDJCQUEyQixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDO0VBQzlILFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxHQUFHLEdBQUc7O0FBQ3BCLEFBQUEsMkJBQTJCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7RUFDdkosV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLEdBQUcsR0FBRzs7QUFDcEIsQUFBQSwyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQztFQUNoTCxXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsR0FBRyxHQUFHOztBQUNwQixBQUFBLDJCQUEyQixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDO0VBQ3pNLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxHQUFHLEdBQUc7O0FBRWhDLEFBQUEsMkJBQTJCLENBQUMscUNBQXFDLENBQUEsQUFBQSxhQUFDLEFBQUEsRUFBZTtFQUMvRSxnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLEtBQUssRUFBRSxLQUFLLEdBQUc7O0FBRWpCLEFBQUEsMkJBQTJCLENBQUMsdUJBQXVCLENBQUM7RUFDbEQsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxHQUFHLEdBQUc7O0FBRWpCLEFBQUEsMkJBQTJCLENBQUMsMEJBQTBCLENBQUM7RUFDckQsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixNQUFNLEVBQUUsY0FBYztFQUN0QixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLGdCQUFnQixFQUFFLHFEQUFxRDtFQUN2RSxnQkFBZ0IsRUFBRSxnREFBZ0Q7RUFDbEUsZ0JBQWdCLEVBQUUsbURBQW1EO0VBQ3JFLGlCQUFpQixFQUFFLFFBQVE7RUFDM0IsTUFBTSxFQUFFLDhHQUE4RyxHQUFHOztBQUN6SCxBQUFBLDJCQUEyQixDQUFDLDBCQUEwQixBQUFBLE1BQU0sQ0FBQztFQUMzRCxNQUFNLEVBQUUsaUJBQWlCLEdBQUc7O0FBQzlCLEFBQUEsMkJBQTJCLENBQUMsMEJBQTBCLENBQUMsNEJBQTRCLENBQUM7RUFDbEYsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsSUFBSSxHQUFHOztBQUN0QixBQUFBLDJCQUEyQixDQUFDLDBCQUEwQixDQUFDLHlCQUF5QixDQUFDO0VBQy9FLE1BQU0sRUFBRSxPQUFPO0VBQ2YsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSSxHQUFHOztBQUN2QixBQUFBLDJCQUEyQixDQUFDLDBCQUEwQixDQUFDLCtCQUErQixDQUFDO0VBQ3JGLEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBQ2hCLEFBQUEsMkJBQTJCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUM7RUFDL0UsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxjQUFjO0VBQzNCLHVCQUF1QixFQUFFLEdBQUc7RUFDNUIsMEJBQTBCLEVBQUUsR0FBRztFQUMvQixNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLEdBQUc7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLGdCQUFnQixFQUFFLHVEQUF1RDtFQUN6RSxnQkFBZ0IsRUFBRSxrREFBa0Q7RUFDcEUsZ0JBQWdCLEVBQUUscURBQXFEO0VBQ3ZFLGlCQUFpQixFQUFFLFFBQVE7RUFDM0IsTUFBTSxFQUFFLDhHQUE4RyxHQUFHOztBQUN6SCxBQUFBLDJCQUEyQixDQUFDLDBCQUEwQixDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztFQUNqRixZQUFZLEVBQUUsd0NBQXdDO0VBQ3RELFlBQVksRUFBRSxLQUFLO0VBQ25CLFlBQVksRUFBRSxhQUFhO0VBQzNCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLEdBQUc7RUFDVCxXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsSUFBSTtFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLEtBQUssRUFBRSxDQUFDLEdBQUc7O0FBRWpCLEFBQUEsMkJBQTJCLENBQUEsQUFBQSxHQUFDLENBQUksS0FBSyxBQUFULEVBQVcsMEJBQTBCLENBQUMseUJBQXlCLENBQUM7RUFDMUYsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFFaEIsQUFBQSwyQkFBMkIsQ0FBQSxBQUFBLEdBQUMsQ0FBSSxLQUFLLEFBQVQsRUFBVywwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQztFQUMxRixNQUFNLEVBQUUsSUFBSTtFQUNaLFlBQVksRUFBRSxjQUFjO0VBQzVCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLHNCQUFzQixFQUFFLEdBQUc7RUFDM0IseUJBQXlCLEVBQUUsR0FBRztFQUM5QixJQUFJLEVBQUUsR0FBRztFQUNULEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBRWhCLEFBQUEsMkJBQTJCLEFBQUEsd0JBQXdCLENBQUMsMEJBQTBCLENBQUM7RUFDN0UsTUFBTSxFQUFFLGlCQUFpQixHQUFHOztBQUM1QixBQUFBLDJCQUEyQixBQUFBLHdCQUF3QixDQUFDLDBCQUEwQixDQUFDLHlCQUF5QixDQUFDO0VBQ3ZHLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE1BQU0sRUFBRSxJQUFJLEdBQUc7O0FBQ2YsQUFBQSwyQkFBMkIsQUFBQSx3QkFBd0IsQ0FBQywwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7RUFDekcsWUFBWSxFQUFFLHdDQUF3QztFQUN0RCxZQUFZLEVBQUUsYUFBYSxHQUFHOztBQUVwQyxBQUFBLDJCQUEyQixBQUFBLHdCQUF3QixBQUFBLHlCQUF5QixDQUFDLDBCQUEwQixDQUFDO0VBQ3RHLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLHNCQUFzQixFQUFFLENBQUM7RUFDekIsdUJBQXVCLEVBQUUsQ0FBQztFQUMxQixnQkFBZ0IsRUFBRSxtREFBbUQ7RUFDckUsZ0JBQWdCLEVBQUUsOENBQThDO0VBQ2hFLGdCQUFnQixFQUFFLGlEQUFpRDtFQUNuRSxpQkFBaUIsRUFBRSxRQUFRO0VBQzNCLE1BQU0sRUFBRSw4R0FBOEcsR0FBRzs7QUFFM0gsQUFBQSwyQkFBMkIsQUFBQSx3QkFBd0IsQUFBQSx5QkFBeUIsQ0FBQywwQkFBMEIsQ0FBQztFQUN0RyxhQUFhLEVBQUUsSUFBSTtFQUNuQix5QkFBeUIsRUFBRSxDQUFDO0VBQzVCLDBCQUEwQixFQUFFLENBQUM7RUFDN0IsZ0JBQWdCLEVBQUUscURBQXFEO0VBQ3ZFLGdCQUFnQixFQUFFLGdEQUFnRDtFQUNsRSxnQkFBZ0IsRUFBRSxtREFBbUQ7RUFDckUsaUJBQWlCLEVBQUUsUUFBUTtFQUMzQixNQUFNLEVBQUUsOEdBQThHLEdBQUc7O0FBRTNILEFBQUEsMkJBQTJCLENBQUMsNEJBQTRCLENBQUM7RUFDdkQsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixNQUFNLEVBQUUsY0FBYztFQUN0QixhQUFhLEVBQUUsR0FBRztFQUNsQixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBQ2IsQUFBQSwyQkFBMkIsQ0FBQyw0QkFBNEIsQUFBQSxNQUFNLENBQUM7RUFDN0QsTUFBTSxFQUFFLGlCQUFpQixHQUFHOztBQUM5QixBQUFBLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDLDRCQUE0QixDQUFDO0VBQ3BGLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEtBQUssR0FBRzs7QUFDbkIsQUFBQSwyQkFBMkIsQ0FBQyw0QkFBNEIsQ0FBQyx5QkFBeUIsQ0FBQztFQUNqRixPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUNsQixBQUFBLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDLDBCQUEwQixDQUFDO0VBQ2xGLGdCQUFnQixFQUFFLE9BQU87RUFDekIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLFlBQVksRUFBRSxHQUFHO0VBQ2pCLFVBQVUsRUFBRSxHQUFHO0VBQ2YsT0FBTyxFQUFFLEtBQUssR0FBRzs7QUFDbkIsQUFBQSwyQkFBMkIsQ0FBQyw0QkFBNEIsQ0FBQyxrQ0FBa0MsQ0FBQztFQUMxRixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxPQUFPO0VBQ2YsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLEdBQUcsR0FBRzs7QUFDcEIsQUFBQSwyQkFBMkIsQ0FBQyw0QkFBNEIsQ0FBQyxrQ0FBa0MsQUFBQSxNQUFNLENBQUM7RUFDaEcsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFFcEIsQUFBQSwyQkFBMkIsQ0FBQSxBQUFBLEdBQUMsQ0FBSSxLQUFLLEFBQVQsRUFBVyw0QkFBNEIsQ0FBQywwQkFBMEIsQ0FBQztFQUM3RixLQUFLLEVBQUUsS0FBSyxHQUFHOztBQURqQixBQUFBLDJCQUEyQixDQUFBLEFBQUEsR0FBQyxDQUFJLEtBQUssQUFBVCxFQUFXLDRCQUE0QixDQUFDLDBCQUEwQixDQUdDO0VBQzdGLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFlBQVksRUFBRSxJQUFJLEdBQUc7O0FBRXZCLEFBQUEsMkJBQTJCLENBQUEsQUFBQSxHQUFDLENBQUksS0FBSyxBQUFULEVBQVcsNEJBQTRCLENBQUMsa0NBQWtDLENBQUM7RUFDckcsV0FBVyxFQUFFLEdBQUc7RUFDaEIsWUFBWSxFQUFFLElBQUksR0FBRzs7QUFFdkIsQUFBQSwyQkFBMkIsQUFBQSx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FBQztFQUMvRSxNQUFNLEVBQUUsaUJBQWlCLEdBQUc7O0FBRTlCLEFBQUEsMkJBQTJCLEFBQUEsd0JBQXdCLEFBQUEseUJBQXlCLENBQUMsNEJBQTRCLENBQUM7RUFDeEcsVUFBVSxFQUFFLElBQUk7RUFDaEIsc0JBQXNCLEVBQUUsQ0FBQztFQUN6Qix1QkFBdUIsRUFBRSxDQUFDLEdBQUc7O0FBRS9CLEFBQUEsMkJBQTJCLEFBQUEsd0JBQXdCLEFBQUEseUJBQXlCLENBQUMsNEJBQTRCLENBQUM7RUFDeEcsYUFBYSxFQUFFLElBQUk7RUFDbkIseUJBQXlCLEVBQUUsQ0FBQztFQUM1QiwwQkFBMEIsRUFBRSxDQUFDLEdBQUc7O0FBRWxDLEFBQUEsMkJBQTJCLENBQUMseUJBQXlCLENBQUMsc0JBQXNCLENBQUM7RUFDM0UsTUFBTSxFQUFFLGNBQWM7RUFDdEIsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLDJCQUEyQixDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDO0VBQ3pFLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUksR0FBRzs7QUFFckIsQUFBQSwyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQztFQUM1QyxnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLE1BQU0sRUFBRSxxQkFBcUIsR0FBRzs7QUFFbEMsQUFBQSwyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQztFQUNuRCxhQUFhLEVBQUUsSUFBSSxHQUFHOztBQUV4QixBQUFBLDJCQUEyQixDQUFDLHdCQUF3QixDQUFDO0VBQ25ELFVBQVUsRUFBRSxJQUFJLEdBQUc7O0FBRXJCLEFBQUEsMkJBQTJCLENBQUMsZ0JBQWdCLEdBQUcseUJBQXlCLENBQUM7RUFDdkUsVUFBVSxFQUFFLEtBQUs7RUFDakIsVUFBVSxFQUFFLElBQUksR0FBRzs7QUFFckIsQUFBQSwyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQSxBQUFBLElBQUMsQ0FBRCxLQUFDLEFBQUEsRUFBWTtFQUMvRCxPQUFPLEVBQUUsQ0FBQyxHQUFHOztBQUVmLEFBQUEsMkJBQTJCLENBQUMsd0JBQXdCLENBQUEsQUFBQSxhQUFDLENBQUQsSUFBQyxBQUFBLEVBQW9CO0VBQ3ZFLEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBRWhCLEFBQUEsMkJBQTJCLENBQUMscUNBQXFDLENBQUEsQUFBQSxhQUFDLEFBQUEsRUFBZTtFQUMvRSxnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLEtBQUssRUFBRSxLQUFLLEdBQUc7O0FBRWpCLEFBQUEsMkJBQTJCLENBQUMsdUJBQXVCLENBQUM7RUFDbEQsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxHQUFHLEdBQUc7O0FBRWpCLEFBQUEsMkJBQTJCLEFBQUEsd0JBQXdCLENBQUMsaUJBQWlCLENBQUM7RUFDcEUsWUFBWSxFQUFFLE9BQU8sR0FBRzs7QUNsZTFCLEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLE1BQU0sR0FBRzs7QUFFckIsQUFBQSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7RUFDckIsUUFBUSxFQUFFLE9BQU87RUFDakIsTUFBTSxFQUFFLElBQUksR0FBRzs7QUFFakIsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsT0FBTztFQUNaLElBQUksRUFBRSxPQUFPO0VBQ2IsVUFBVSxFQUFFLE1BQU0sR0FBRzs7QUFFdkIsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCwyQkFBMkIsRUFBRSxXQUFXO0VBQ3hDLDJCQUEyQixFQUFFLE1BQU07RUFDbkMsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixpQkFBaUIsRUFBRSxhQUFhO0VBQ2hDLFNBQVMsRUFBRSxhQUFhLEdBQUc7O0FBRTdCLGdEQUFnRDtBQUNoRCxBQUFBLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO0VBQ3hDLE9BQU8sRUFBRSxLQUFLLEdBQUc7O0FBRW5CLEFBQUEsZUFBZTtBQUNmLGVBQWU7QUFDZixZQUFZO0FBQ1osZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUMsR0FBRzs7QUFFWixBQUFBLGVBQWUsQ0FBQztFQUNkLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLDBCQUEwQixFQUFFLEtBQUssR0FBRzs7QUFFdEMsQUFBQSxZQUFZLENBQUM7RUFDWCxVQUFVLEVBQUUsT0FBTztFQUNuQixPQUFPLEVBQUUsQ0FBQztFQUNWLG1CQUFtQixFQUFFLE9BQU87RUFDNUIsbUJBQW1CLEVBQUUsT0FBTztFQUM1QiwwQkFBMEIsRUFBRSxpQ0FBaUMsR0FBRzs7QUFFbEUsQUFBQSxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7RUFDN0IsT0FBTyxFQUFFLElBQUk7RUFDYiwwQkFBMEIsRUFBRSxpQ0FBaUMsR0FBRzs7QUFFbEUsQUFBQSxpQkFBaUI7QUFDakIsaUJBQWlCO0FBQ2pCLHNCQUFzQixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRUFBRSxHQUFHO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFVBQVUsRUFBRSx1Q0FBdUM7RUFDbkQsVUFBVSxFQUFFLFVBQVUsR0FBRzs7QUFFM0IsQUFBQSxzQkFBc0IsQ0FBQyxpQkFBaUI7QUFDeEMsc0JBQXNCLENBQUMsaUJBQWlCO0FBQ3hDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDO0VBQzVDLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE9BQU87RUFDbkIsVUFBVSxFQUFFLDJCQUEyQixHQUFHOztBQUU1QyxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLEdBQUc7RUFDVCxXQUFXLEVBQUUsS0FBSyxHQUFHOztBQUV2QixBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLElBQUk7RUFDakIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsMkNBQTJDO0VBQ3hELFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEVBQUUscUJBQXFCO0VBQ3ZDLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixxQkFBcUIsRUFBRSxJQUFJO0VBQzNCLDJCQUEyQixFQUFFLFdBQVc7RUFDeEMsc0JBQXNCLEVBQUUsb0JBQW9CLEdBQUc7O0FBRWpELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQyxHQUFHOztBQUViLEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLE1BQU07RUFDaEIsU0FBUyxFQUFFLEdBQUc7RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLGlCQUFpQixFQUFFLG9CQUFvQixHQUFHOztBQUU1QyxBQUFBLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxJQUFJO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLDBCQUEwQixFQUFFLEtBQUs7RUFDakMsT0FBTyxFQUFFLElBQUk7RUFDYiwyQkFBMkIsRUFBRSxNQUFNO0VBQ25DLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsbUJBQW1CLEVBQUUsMEJBQTBCO0VBQy9DLG1CQUFtQixFQUFFLGtCQUFrQjtFQUN2QyxtQkFBbUIsRUFBRSxxQ0FBcUM7RUFDMUQsdUJBQXVCLEVBQUUsV0FBVztFQUNwQyxlQUFlLEVBQUUsV0FBVyxHQUFHOztBQUVqQyxBQUFBLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFDdEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxDQUFDLEdBQUc7O0FBRWIsQUFBQSxvQkFBb0IsQ0FBQyxlQUFlO0FBQ3BDLHlCQUF5QjtBQUN6Qix3QkFBd0I7QUFDeEIscUJBQXFCLENBQUM7RUFDcEIsT0FBTyxFQUFFLEtBQUssR0FBRzs7QUFFbkIsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsT0FBTyxHQUFHOztBQUV0QixBQUFBLHNCQUFzQixBQUFBLFFBQVEsQ0FBQztFQUM3QixPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUVsQixBQUFBLHNCQUFzQixDQUFDLGlCQUFpQjtBQUN4QyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7RUFDNUIsVUFBVSxFQUFFLElBQUksR0FBRzs7QUFFckIsQUFBQSxvQkFBb0IsQ0FBQyxpQkFBaUI7QUFDdEMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO0VBQzFCLFVBQVUsRUFBRSxPQUFPLEdBQUc7O0FBRXhCLEFBQUEscUJBQXFCLENBQUM7RUFDcEIsT0FBTyxFQUFFLEtBQUssR0FBRzs7QUFFbkIsQUFBQSxlQUFlLEdBQUcsR0FBRyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLFdBQVc7RUFDbkIsWUFBWSxFQUFFLENBQUM7RUFDZixjQUFjLEVBQUUsTUFBTTtFQUN0QixVQUFVLEVBQUUsSUFBSTtFQUNoQixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLFFBQVEsRUFBRSxJQUFJO0VBQ2QsVUFBVSxFQUFFLFVBQVUsR0FBRzs7QUFFM0IsQUFBQSxlQUFlLENBQUMsb0JBQW9CLENBQUM7RUFDbkMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLE9BQU87RUFDZixRQUFRLEVBQUUsT0FBTztFQUNqQix3QkFBd0IsRUFBRSxRQUFRO0VBQ2xDLG9CQUFvQixFQUFFLFFBQVE7RUFDOUIsZ0JBQWdCLEVBQUUsUUFBUTtFQUMxQixlQUFlLEVBQUUsU0FBUztFQUMxQixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLDJCQUEyQixFQUFFLE1BQU07RUFDbkMsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUksR0FBRzs7QUFFdEIsQUFBQSxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQztFQUN6QyxNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLE1BQU0sRUFBRSxRQUFRLEdBQUc7O0FBRXJCLEFBQUEsb0JBQW9CLENBQUMsb0JBQW9CLENBQUM7RUFDeEMsTUFBTSxFQUFFLGVBQWU7RUFDdkIsTUFBTSxFQUFFLE9BQU8sR0FBRzs7QUFFcEIsQUFBQSxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztFQUN0QyxNQUFNLEVBQUUsWUFBWTtFQUNwQixNQUFNLEVBQUUsSUFBSSxHQUFHOztBQUVqQixBQUFBLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDO0VBQ3pDLE1BQU0sRUFBRSxnQkFBZ0I7RUFDeEIsTUFBTSxFQUFFLFFBQVEsR0FBRzs7QUFFckIsQUFBQSxlQUFlO0FBQ2YsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHQUFHOztBQUV0QixBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBRWYsQUFBQSx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQztFQUN4QyxPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxTQUFTLEVBQUUsa0JBQWtCO0VBQzdCLFVBQVUsRUFBRSxpQkFBaUI7RUFDN0IsUUFBUSxFQUFFLE9BQU87RUFDakIsVUFBVSxFQUFFLElBQUksR0FBRzs7QUFFckIsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxJQUFJLEdBQUc7O0FBRXJCLEFBQUEsZUFBZSxDQUFDO0VBQ2QsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLE9BQU8sR0FBRzs7QUFFcEIsQUFBQSxlQUFlLENBQUMsQ0FBQyxDQUFDO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLElBQUksRUFBRSxxREFBcUQsR0FBRzs7QUFFaEUsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQztFQUNULGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLFdBQVc7RUFDdkIsT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsT0FBTyxHQUFHOztBQUVwQixBQUFBLHFCQUFxQixBQUFBLE1BQU0sQ0FBQztFQUMxQixPQUFPLEVBQUUsR0FBRztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLEdBQUc7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLHFEQUFxRDtFQUMzRCxLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFlBQVksRUFBRSxDQUFDO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLGVBQWU7RUFDM0IsVUFBVSxFQUFFLFVBQVU7RUFDdEIsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLHFCQUFxQixBQUFBLE1BQU0sQUFBQSxNQUFNLENBQUM7RUFDaEMsT0FBTyxFQUFFLGVBQWUsR0FBRzs7QUFFN0IsQUFBQSxxQkFBcUIsQUFBQSxNQUFNLEFBQUEsTUFBTSxDQUFDO0VBQ2hDLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLElBQUksR0FBRzs7QUFFckIsQUFBQSx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQztFQUM1QyxHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxLQUFLLEdBQUc7O0FBRWpCLEFBQUEsdUJBQXVCLENBQUMscUJBQXFCLEFBQUEsTUFBTSxDQUFDO0VBQ2xELFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFFaEIsQUFBQSx1QkFBdUIsQ0FBQyxxQkFBcUIsQUFBQSxNQUFNLEFBQUEsTUFBTSxDQUFDO0VBQ3hELEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBRWhCLGFBQWE7QUFDYixBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE9BQU8sRUFBRSxnQkFBZ0I7RUFDekIsVUFBVSxFQUFFLDJJQUEySTtFQUN2SixjQUFjLEVBQUUsSUFBSSxHQUFHOztBQUV6QixBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsd0JBQXdCO0VBQzlDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLDJDQUEyQztFQUN4RCxLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLHdCQUF3QixFQUFFLElBQUksR0FBRzs7QUFFbkMsQUFBQSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ25CLGlCQUFpQixDQUFDLE1BQU07QUFDeEIsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0VBQ3ZCLGNBQWMsRUFBRSxHQUFHLEdBQUc7O0FBRXhCLEFBQUEsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsZUFBZSxFQUFFLFNBQVMsR0FBRzs7QUFFL0IsYUFBYTtBQUNiLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLE1BQU07RUFDbEIsVUFBVSxFQUFFLFdBQVc7RUFDdkIsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUUsQ0FBQztFQUNoQixNQUFNLEVBQUUsT0FBTztFQUNmLGNBQWMsRUFBRSxHQUFHO0VBQ25CLE9BQU8sRUFBRSxJQUFJLEdBQUc7O0FBRWxCLEFBQUEsZ0JBQWdCLENBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVTtFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLGNBQWMsRUFBRSxJQUFJLEdBQUc7O0FBRXpCLEFBQUEsdUJBQXVCLEVBQUUsZ0JBQWdCLENBQUM7RUFDeEMsVUFBVSxFQUFFLHFCQUFxQixHQUFHOztBQUV0QyxBQUFBLGdCQUFnQixBQUFBLE1BQU0sQUFBQSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsR0FBVztFQUNyQyxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxrQkFBa0IsR0FBRzs7QUFFbkMsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRO0FBQ3hCLGdCQUFnQixBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsRUFBRTtFQUNYLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGdCQUFnQixFQUFFLFlBQVk7RUFDOUIsS0FBSyxFQUFFLFlBQVk7RUFDbkIsT0FBTyxFQUFFLEdBQUc7RUFDWixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsWUFBWSxHQUFHOztBQUUxQixBQUFBLGdCQUFnQixDQUFBLEFBQUEsUUFBQyxBQUFBLENBQVMsUUFBUTtBQUNsQyxnQkFBZ0IsQ0FBQSxBQUFBLFFBQUMsQUFBQSxDQUFTLE9BQU8sQ0FBQztFQUNoQyxPQUFPLEVBQUUsR0FBRyxHQUFHOztBQUVqQixBQUFBLHNCQUFzQixBQUFBLE9BQU87QUFDN0IsdUJBQXVCLEFBQUEsT0FBTyxDQUFDO0VBQzdCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLFVBQVUsRUFBRSxzQkFBc0I7RUFDbEMsWUFBWSxFQUFFLHNCQUFzQixHQUFHOztBQUV6QyxBQUFBLHNCQUFzQixBQUFBLE9BQU8sQ0FBQztFQUM1QixJQUFJLEVBQUUsSUFBSTtFQUNWLGlCQUFpQixFQUFFLGVBQWU7RUFDbEMsYUFBYSxFQUFFLGVBQWU7RUFDOUIsU0FBUyxFQUFFLGVBQWUsR0FBRzs7QUFFL0IsQUFBQSx1QkFBdUIsQUFBQSxPQUFPLENBQUM7RUFDN0IsS0FBSyxFQUFFLElBQUk7RUFDWCxpQkFBaUIsRUFBRSxhQUFhO0VBQ2hDLGFBQWEsRUFBRSxhQUFhO0VBQzVCLFNBQVMsRUFBRSxhQUFhLEdBQUc7O0FBRTdCLEFBQUEsc0JBQXNCLENBQUM7RUFDckIseUJBQXlCLEVBQUUsR0FBRyxHQUFHOztBQUVuQyxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLDBCQUEwQixFQUFFLEdBQUcsR0FBRzs7QUFFcEMsQUFBQSx1QkFBdUIsQUFBQSxRQUFRLEVBQUUsdUJBQXVCLEFBQUEsT0FBTyxDQUFDO0VBQzlELE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLEdBQUcsRUFBRSxlQUFlO0VBQ3BCLElBQUksRUFBRSxlQUFlLEdBQUc7O0FBRTFCLEFBQUEsdUJBQXVCLEFBQUEsUUFBUSxDQUFDO0VBQzlCLGlCQUFpQixFQUFFLGFBQWE7RUFDaEMsYUFBYSxFQUFFLGFBQWE7RUFDNUIsU0FBUyxFQUFFLGFBQWEsR0FBRzs7QUFFN0IsQUFBQSx1QkFBdUIsQUFBQSxPQUFPLENBQUM7RUFDN0IsaUJBQWlCLEVBQUUsY0FBYztFQUNqQyxhQUFhLEVBQUUsY0FBYztFQUM3QixTQUFTLEVBQUUsY0FBYyxHQUFHOztBQUU5Qix1QkFBdUI7QUFDdkIsQUFBQSxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLE1BQU0sRUFBRSxXQUFXO0VBQ25CLE1BQU0sRUFBRSxLQUFLO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLENBQUM7RUFDVixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLFlBQVksR0FBRzs7QUFFN0IsQUFBQSxlQUFlLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVBQUUscUJBQXFCO0VBQ3ZDLGdCQUFnQixFQUFFLG1VQUFtVTtFQUNyVixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLG1CQUFtQixFQUFFLGFBQWE7RUFDbEMsZUFBZSxFQUFFLFNBQVMsR0FBRzs7QUFFL0IsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixLQUFLLEVBQUUsQ0FBQyxHQUFHOztBQUViLEFBQUEscUJBQXFCLENBQUM7RUFDcEIsSUFBSSxFQUFFLENBQUM7RUFDUCxpQkFBaUIsRUFBRSxVQUFVO0VBQzdCLGFBQWEsRUFBRSxVQUFVO0VBQ3pCLFNBQVMsRUFBRSxVQUFVLEdBQUc7O0FBRTFCLEFBQUEsc0JBQXNCLEFBQUEsT0FBTztBQUM3QixxQkFBcUIsQUFBQSxPQUFPLENBQUM7RUFDM0IsSUFBSSxFQUFFLENBQUMsR0FBRzs7QUFFWixBQUFBLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztFQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHOztBQUVqQixBQUFBLGtCQUFrQixDQUFDLGVBQWUsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0VBQzNDLE9BQU8sRUFBRSxHQUFHLEdBQUc7O0FBRWpCLHVCQUF1QjtBQUN2QixBQUFBLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQztFQUNsQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyx3QkFBd0I7RUFDMUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsd0JBQXdCO0VBQzlDLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxpQkFBaUIsRUFBRSxtQ0FBbUM7RUFDdEQsU0FBUyxFQUFFLG1DQUFtQztFQUM5QyxVQUFVLEVBQUUsV0FBVztFQUN2QixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsVUFBVSxFQUFFLEtBQUs7RUFDakIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsT0FBTyxFQUFFLEtBQUssR0FBRzs7QUFFbkIsa0JBQWtCLENBQWxCLGVBQWtCO0VBQ2hCLElBQUk7SUFDRixpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLFNBQVMsRUFBRSxZQUFZO0VBQ3pCLEVBQUU7SUFDQSxpQkFBaUIsRUFBRSxjQUFjO0lBQ2pDLFNBQVMsRUFBRSxjQUFjOztBQUU3QixVQUFVLENBQVYsZUFBVTtFQUNSLElBQUk7SUFDRixpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLFNBQVMsRUFBRSxZQUFZO0VBQ3pCLEVBQUU7SUFDQSxpQkFBaUIsRUFBRSxjQUFjO0lBQ2pDLFNBQVMsRUFBRSxjQUFjOztBQUU3Qix3QkFBd0I7QUFDeEIsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQiwwQkFBMEIsRUFBRSwyQkFBMkIsR0FBRzs7QUFFNUQsNkJBQTZCO0FBQzdCLEFBQUEsa0JBQWtCLEFBQUEseUJBQXlCLENBQUM7RUFDMUMsaUJBQWlCLEVBQUUsd0JBQXdCO0VBQzNDLFNBQVMsRUFBRSx3QkFBd0I7RUFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLGtCQUFrQixBQUFBLHFCQUFxQixDQUFDO0VBQ3RDLGlCQUFpQixFQUFFLHVCQUF1QjtFQUMxQyxTQUFTLEVBQUUsdUJBQXVCO0VBQ2xDLE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBRWYsQUFBQSxrQkFBa0IsQUFBQSx3QkFBd0IsQ0FBQztFQUN6QyxpQkFBaUIsRUFBRSxvQkFBb0I7RUFDdkMsU0FBUyxFQUFFLG9CQUFvQjtFQUMvQixPQUFPLEVBQUUsQ0FBQyxHQUFHOztBQUVmLDRCQUE0QjtBQUM1QixBQUFBLGlCQUFpQixBQUFBLHlCQUF5QjtBQUMxQyxpQkFBaUIsQUFBQSxxQkFBcUIsQ0FBQztFQUNyQyxPQUFPLEVBQUUsQ0FBQztFQUNWLDBCQUEwQixFQUFFLDhCQUE4QixHQUFHOztBQUUvRCxBQUFBLGlCQUFpQixBQUFBLHdCQUF3QixDQUFDO0VBQ3hDLE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBRWYsbUNBQW1DO0FBQ25DLEFBQUEsd0JBQXdCLEFBQUEseUJBQXlCLENBQUM7RUFDaEQsaUJBQWlCLEVBQUUsc0JBQXNCO0VBQ3pDLFNBQVMsRUFBRSxzQkFBc0I7RUFDakMsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLHdCQUF3QixBQUFBLHFCQUFxQixDQUFDO0VBQzVDLGlCQUFpQixFQUFFLHNCQUFzQjtFQUN6QyxTQUFTLEVBQUUsc0JBQXNCO0VBQ2pDLE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBRWYsQUFBQSx3QkFBd0IsQUFBQSx3QkFBd0IsQ0FBQztFQUMvQyxpQkFBaUIsRUFBRSxnQkFBZ0I7RUFDbkMsU0FBUyxFQUFFLGdCQUFnQjtFQUMzQixPQUFPLEVBQUUsQ0FBQyxHQUFHOztBQUVmLDhCQUE4QjtBQUM5QixBQUFBLG1CQUFtQixBQUFBLHlCQUF5QixDQUFDO0VBQzNDLGlCQUFpQixFQUFFLGVBQWU7RUFDbEMsYUFBYSxFQUFFLGVBQWU7RUFDOUIsU0FBUyxFQUFFLGVBQWU7RUFDMUIsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLG1CQUFtQixBQUFBLHFCQUFxQixDQUFDO0VBQ3ZDLGlCQUFpQixFQUFFLGNBQWM7RUFDakMsYUFBYSxFQUFFLGNBQWM7RUFDN0IsU0FBUyxFQUFFLGNBQWM7RUFDekIsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLG1CQUFtQixBQUFBLHdCQUF3QixDQUFDO0VBQzFDLGlCQUFpQixFQUFFLFlBQVk7RUFDL0IsYUFBYSxFQUFFLFlBQVk7RUFDM0IsU0FBUyxFQUFFLFlBQVk7RUFDdkIsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixnQ0FBZ0M7QUFDaEMsQUFBQSxxQkFBcUIsQUFBQSx5QkFBeUIsQ0FBQztFQUM3QyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyx3QkFBd0I7RUFDNUQsU0FBUyxFQUFFLGdCQUFnQixDQUFDLHdCQUF3QjtFQUNwRCxPQUFPLEVBQUUsQ0FBQyxHQUFHOztBQUVmLEFBQUEscUJBQXFCLEFBQUEscUJBQXFCLENBQUM7RUFDekMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsdUJBQXVCO0VBQzNELFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyx1QkFBdUI7RUFDbkQsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFZixBQUFBLHFCQUFxQixBQUFBLHdCQUF3QixDQUFDO0VBQzVDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLG9CQUFvQjtFQUN4RCxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsb0JBQW9CO0VBQ2hELE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBRWYsNEJBQTRCO0FBQzVCLEFBQUEsaUJBQWlCLEFBQUEseUJBQXlCLENBQUM7RUFDekMsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUMsVUFBVSxDQUFDLFlBQVk7RUFDbkUsU0FBUyxFQUFFLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUc7O0FBRWhFLEFBQUEsaUJBQWlCLEFBQUEscUJBQXFCLENBQUM7RUFDckMsaUJBQWlCLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFdBQVc7RUFDakUsU0FBUyxFQUFFLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUc7O0FBRTlELEFBQUEsaUJBQWlCLEFBQUEsd0JBQXdCLENBQUM7RUFDeEMsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsUUFBUTtFQUNoRCxTQUFTLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxHQUFHOztBQUU3QyxzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFQXpoQmhDLEFBQUEsaUJBQWlCLENBMGhCRztJQUNoQixJQUFJLEVBQUUsQ0FBQztJQUNQLFdBQVcsRUFBRSxDQUFDLEdBQUc7RUFDbkIsQUFBQSxzQkFBc0I7RUFDdEIsdUJBQXVCLENBQUM7SUFDdEIsT0FBTyxFQUFFLGVBQWUsR0FBRztFQXBTL0IsQUFBQSxpQkFBaUIsQ0FxU0c7SUFDaEIsT0FBTyxFQUFFLE1BQU07SUFDZixNQUFNLEVBQUUsQ0FBQyxHQUFHOztBQUVoQixpQkFBaUI7QUFDakIsQUFBQSw0QkFBNEIsQUFBQSxRQUFRLENBQUM7RUFDbkMsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLElBQUksRUFBRSxlQUFlO0VBQ3JCLEdBQUcsRUFBRSxlQUFlO0VBQ3BCLE1BQU0sRUFBRSxTQUFTO0VBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBQUc7O0FBRXJCLHNCQUFzQjtBQUN0QixBQUFBLHNCQUFzQixBQUFBLFFBQVE7QUFDOUIsdUJBQXVCLEFBQUEsUUFBUSxDQUFDO0VBQzlCLEdBQUcsRUFBRSxlQUFlO0VBQ3BCLElBQUksRUFBRSxlQUFlO0VBQ3JCLFVBQVUsRUFBRSxXQUFXLEdBQUc7O0FBRTVCLEFBQUEsc0JBQXNCLEFBQUEsUUFBUSxDQUFDO0VBQzdCLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUscUJBQXFCO0VBQ2pDLGFBQWEsRUFBRSxxQkFBcUI7RUFDcEMsV0FBVyxFQUFFLFVBQVU7RUFDdkIsYUFBYSxFQUFFLEdBQUcsR0FBRzs7QUFFdkIsQUFBQSx1QkFBdUIsQUFBQSxRQUFRLENBQUM7RUFDOUIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsSUFBSTtFQUNaLFlBQVksRUFBRSxLQUFLO0VBQ25CLFlBQVksRUFBRSxXQUFXLEdBQUc7O0FBRTlCLFlBQVk7QUFDWixBQUFBLGdCQUFnQixDQUFDO0VBQ2YsT0FBTyxFQUFFLElBQUksR0FBRzs7QUFFbEIsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUVsQixNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0VBSGhDLEFBQUEsd0JBQXdCLENBSUc7SUFDdkIsT0FBTyxFQUFFLFlBQVksR0FBRztFQUMxQixBQUFBLHdCQUF3QixDQUFDLElBQUksQ0FBQztJQUM1QixTQUFTLEVBQUUsSUFBSSxHQUFHO0VBQ3BCLEFBQUEsd0JBQXdCLEFBQUEsUUFBUSxDQUFDO0lBQy9CLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxHQUFHLEVBQUUsZUFBZTtJQUNwQixJQUFJLEVBQUUsZUFBZTtJQUNyQixVQUFVLEVBQUUsc0dBQXNHLEdBQUc7RUFoQnpILEFBQUEsZ0JBQWdCLENBaUJHO0lBQ2YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBQ1QsSUFBSSxFQUFFLElBQUk7SUFDVixLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLFdBQVc7SUFDcEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE1BQU07SUFDbEIsMkJBQTJCLEVBQUUsV0FBVztJQUN4QywwQkFBMEIsRUFBRSxLQUFLO0lBQ2pDLGtCQUFrQixFQUFFLHdCQUF3QjtJQUM1QyxVQUFVLEVBQUUsVUFBVTtJQUN0QixPQUFPLEVBQUUsS0FBSyxHQUFHO0VBQ25CLEFBQUEscUJBQXFCLENBQUMsZ0JBQWdCLENBQUM7SUFDckMsT0FBTyxFQUFFLEtBQUssR0FBRztFQUNuQixBQUFBLHFCQUFxQixDQUFDLGVBQWUsQ0FBQztJQUNwQyxLQUFLLEVBQUUsS0FBSyxHQUFHO0VBQ2pCLEFBQUEsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLENBQUMsR0FBRztFQUNqQixBQUFBLGdCQUFnQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDekIsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsTUFBTTtJQUNoQixTQUFTLEVBQUUsR0FBRztJQUNkLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLE9BQU87SUFDZixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxxQkFBcUI7SUFDN0IsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQixrQkFBa0IsRUFBRSxDQUFDO0lBQ3JCLDJCQUEyQixFQUFFLFdBQVc7SUFDeEMsMkJBQTJCLEVBQUUsTUFBTTtJQUNuQyxtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLFVBQVUsRUFBRSxVQUFVLEdBQUc7RUFDM0IsQUFBQSxFQUFFLEFBQUEsd0JBQXdCLENBQUM7SUFDekIsVUFBVSxFQUFFLGtCQUFrQixHQUFHO0VBQ25DLEFBQUEsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDL0IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsSUFBSTtJQUNoQixxQkFBcUIsRUFBRSxJQUFJO0lBQzNCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSSxHQUFHO0VBQ3RCLEFBQUEsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQUFBQSxPQUFPLENBQUM7SUFDaEMsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxHQUFHO0VBQzlELEFBQUEsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQUFBQSx1QkFBdUIsQUFBQSxPQUFPLENBQUM7SUFDdkQsT0FBTyxFQUFFLENBQUMsR0FBRzs7QWhHbnVCakIsK0JBQStCO0FBQy9CLGtEQUFrRDtBaUdUbEQsd0RBQXdEO0FFQXhELHFEQUFxRDtBQ0FyRCxVQUFVO0VBQ1IsV0FBVyxFQUFFLFVBQVU7RUFDdkIsR0FBRyxFQUFFLG1CQUFtQjtFQUM0QixHQUFHLEVBQUUsbUJBQW1CLENBQUMsa0JBQWtCLEVBQzFGLDBCQUEwQixDQUFDLDJCQUEyQixFQUN0RCxvQkFBb0IsQ0FBQyxjQUFjLEVBQ25DLCtCQUErQixDQUFDLGFBQWE7RUFDbEQsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07O0FBR3BCLEFBQUEsS0FBSyxBQUFBLE9BQU8sQ0FBQztFQUNYLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFdBQVcsRUFBRSxDQUFDO0VBQ2Qsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTLEdBQ25DOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1AsU0FBUyxFQUFFLG9CQUFvQjtFQUMvQixXQUFXLEVBQUUsTUFBTTtFQUNuQixjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFDRCxBQUFBLFFBQVEsQ0FBQztFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUk7O0FBQzdCLEFBQUEsUUFBUSxDQUFDO0VBQUUsU0FBUyxFQUFFLEdBQUcsR0FBSTs7QUFDN0IsQUFBQSxRQUFRLENBQUM7RUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFJOztBQUM3QixBQUFBLFFBQVEsQ0FBQztFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUk7O0FBQzdCLEFBQUEsUUFBUSxDQUFDO0VBQ1AsS0FBSyxFQUFFLG9CQUFvQjtFQUMzQixVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QU5mRCxBQUFBLElBQUksQ09sQkM7RUFDSCxXQUFXLEVKc0VBLFNBQVMsRUFBRSxVQUFVO0VJckVoQyxLQUFLLEVKS1ksT0FBTztFSUp4QixzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFDbEMsU0FBUyxFQUFFLEdBQUc7RUFDZCxJQUFJLEVBQUUsR0FBRyxHQUtWO0VBWEQsQUFRRSxJQVJFLEFBUUQsT0FBTyxDQUFDO0lBQ1AsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FQd1pILEFBQUEsS0FBSyxDT3JaQztFQUNKLE1BQU0sRUFBRSxNQUFNO0VBQ2QsS0FBSyxFQUFFLElBQUksR0EyQlo7RUE3QkQsQUFJRSxLQUpHLENBSUgsRUFBRSxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsR0FDVjtFQU5ILEFBUUUsS0FSRyxDQVFILEVBQUU7RUFSSixLQUFLLENBU0gsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLE1BQU0sR0FDaEI7RUFYSCxBQWFFLEtBYkcsQ0FhSCxFQUFFLEFBQUEsS0FBSztFQWJULEtBQUssQ0FjSCxFQUFFLEFBQUEsSUFBSSxDQUFDO0lBQ0wsVUFBVSxFQUFFLElBQUk7SUFDaEIsTUFBTSxFQUFFLENBQUM7SUFDVCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0pkTixPQUFPLEdJZTFCO0VBbEJILEFBb0JFLEtBcEJHLENBb0JILEtBQUssQ0FBQztJQUNKLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDSmxCSCxPQUFPLEdJbUIxQjtFQXRCSCxBQUlFLEtBSkcsQ0FJSCxFQUFFLENBb0JDO0lBQ0QsU0FBUyxFNUV6QkgsU0FBdUI7STRFMEI3QixLQUFLLEVKOUJpQixPQUFPO0lJK0I3QixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QVBpVkgsQUFBQSxRQUFRLENPOVVDO0VBQ1AsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRCxBQUFBLE9BQU8sQUFBQSxxQkFBcUIsQ0FBQztFQUMzQixVQUFVLEVKNUJHLE9BQU8sR0k0RXJCO0VBakRELEFBR0UsT0FISyxBQUFBLHFCQUFxQixDQUcxQixXQUFXLENBQUM7SUFDVixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsSUFBSTtJQUNiLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFNUUxQ0EsU0FBdUI7STRFMkM3QixNQUFNLEVBQUUsTUFBTTtJQUNkLFNBQVMsRTVFNUNILEtBQXVCO0k0RTZDN0IsUUFBUSxFQUFFLE9BQU87SUFDakIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsS0FBSyxFQUFFLElBQUksR0FvQ1o7SVpWQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01ZdEN4QyxBQUdFLE9BSEssQUFBQSxxQkFBcUIsQ0FHMUIsV0FBVyxDQUFDO1FBWVIsWUFBWSxFNUVsRFIsTUFBdUIsRzRFbUY5QjtJWlZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVl0Q3ZDLEFBR0UsT0FISyxBQUFBLHFCQUFxQixDQUcxQixXQUFXLENBQUM7UUFnQlIsWUFBWSxFNUV0RFIsT0FBdUIsRzRFbUY5QjtJQWhESCxBQXNCSSxPQXRCRyxBQUFBLHFCQUFxQixDQUcxQixXQUFXLENBbUJULENBQUMsQ0FBQztNQUNBLFNBQVMsRTVFMURMLE9BQXVCO000RTJEM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsb0JBQW9CLEVBQUUsU0FBUyxHQUtoQztNWk9ELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UVl0Q3ZDLEFBc0JJLE9BdEJHLEFBQUEscUJBQXFCLENBRzFCLFdBQVcsQ0FtQlQsQ0FBQyxDQUFDO1VBT0UsU0FBUyxFNUVoRVAsTUFBdUIsRzRFa0U1QjtJQS9CTCxBQWlDSSxPQWpDRyxBQUFBLHFCQUFxQixDQUcxQixXQUFXLENBOEJULFVBQVUsQ0FBQztNQUNULGdCQUFnQixFQUFFLHlDQUF5QztNQUMzRCxlQUFlLEVBQUUsR0FBRztNQUNwQixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixNQUFNLEVBQUUsS0FBSyxHQUNkO0lBeENMLEFBMENJLE9BMUNHLEFBQUEscUJBQXFCLENBRzFCLFdBQVcsQ0F1Q1QsYUFBYSxDQUFDO01BQ1osS0FBSyxFSjFDSSxPQUFPO01JMkNoQixXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEU1RWhGTCxPQUF1QjtNNEVpRjNCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUlMLEFBQUEsTUFBTSxDQUFBLEFBQUEsS0FBQyxDQUFNLDRDQUE0QyxBQUFsRCxFQUFvRDtFQUN6RCxNQUFNLEVBQUUsZ0JBQWdCLEdBQ3pCOztBQUNELEFBQUEsTUFBTSxDQUFBLEFBQUEsS0FBQyxDQUFNLFdBQVcsQUFBakIsRUFBbUI7RUFDeEIsS0FBSyxFQUFFLGdCQUFnQixHQUN4Qjs7QUN2R0QsQUFBQSxDQUFDLENBQUM7RUFDQSxNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFHRCxBQUFBLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLE9BQU8sR0FDaEI7O0FBRUQsQUFBQSxDQUFDO0FBQ0QsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVMWlksT0FBTztFS2F4QixlQUFlLEVBQUUsSUFBSTtFQUNyQixrQkFBa0IsRUFBRSxJQUFJLEdBQ3pCOztBQUVELEFBRUUsa0JBRmdCLENBRWhCLENBQUMsQUFBQSxJQUFLLEVBQUEsQUFBQSxLQUFDLEFBQUE7QUFGVCxrQkFBa0IsQ0FHaEIsQ0FBQyxDQUFBLEFBQUEsS0FBQyxDQUFNLEVBQUUsQUFBUixFQUFVO0VBQ1YsS0FBSyxFTEVPLE9BQU8sR0tHcEI7RUFUSCxBQU1JLGtCQU5jLENBRWhCLENBQUMsQUFBQSxJQUFLLEVBQUEsQUFBQSxLQUFDLEFBQUEsRUFJSixNQUFNO0VBTlgsa0JBQWtCLENBR2hCLENBQUMsQ0FBQSxBQUFBLEtBQUMsQ0FBTSxFQUFFLEFBQVIsQ0FHQyxNQUFNLENBQUM7SUFDTixlQUFlLEVBQUUsU0FBUyxHQUMzQjs7QUFSTCxBQVdFLGtCQVhnQixDQVdoQixDQUFDLENBQUM7RUFDQSxTQUFTLEU3RXZCSCxRQUF1QixHNkV5QjlCOztBQUdILEFBQUEsTUFBTSxBQUFBLFNBQVMsQ0FBQztFQUNkLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFTGRTLE9BQU8sR0tldEI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBS1g7RUFQRCxBQUlFLEVBSkEsQ0FJQSxFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFHSCxBQUNFLGtCQURnQixDQUNoQixLQUFLLENBQUMsRUFBRSxDQUFDO0VIdkJULFNBQVMsRTFFckJELFFBQXVCO0UwRXNCL0IsTUFBTSxFQUFFLE1BQU07RUFDZCxlQUFlLEVBQUUsSUFBSTtFQUNyQixnQkFBZ0IsRUFBRSxJQUFJLEdHc0JyQjtFQUhILEFIakJFLGtCR2lCZ0IsQ0FDaEIsS0FBSyxDQUFDLEVBQUUsQ0hsQlIsRUFBRSxDQUFDO0lBRUQsYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLElBQUk7SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsZUFBZSxFQUFFLElBQUk7SUFDckIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixVQUFVLEVBQUUsSUFBSSxHQWVqQjtJR05ILEFIUEksa0JHT2MsQ0FDaEIsS0FBSyxDQUFDLEVBQUUsQ0hsQlIsRUFBRSxBQVVDLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsVUFBVSxFRmpDTSxPQUFPO01Fa0N2QixLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsYUFBYSxFQUFFLEdBQUc7TUFDbEIsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLE1BQU07TUFDdEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSSxHQUNWOztBR0NMLEFBQUEsR0FBRyxBQUFBLFlBQVksQ0FBQztFQUNkLFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQy9ERCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFTm9CSixJQUFJLEdNa25CWDtFQTNvQkQsQUFlTSxNQWZBLEFBT0gsTUFBTSxDQU1MLGFBQWEsQ0FFWCxJQUFJLENBQUM7SUFDSCxjQUFjLEVBQUUsR0FBRyxHQUNwQjtFQWpCUCxBQW1CTSxNQW5CQSxBQU9ILE1BQU0sQ0FNTCxhQUFhLENBTVgsS0FBSyxDQUFDO0lBQ0osS0FBSyxFQUFFLEtBQUssR0FDYjtFQXJCUCxBQXVCTSxNQXZCQSxBQU9ILE1BQU0sQ0FNTCxhQUFhLENBVVgsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDWixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQXpCUCxBQTJDRSxNQTNDSSxDQTJDSixnQkFBZ0IsQ0FBQztJQUNmLFFBQVEsRUFBRSxRQUFRO0l0Q3BDZCxrQkFBb0IsRXNDc0NKLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJdENqQ2hDLGVBQWlCLEVzQ2lDRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SXRDbEJoQyxVQUFZLEVzQ2tCSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SUFDcEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBeUIsR0FXakQ7SUExREgsQUFpREksTUFqREUsQ0EyQ0osZ0JBQWdCLENBTWQsRUFBRSxDQUFDO01BQ0QsVUFBVSxFQUFFLElBQUk7TWhCNUJwQixPQUFPLEVnQjZCVSxDQUFDO001Q29DaEIsTUFBTyxFQTVEUyxDQUFDLEc0QzBCaEI7SWRnQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY3JGdkMsQUEyQ0UsTUEzQ0ksQ0EyQ0osZ0JBQWdCLENBQUM7UWhCckJqQixPQUFPLEVnQmtDVSxJQUFJLENBQUMsSUFBSSxHQUV6QjtFQTFESCxBN0NPRSxNNkNQSSxDQTRESixZQUFZLENBRVYsSUFBSSxBN0N2REwsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZDWEgsQUE2RU0sTUE3RUEsQ0E0REosWUFBWSxDQU1WLFlBQVksQ0FXVixHQUFHLENBQUM7SUFDRixRQUFRLEVBQUUsUUFBUTtJNUNTdEIsTUFBTyxFNENSYSxHQUFHLEM1Q25EUCxDQUFDO0lRbEJqQixNQUFNLEVvQ3NFaUIsS0FBSztJcEM5RDVCLEtBQUssRW9DOERhLElBQUk7SXRDeEVsQixrQkFBb0IsRXNDeUVBLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJdENwRXRDLGVBQWlCLEVzQ29FRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SXRDckR0QyxVQUFZLEVzQ3FEUSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SUFDdEMsVUFBVSxFTjNFTSxPQUFPO0lNNEV2QixhQUFhLEVBQUUsR0FBRyxHQWtCbkI7SUFyR1AsQUFxRlEsTUFyRkYsQ0E0REosWUFBWSxDQU1WLFlBQVksQ0FXVixHQUFHLEFBUUEsT0FBTyxFQXJGaEIsTUFBTSxDQTRESixZQUFZLENBTVYsWUFBWSxDQVdWLEdBQUcsQUFTQSxNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNQUNYLGFBQWEsRUFBRSxHQUFHO01wQzlFeEIsTUFBTSxFb0MrRW1CLEtBQUs7TXBDdkU5QixLQUFLLEVvQ3VFZSxJQUFJO01BQ2xCLFVBQVUsRU5uRkksT0FBTztNaENDdkIsa0JBQW9CLEVzQ21GRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7TXRDOUV4QyxlQUFpQixFc0M4RUssR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO010Qy9EeEMsVUFBWSxFc0MrRFUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ3ZDO0lBNUZULEFBOEZRLE1BOUZGLENBNERKLFlBQVksQ0FNVixZQUFZLENBV1YsR0FBRyxBQWlCQSxPQUFPLENBQUM7TXZDN0VmLFFBQVEsRXVDOEVrQixRQUFRO012QzFFOUIsR0FBVSxFdUMwRXVCLElBQUc7TXZDMUVwQyxJQUFVLEV1QzBFcUMsQ0FBQyxHQUM3QztJQWhHVCxBQWtHUSxNQWxHRixDQTRESixZQUFZLENBTVYsWUFBWSxDQVdWLEdBQUcsQUFxQkEsTUFBTSxDQUFDO012Q2pGZCxRQUFRLEV1Q2tGa0IsUUFBUTtNdkM5RTlCLE1BQVUsRXVDOEVpQyxJQUFHO012QzlFOUMsSUFBVSxFdUM4RXFDLENBQUMsR0FDN0M7RUFwR1QsQUF5R0ksTUF6R0UsQ0E0REosWUFBWSxDQTZDVixNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsRUFBRTtJdkN6RmYsUUFBUSxFdUMwRmMsS0FBSztJdkN0RnZCLEdBQVUsRXVDc0ZlLENBQUM7SXZDdEYxQixLQUFVLEV1Q3NGa0IsTUFBSztJdENuRy9CLGtCQUFvQixFc0NvR0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0l0Qy9GcEMsZUFBaUIsRXNDK0ZDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJdENoRnBDLFVBQVksRXNDZ0ZNLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJcENsR3hDLE1BQU0sRW9DbUdnQixJQUFJO0lwQzNGMUIsS0FBSyxFb0MyRlcsS0FBSztJQUNuQixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGtCQUFtQjtJQUMzQyxVQUFVLEVBQUUsS0FBSztJQUNqQixRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEVOeEZSLElBQUk7SU15Rk4sY0FBYyxFQUFFLElBQUksR0FDckI7RUFuSEwsQUFxSEksTUFySEUsQ0E0REosWUFBWSxDQXlEVixZQUFZLENBQUM7SXBDM0diLE1BQU0sRW9DNEdlLElBQUk7SXBDcEd6QixLQUFLLEVvQ29HVyxJQUFJO0loQmhHdEIsT0FBTyxFZ0JpR1UsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtJQUMvQixVQUFVLEVOeEdJLE9BQU8sR00wSXRCO0lBMUpMLEFBMEhNLE1BMUhBLENBNERKLFlBQVksQ0F5RFYsWUFBWSxDQUtWLEtBQUssQ0FBQztNQUNKLE9BQU8sRUFBRSxZQUFZO01BQ3JCLGNBQWMsRUFBRSxNQUFNO01BQ3RCLE9BQU8sRUFBRSxJQUFJO01BQ2Isa0JBQWtCLEVBQUUsT0FBTyxHQUM1QjtJQS9IUCxBQWlJTSxNQWpJQSxDQTRESixZQUFZLENBeURWLFlBQVksQ0FZVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7TUFDbkIsVUFBVSxFQUFFLFdBQVc7TUFDdkIsTUFBTSxFQUFFLENBQUM7TUFDVCxVQUFVLEVBQUUsSUFBSTtNQUNoQixTQUFTLEUvRTNIUCxRQUFzQjtNK0U0SHhCLGNBQWMsRUFBRSxLQUFLO01BQ3JCLFdBQVcsRUFBRSxDQUFDO01oQmpIcEIsT0FBTyxFZ0JrSFksR0FBRyxDQUFDLEdBQUc7TUFDcEIsS0FBSyxFTmpJYSxPQUFPO01Na0l6QixLQUFLLEVBQUUsaUJBQWlCO01BQ3hCLFlBQVksRUFBRSxJQUFJLEdBS25CO01BaEpQLEFwREVJLE1vREZFLENBNERKLFlBQVksQ0F5RFYsWUFBWSxDQVlWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ3BEL0hQLDJCQUEyQixDQUFFO1FvRDRJeEIsY0FBYyxFQUFFLFNBQVMsR3BEMUk5QjtNb0RKTCxBcERFSSxNb0RGRSxDQTRESixZQUFZLENBeURWLFlBQVksQ0FZVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENwRC9IUCxrQkFBa0IsQ0FBVztRb0Q0SXhCLGNBQWMsRUFBRSxTQUFTLEdwRDFJOUI7TW9ESkwsQXBERUksTW9ERkUsQ0E0REosWUFBWSxDQXlEVixZQUFZLENBWVYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDcEQvSFAsaUJBQWlCLENBQVk7UW9ENEl4QixjQUFjLEVBQUUsU0FBUyxHcEQxSTlCO01vREpMLEFwREVJLE1vREZFLENBNERKLFlBQVksQ0F5RFYsWUFBWSxDQVlWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ3BEL0hQLHNCQUFzQixDQUFPO1FvRDRJeEIsY0FBYyxFQUFFLFNBQVMsR3BEMUk5QjtJb0RKTCxBQWtKTSxNQWxKQSxDQTRESixZQUFZLENBeURWLFlBQVksQ0E2QlYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO01BQ25CLFNBQVMsRUFBRSxDQUFDO01BQ1osTUFBTSxFQUFFLENBQUM7TXBDMUliLE1BQU0sRW9DMklZLElBQUk7TXBDbkl0QixLQUFLLEVvQ21JYSxJQUFJO01BQ2xCLE1BQU0sRUFBRSxPQUFPO01BQ2YsVUFBVSxFQUFFLDZDQUE2QyxDQUFDLFNBQVMsQ0FBQyxNQUFNO01BQzFFLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0VBekpQLEFBNEpJLE1BNUpFLENBNERKLFlBQVksQ0FnR1YsVUFBVSxDQUFDO0loQnRJYixPQUFPLEVnQnVJVSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0lBQ2pDLFVBQVUsRU5ySVIsSUFBSTtJTXNJTixhQUFhLEVBQUUsTUFBTSxHQTBDdEI7SUF6TUwsQUFpS00sTUFqS0EsQ0E0REosWUFBWSxDQWdHVixVQUFVLENBS1IsRUFBRSxBQUFBLElBQUssQ0FBQSxNQUFNLEVBQUU7TUFDYixRQUFRLEVBQUUsUUFBUTtNQUNsQixNQUFNLEVBQUUsT0FBTztNQUNmLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGFBQWEsRUFBRSxJQUFJO01oQi9JekIsT0FBTyxFZ0JnSlksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTtNdEM5SjNCLGtCQUFvQixFc0MrSkEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO010QzFKdEMsZUFBaUIsRXNDMEpHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtNdEMzSXRDLFVBQVksRXNDMklRLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQWlDdkM7TUF4TVAsQUF5S1EsTUF6S0YsQ0E0REosWUFBWSxDQWdHVixVQUFVLENBS1IsRUFBRSxBQUFBLElBQUssQ0FBQSxNQUFNLENBUVYsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsQ0FBQztRQUNWLFVBQVUsRU4vSUosT0FBTztROUJuQm5CLE1BQU0sRW9DbUtrQixJQUFJO1FwQzNKNUIsS0FBSyxFb0MySmUsR0FBRztRdkM1SnpCLFFBQVEsRXVDNkprQixRQUFRO1F2Q3pKOUIsR0FBVSxFdUN5SnNCLENBQUM7UXZDekpqQyxJQUFVLEV1Q3lKa0MsQ0FBQztRdEN0SzNDLGtCQUFvQixFc0N1S0UsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRO1F0Q2xLNUMsZUFBaUIsRXNDa0tLLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUTtRdENuSjVDLFVBQVksRXNDbUpVLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUMzQztNQWhMVCxBQWtMUSxNQWxMRixDQTRESixZQUFZLENBZ0dWLFVBQVUsQ0FLUixFQUFFLEFBQUEsSUFBSyxDQUFBLE1BQU0sRUFpQlgsQ0FBQyxDQUFDO1FBQ0EsU0FBUyxFOUV2S1QsVUFBdUI7UThFd0t2QixLQUFLLEVON0tTLE9BQU87UU04S3JCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO01BdExULEFBMkxVLE1BM0xKLENBNERKLFlBQVksQ0FnR1YsVUFBVSxDQUtSLEVBQUUsQUFBQSxJQUFLLENBQUEsTUFBTSxDQXVCVixNQUFNLEFBR0osT0FBTyxFQTNMbEIsTUFBTSxDQTRESixZQUFZLENBZ0dWLFVBQVUsQ0FLUixFQUFFLEFBQUEsSUFBSyxDQUFBLE1BQU0sQ0F3QlYsYUFBYSxBQUVYLE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxDQUFDLEdBQ1g7TUE3TFgsQUErTFUsTUEvTEosQ0E0REosWUFBWSxDQWdHVixVQUFVLENBS1IsRUFBRSxBQUFBLElBQUssQ0FBQSxNQUFNLENBdUJWLE1BQU0sQ0FPTCxDQUFDLEVBL0xYLE1BQU0sQ0E0REosWUFBWSxDQWdHVixVQUFVLENBS1IsRUFBRSxBQUFBLElBQUssQ0FBQSxNQUFNLENBd0JWLGFBQWEsQ0FNWixDQUFDLENBQUM7UUFDQSxXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEVOMUxPLE9BQU8sR00yTHBCO01BbE1YLEFBcU1RLE1Bck1GLENBNERKLFlBQVksQ0FnR1YsVUFBVSxDQUtSLEVBQUUsQUFBQSxJQUFLLENBQUEsTUFBTSxDQW9DVixhQUFhLENBQUM7UUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQXZNVCxBQTJNSSxNQTNNRSxDQTRESixZQUFZLENBK0lWLFdBQVcsQ0FBQztJQUNWLFNBQVMsRS9FbE1MLFFBQXNCO0krRW1NMUIsTUFBTSxFQUFFLE9BQU87SUFDZixjQUFjLEVBQUUsU0FBUztJQUN6QixjQUFjLEVBQUUsS0FBSztJQUNyQixPQUFPLEVBQUUsc0JBQXNCLEdBc0ZoQztJQXRTTCxBQW9OUSxNQXBORixDQTRESixZQUFZLENBK0lWLFdBQVcsQUFPUixjQUFjLENBRWIsZ0JBQWdCLENBQUM7TUFDZixPQUFPLEVBQUUsWUFBWTtNQUNyQixhQUFhLEVBQUUsSUFBSTtNQUNuQixVQUFVLEVBQUUsNENBQTRDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHO01BQzVFLGVBQWUsRUFBRSxVQUFVLEdBQzVCO0lBek5ULEFBNE5NLE1BNU5BLENBNERKLFlBQVksQ0ErSVYsV0FBVyxBQWlCUixNQUFNLEFBQUEsSUFBSyxDQUFBLFNBQVMsRUFBRTtNQUNyQixLQUFLLEVOL0xLLE9BQU8sR01nTWxCO0lBOU5QLEFBZ09NLE1BaE9BLENBNERKLFlBQVksQ0ErSVYsV0FBVyxBQXFCUixRQUFRLENBQUM7TUFDUixVQUFVLEVBQUUsOENBQThDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJO01BQzlFLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0lBbk9QLEFBcU9NLE1Bck9BLENBNERKLFlBQVksQ0ErSVYsV0FBVyxBQTBCUixPQUFPLENBQUM7TUFDUCxVQUFVLEVBQUUsK0NBQStDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJO01BQy9FLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0lBeE9QLEFBME9NLE1BMU9BLENBNERKLFlBQVksQ0ErSVYsV0FBVyxBQStCUixTQUFTLENBQUM7TUFDVCxVQUFVLEVBQUUsb0RBQW9ELENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJO01BQ3BGLGVBQWUsRUFBRSxRQUFRLEdBdUIxQjtNQW5RUCxBQWdQVSxNQWhQSixDQTRESixZQUFZLENBK0lWLFdBQVcsQUErQlIsU0FBUyxDQUlSLFNBQVMsQ0FFUCxFQUFFLENBQUM7UUFDRCxPQUFPLEVBQUUsWUFBWTtRQUNyQixZQUFZLEVBQUUsSUFBSTtRQUNsQixLQUFLLEVONU9PLE9BQU87UWhDQ3ZCLGtCQUFvQixFc0M0T0ksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1F0Q3ZPeEMsZUFBaUIsRXNDdU9PLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtRdEN4TnhDLFVBQVksRXNDd05ZLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUtyQztRQXpQWCxBQXNQWSxNQXRQTixDQTRESixZQUFZLENBK0lWLFdBQVcsQUErQlIsU0FBUyxDQUlSLFNBQVMsQ0FFUCxFQUFFLEFBTUMsTUFBTSxDQUFDO1VBQ04sS0FBSyxFTnpORCxPQUFPLEdNME5aO01BeFBiLEFBMlBVLE1BM1BKLENBNERKLFlBQVksQ0ErSVYsV0FBVyxBQStCUixTQUFTLENBSVIsU0FBUyxDQWFQLFFBQVEsQ0FBQztRQUNQLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO01BN1BYLEFBK1BVLE1BL1BKLENBNERKLFlBQVksQ0ErSVYsV0FBVyxBQStCUixTQUFTLENBSVIsU0FBUyxDQWlCUCxPQUFPLENBQUM7UUFDTixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQWpRWCxBQXFRTSxNQXJRQSxDQTRESixZQUFZLENBK0lWLFdBQVcsQUEwRFIsY0FBYyxDQUFDO01BQ2QsTUFBTSxFQUFFLE9BQU8sR0FDaEI7SUF2UVAsQUF5UU0sTUF6UUEsQ0E0REosWUFBWSxDQStJVixXQUFXLENBOERULEVBQUUsQ0FBQztNQUNELFlBQVksRUFBRSxJQUFJLEdBQ25CO0lBM1FQLEFBNlFNLE1BN1FBLENBNERKLFlBQVksQ0ErSVYsV0FBVyxDQWtFVCxTQUFTLENBQUM7TUFDUixPQUFPLEVBQUUsSUFBSTtNQUNiLE9BQU8sRUFBRSxRQUFRLEdBc0JsQjtNQXJTUCxBQWlSUSxNQWpSRixDQTRESixZQUFZLENBK0lWLFdBQVcsQ0FrRVQsU0FBUyxDQUlQLEVBQUUsQ0FBQztRQUNELFlBQVksRUFBRSxDQUFDO1FBQ2YsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFOUV4UVQsT0FBdUI7UThFeVF2QixXQUFXLEVBQUUsQ0FBQztRQUNkLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLGNBQWMsRUFBRSxVQUFVLEdBYTNCO1FBcFNULEFBeVJVLE1BelJKLENBNERKLFlBQVksQ0ErSVYsV0FBVyxDQWtFVCxTQUFTLENBSVAsRUFBRSxDQVFBLENBQUMsQ0FBQztVQUNBLEtBQUssRU5uUk8sT0FBTyxHTW9ScEI7UUEzUlgsQUE2UlUsTUE3UkosQ0E0REosWUFBWSxDQStJVixXQUFXLENBa0VULFNBQVMsQ0FJUCxFQUFFLEFBWUMsT0FBTyxDQUFDO1VBQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7UUEvUlgsQUFpU1UsTUFqU0osQ0E0REosWUFBWSxDQStJVixXQUFXLENBa0VULFNBQVMsQ0FJUCxFQUFFLEFBZ0JDLGFBQWEsQ0FBQztVQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBblNYLEFBMFNNLE1BMVNBLENBNERKLFlBQVksQUE0T1QsUUFBUSxDQUVQLFlBQVksQ0FBQztJQUNYLEtBQUssRUFBRSxLQUFLLEdBYWI7SUF4VFAsQUE2U1EsTUE3U0YsQ0E0REosWUFBWSxBQTRPVCxRQUFRLENBRVAsWUFBWSxDQUdWLEdBQUcsQ0FBQztNQUNGLFVBQVUsRUFBRSxXQUFXLEdBU3hCO01BdlRULEFBZ1RVLE1BaFRKLENBNERKLFlBQVksQUE0T1QsUUFBUSxDQUVQLFlBQVksQ0FHVixHQUFHLEFBR0EsT0FBTyxDQUFDO1F0Q3hTWCxpQkFBb0IsRXNDeVNHLGFBQWEsQ0FBQyxlQUFlLENBQUMsZUFBZTtRdENwU3BFLGNBQWlCLEVzQ29TTSxhQUFhLENBQUMsZUFBZSxDQUFDLGVBQWU7UXRDL1JwRSxhQUFnQixFc0MrUk8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxlQUFlO1F0QzFScEUsWUFBZSxFc0MwUlEsYUFBYSxDQUFDLGVBQWUsQ0FBQyxlQUFlO1F0Q3JScEUsU0FBWSxFc0NxUlcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEdBQ2pFO01BbFRYLEFBb1RVLE1BcFRKLENBNERKLFlBQVksQUE0T1QsUUFBUSxDQUVQLFlBQVksQ0FHVixHQUFHLEFBT0EsTUFBTSxDQUFDO1F0QzVTVixpQkFBb0IsRXNDNlNHLGNBQWMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCO1F0Q3hTdEUsY0FBaUIsRXNDd1NNLGNBQWMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCO1F0Q25TdEUsYUFBZ0IsRXNDbVNPLGNBQWMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCO1F0QzlSdEUsWUFBZSxFc0M4UlEsY0FBYyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0I7UXRDelJ0RSxTQUFZLEVzQ3lSVyxjQUFjLENBQUMsZUFBZSxDQUFDLGdCQUFnQixHQUNuRTtFQXRUWCxBQStUTSxNQS9UQSxDQTRESixZQUFZLEFBNE9ULFFBQVEsQ0F1QlAsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLENBQUMsR0FDVDtFQWpVUCxBQXFVRSxNQXJVSSxDQXFVSixhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsS0FBSztJSjlTaEIsU0FBUyxFQUFFLE1BQU07SUFDakIsT0FBTyxFQUFFLE1BQU07SUFDZixNQUFNLEVBQUUsTUFBTTtJQUNkLEtBQUssRUFBRSxJQUFJLEdJOGZWO0lBemhCSCxBN0NPRSxNNkNQSSxDQXFVSixhQUFhLEE3QzlUWixPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY3JGdkMsQUFxVUUsTUFyVUksQ0FxVUosYUFBYSxDQUFDO1FBS1YsT0FBTyxFQUFFLElBQUksR0ErTWhCO0lBemhCSCxBQTZVSSxNQTdVRSxDQXFVSixhQUFhLENBUVgsSUFBSSxDQUFDO01BRUgsY0FBYyxFQUFFLElBQUk7TXRDdlVsQixrQkFBb0IsRXNDd1VGLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNdENuVWxDLGVBQWlCLEVzQ21VQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TXRDcFRsQyxVQUFZLEVzQ29UTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7TUFqVkwsQTdDT0UsTTZDUEksQ0FxVUosYUFBYSxDQVFYLElBQUksQTdDdFVMLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0k2Q1hILEFBbVZJLE1BblZFLENBcVVKLGFBQWEsQ0FjWCxLQUFLLENBQUM7TUFDSixLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxLQUFLO010QzdVVixrQkFBb0IsRXNDOFVGLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNdEN6VWxDLGVBQWlCLEVzQ3lVQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TXRDMVRsQyxVQUFZLEVzQzBUTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FNckM7TUE1VkwsQUF3Vk0sTUF4VkEsQ0FxVUosYUFBYSxDQWNYLEtBQUssQ0FLSCxHQUFHLENBQUM7UUFDRixLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SUEzVlAsQUE4VkksTUE5VkUsQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBQUM7TUFDTCxLQUFLLEVBQUUsS0FBSyxHQTRIYjtNQTNkTCxBQWlXTSxNQWpXQSxDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FHSixFQUFFLENBQUM7UUFDRCxRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsWUFBWTtRQUNyQixjQUFjLEVBQUUsTUFBTTtRQUN0QixNQUFNLEVBQUUsVUFBVTtRaEIvVXhCLE9BQU8sRWdCZ1ZZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDekIsU0FBUyxFOUUzVlAsT0FBdUI7UThFNFZ6QixjQUFjLEVBQUUsU0FBUztRQUN6QixjQUFjLEVBQUUsS0FBSztRQUNyQixNQUFNLEVBQUUsT0FBTztRdENsV2Ysa0JBQW9CLEVzQ21XQSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07UXRDOVZwQyxlQUFpQixFc0M4VkcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1F0Qy9VcEMsVUFBWSxFc0MrVVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBdURyQztRQWxhUCxBQTZXUSxNQTdXRixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FHSixFQUFFLENBWUEsQ0FBQyxDQUFDO1VBQ0EsU0FBUyxFOUVsV1QsT0FBdUI7VXdDSnpCLGtCQUFvQixFc0N1V0UsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1V0Q2xXdEMsZUFBaUIsRXNDa1dLLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtVdENuVnRDLFVBQVksRXNDbVZVLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztRQWhYVCxBQWtYUSxNQWxYRixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FHSixFQUFFLEFBaUJDLFFBQVEsQ0FBQztVQUNSLFVBQVUsRUFBRSxxQ0FBcUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUc7VUFDcEUsZUFBZSxFQUFFLFFBQVEsR0FDMUI7UUFyWFQsQUF1WFEsTUF2WEYsQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBR0osRUFBRSxBQXNCQyxTQUFTLENBQUM7VUFDVCxVQUFVLEVBQUUsc0NBQXNDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHO1VBQ3JFLGVBQWUsRUFBRSxRQUFRLEdBQzFCO1FBMVhULEFBNFhRLE1BNVhGLENBcVVKLGFBQWEsQ0F5QlgsTUFBTSxDQUdKLEVBQUUsQUEyQkMsT0FBTyxDQUFDO1VBQ1AsVUFBVSxFQUFFLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRztVQUNuRSxlQUFlLEVBQUUsUUFBUSxHQUMxQjtRQS9YVCxBQWlZUSxNQWpZRixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FHSixFQUFFLEFBZ0NDLE1BQU0sQ0FBQztVQUNOLEtBQUssRU5wV0csT0FBTyxHTW1ZaEI7VUFqYVQsQUFvWVUsTUFwWUosQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBR0osRUFBRSxBQWdDQyxNQUFNLENBR0wsQ0FBQyxDQUFDO1lBQ0EsS0FBSyxFTnZXQyxPQUFPLEdNd1dkO1VBdFlYLEFBd1lVLE1BeFlKLENBcVVKLGFBQWEsQ0F5QlgsTUFBTSxDQUdKLEVBQUUsQUFnQ0MsTUFBTSxBQU9KLFFBQVEsQ0FBQztZQUNSLFVBQVUsRUFBRSw0Q0FBNEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDM0UsZUFBZSxFQUFFLFFBQVEsR0FNMUI7WUFoWlgsQUE0WVksTUE1WU4sQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBR0osRUFBRSxBQWdDQyxNQUFNLEFBT0osUUFBUSxDQUlQLFNBQVMsQ0FBQztjQUNSLE9BQU8sRUFBRSxDQUFDO2NBQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7VUEvWWIsQUFrWlUsTUFsWkosQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBR0osRUFBRSxBQWdDQyxNQUFNLEFBaUJKLFNBQVMsQ0FBQztZQUNULFVBQVUsRUFBRSw2Q0FBNkMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDNUUsZUFBZSxFQUFFLFFBQVE7WUFDekIsT0FBTyxFQUFFLEVBQUUsR0FNWjtZQTNaWCxBQXVaWSxNQXZaTixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FHSixFQUFFLEFBZ0NDLE1BQU0sQUFpQkosU0FBUyxDQUtSLFNBQVMsQ0FBQztjQUNSLE9BQU8sRUFBRSxDQUFDO2NBQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7VUExWmIsQUE2WlUsTUE3WkosQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBR0osRUFBRSxBQWdDQyxNQUFNLEFBNEJKLE9BQU8sQ0FBQztZQUNQLFVBQVUsRUFBRSw2Q0FBNkMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDNUUsZUFBZSxFQUFFLFFBQVEsR0FDMUI7TUFoYVgsQUFvYU0sTUFwYUEsQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBc0VKLFNBQVMsQ0FBQztRQUNSLE9BQU8sRUFBRSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07UUFDbEIsU0FBUyxFQUFFLEtBQUs7UXZDdFp0QixRQUFRLEV1Q3VaZ0IsUUFBUTtRdkNuWjVCLEdBQVUsRXVDbVpvQixJQUFJO1F2Q25abEMsSUFBVSxFdUNtWm1DLENBQUM7UXRDaGE1QyxrQkFBb0IsRXNDaWFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtRdEM1WnBDLGVBQWlCLEVzQzRaRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07UXRDN1lwQyxVQUFZLEVzQzZZUSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07UUFDcEMsVUFBVSxFTnJaRSxPQUFPO1FNc1puQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ041WkgsT0FBTztRTTZackIsYUFBYSxFQUFFLEdBQUc7UUFDbEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsR0FBRyxHQTRDYjtRQTFkUCxBQWdiUSxNQWhiRixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FzRUosU0FBUyxBQVlOLE1BQU0sQ0FBQztVQUNOLE9BQU8sRUFBRSxFQUFFO1VBQ1gsVUFBVSxFQUFFLHdDQUF3QyxDQUFDLFNBQVMsQ0FBQyxNQUFNO1VBQ3JFLGVBQWUsRUFBRSxTQUFTO1VwQ3phaEMsTUFBTSxFb0MwYW1CLElBQUk7VXBDbGE3QixLQUFLLEVvQ2thZSxJQUFJO1V2Q25hMUIsUUFBUSxFdUNvYWtCLFFBQVE7VXZDaGE5QixHQUFVLEV1Q2dhdUIsT0FBTTtVdkNoYXZDLEtBQVUsRXVDZ2E4QixDQUFDO1V2Q2hhekMsSUFBVSxFdUNnYXFDLENBQUM7VUFDNUMsTUFBTSxFQUFFLElBQUksR0FDYjtRQXZiVCxBQXliUSxNQXpiRixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FzRUosU0FBUyxDQXFCUCxFQUFFLENBQUM7VUFDRCxLQUFLLEVBQUUsSUFBSTtVQUNYLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLE1BQU0sRUFBRSxDQUFDO1VBQ1QsS0FBSyxFTnBiVyxPQUFPO1VNcWJ2QixjQUFjLEVBQUUsVUFBVTtVQUMxQixjQUFjLEVBQUUsQ0FBQztVaEJ6YXpCLE9BQU8sRWdCMGFjLEdBQUcsQ0FBQyxDQUFDO1V0Q3hicEIsa0JBQW9CLEVzQ3liRSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07VXRDcGJ0QyxlQUFpQixFc0NvYkssR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1V0Q3JhdEMsVUFBWSxFc0NxYVUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBd0JyQztVQXpkVCxBQW1jVSxNQW5jSixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FzRUosU0FBUyxDQXFCUCxFQUFFLENBVUEsQ0FBQyxDQUFDO1lBQ0EsU0FBUyxFOUV4YlgsT0FBdUI7WThFeWJyQixLQUFLLEVOOWJPLE9BQU87WWhDQ3ZCLGtCQUFvQixFc0M4YkksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1l0Q3pieEMsZUFBaUIsRXNDeWJPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtZdEMxYXhDLFVBQVksRXNDMGFZLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztVQXZjWCxBQXljVSxNQXpjSixDQXFVSixhQUFhLENBeUJYLE1BQU0sQ0FzRUosU0FBUyxDQXFCUCxFQUFFLEFBZ0JDLGFBQWEsQ0FBQztZQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO1VBM2NYLEFBNmNVLE1BN2NKLENBcVVKLGFBQWEsQ0F5QlgsTUFBTSxDQXNFSixTQUFTLENBcUJQLEVBQUUsQUFvQkMsYUFBYSxDQUFDO1lBQ2IsV0FBVyxFQUFFLElBQUksR0FDbEI7VUEvY1gsQUFpZFUsTUFqZEosQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBc0VKLFNBQVMsQ0FxQlAsRUFBRSxBQXdCQyxNQUFNLENBQUM7WUFDTixVQUFVLEVOcmJOLE9BQU8sR00yYlo7WUF4ZFgsQUFvZFksTUFwZE4sQ0FxVUosYUFBYSxDQXlCWCxNQUFNLENBc0VKLFNBQVMsQ0FxQlAsRUFBRSxBQXdCQyxNQUFNLENBR0wsQ0FBQyxDQUFDO2NBQ0EsS0FBSyxFTjViWCxJQUFJO2NoQ2pCSixrQkFBb0IsRXNDOGNNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtjdEN6YzFDLGVBQWlCLEVzQ3ljUyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07Y3RDMWIxQyxVQUFZLEVzQzBiYyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7SUF2ZGIsQUErZE0sTUEvZEEsQ0FxVUosYUFBYSxDQXdKWCxPQUFPLENBRUwsRUFBRSxDQUFDO01BQ0QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFOUVyZEosU0FBdUI7TThFc2R6QixVQUFVLEVBQUUsT0FBTztNQUNuQixLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxJQUFJO01BQ2hCLE1BQU0sRUFBRSxDQUFDO01BQ1QsT0FBTyxFQUFFLENBQUM7TUFDVixRQUFRLEVBQUUsTUFBTSxHQWdEakI7TUF2aEJQLEFBeWVRLE1BemVGLENBcVVKLGFBQWEsQ0F3SlgsT0FBTyxDQUVMLEVBQUUsQUFVQyxPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsRUFBRTtRdkN6ZG5CLFFBQVEsRXVDMGRrQixRQUFRO1F2Q3RkOUIsR0FBVSxFdUNzZHNCLENBQUM7UXZDdGRqQyxJQUFVLEV1Q3Nka0MsQ0FBQztRcENqZS9DLE1BQU0sRW9Da2VtQixHQUFHO1FwQzFkNUIsS0FBSyxFb0MwZGUsSUFBSTtRQUNsQixVQUFVLEVOOWRFLE9BQU8sR00rZHBCO01BOWVULEFBZ2ZRLE1BaGZGLENBcVVKLGFBQWEsQ0F3SlgsT0FBTyxDQUVMLEVBQUUsQUFpQkMsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsWUFBWTtRQUNyQixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7TUFyZlQsQUF1ZlEsTUF2ZkYsQ0FxVUosYUFBYSxDQXdKWCxPQUFPLENBRUwsRUFBRSxDQXdCQSxFQUFFLENBQUM7UUFDRCxPQUFPLEVBQUUsWUFBWTtRQUNyQixRQUFRLEVBQUUsUUFBUTtRQUNsQixXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsTUFBTTtRdENuZmxCLGtCQUFvQixFc0NvZkUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1F0Qy9ldEMsZUFBaUIsRXNDK2VLLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtRdENoZXRDLFVBQVksRXNDZ2VVLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQVNyQztRQXJnQlQsQUFpZ0JZLE1BamdCTixDQXFVSixhQUFhLENBd0pYLE9BQU8sQ0FFTCxFQUFFLENBd0JBLEVBQUUsQUFPQyxNQUFNLENBR0wsQ0FBQyxBQUFBLE1BQU0sRUFqZ0JuQixNQUFNLENBcVVKLGFBQWEsQ0F3SlgsT0FBTyxDQUVMLEVBQUUsQ0F3QkEsRUFBRSxBQVFDLGFBQWEsQ0FFWixDQUFDLEFBQUEsTUFBTSxDQUFDO1VBQ04sSUFBSSxFQUFFLENBQUMsR0FDUjtNQW5nQmIsQUF1Z0JRLE1BdmdCRixDQXFVSixhQUFhLENBd0pYLE9BQU8sQ0FFTCxFQUFFLENBd0NBLENBQUMsQ0FBQztRQUNBLFNBQVMsRTlFNWZULFFBQXVCO1E4RTZmdkIsS0FBSyxFTm5nQkksT0FBTyxHTWdoQmpCO1FBdGhCVCxBQTJnQlUsTUEzZ0JKLENBcVVKLGFBQWEsQ0F3SlgsT0FBTyxDQUVMLEVBQUUsQ0F3Q0EsQ0FBQyxBQUlFLE1BQU0sQ0FBQztVQUNOLE9BQU8sRUFBRSxFQUFFO1VwQ2xnQm5CLE1BQU0sRW9DbWdCcUIsR0FBRztVcEMzZjlCLEtBQUssRW9DMmZpQixJQUFJO1VBQ2xCLFVBQVUsRU5qZk4sT0FBTztVakNackIsUUFBUSxFdUM4Zm9CLFFBQVE7VXZDMWZoQyxHQUFVLEV1QzBmd0IsQ0FBQztVdkMxZm5DLElBQVUsRXVDMGZxQyxLQUFJO1V0Q3ZnQmpELGtCQUFvQixFc0N3Z0JJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtVdENuZ0J4QyxlQUFpQixFc0NtZ0JPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtVdENwZnhDLFVBQVksRXNDb2ZZLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztRZDViUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1VjckZ4QyxBQXVnQlEsTUF2Z0JGLENBcVVKLGFBQWEsQ0F3SlgsT0FBTyxDQUVMLEVBQUUsQ0F3Q0EsQ0FBQyxDQUFDO1lBYUUsU0FBUyxFOUV4Z0JYLFNBQXVCLEc4RTBnQnhCO0VBdGhCVCxBQTJoQkUsTUEzaEJJLENBMmhCSixjQUFjLENBQUM7SUFDYixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SXZDN2dCcEIsUUFBUSxFdUM4Z0JZLFFBQVE7SXZDMWdCeEIsS0FBVSxFdUMwZ0JxQixDQUFDO0l2QzFnQmhDLE1BQVUsRXVDMGdCd0IsS0FBSTtJdkMxZ0J0QyxJQUFVLEV1QzBnQjZCLENBQUM7SUFDMUMsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsQ0FBQyxHQXlHWDtJQXZHQyxBQUFBLE9BQU8sQ0FuaUJYLE1BQU0sQ0EyaEJKLGNBQWMsQ0FRRjtNQUNSLE9BQU8sRUFBRSxDQUFDO01BQ1YsY0FBYyxFQUFFLElBQUksR0FDckI7SUF0aUJMLEFBd2pCSSxNQXhqQkUsQ0EyaEJKLGNBQWMsQUE2QlgsYUFBYSxDQUFDO01BQ2IsVUFBVSxFTnBpQkksT0FBTyxHTXFpQnRCO0lBMWpCTCxBQTRqQkksTUE1akJFLENBMmhCSixjQUFjLENBaUNaLG9CQUFvQixDQUFDO01KcGlCdkIsU0FBUyxFQUFFLE1BQU07TUFDakIsT0FBTyxFQUFFLE1BQU07TUFDZixNQUFNLEVBQUUsTUFBTTtNQUNkLEtBQUssRUFBRSxJQUFJLEdJbWlCUjtNQTlqQkwsQTdDT0UsTTZDUEksQ0EyaEJKLGNBQWMsQ0FpQ1osb0JBQW9CLEE3Q3JqQnJCLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0k2Q1hILEFBa2tCTSxNQWxrQkEsQ0EyaEJKLGNBQWMsQUFxQ1gsbUJBQW1CLEFBRWpCLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEVBQUU7TXBDMWpCZixNQUFNLEVvQzJqQm1CLElBQUk7TXBDbmpCN0IsS0FBSyxFb0NtakJhLE1BQU07TXZDcGpCMUIsUUFBUSxFdUNxakJnQixRQUFRO012Q2pqQjVCLEdBQVUsRXVDaWpCb0IsQ0FBQztNdkNqakIvQixJQUFVLEV1Q2lqQmlDLElBQUc7TUFDNUMsVUFBVSxFQUFFLHlCQUF5QixHQUN0QztJQXhrQlAsQUEwa0JNLE1BMWtCQSxDQTJoQkosY0FBYyxBQXFDWCxtQkFBbUIsQ0FVbEIsbUJBQW1CLENBQUM7TUFDbEIsVUFBVSxFQUFFLElBQUksR0FDakI7SUE1a0JQLEFBK2tCSSxNQS9rQkUsQ0EyaEJKLGNBQWMsQ0FvRFosbUJBQW1CLENBQUM7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsS0FBSztNQUNaLFFBQVEsRUFBRSxRQUFRO01BQ2xCLFVBQVUsRUFBRSx5QkFBeUI7TWhCN2pCekMsT0FBTyxFZ0I4akJVLEdBQUcsQ0FBQyxJQUFJO01BQ3JCLE9BQU8sRUFBRSxJQUFJO01BQ2IsR0FBRyxFQUFFLE1BQU07TUFDWCxXQUFXLEVBQUUsTUFBTTtNQUNuQixhQUFhLEVBQUUsV0FBVyxHQWlEM0I7TUF6b0JMLEFBMGxCTSxNQTFsQkEsQ0EyaEJKLGNBQWMsQ0FvRFosbUJBQW1CLENBV2pCLEVBQUUsQ0FBQztRQUNELE9BQU8sRUFBRSxXQUFXO1FBQ3BCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFVBQVUsRUFBRSxNQUFNLEdBVW5CO1FBdm1CUCxBQWdtQlEsTUFobUJGLENBMmhCSixjQUFjLENBb0RaLG1CQUFtQixDQVdqQixFQUFFLEFBTUMsYUFBYSxDQUFDO1VBQ2IsWUFBWSxFQUFFLENBQUMsR0FDaEI7UUFsbUJULEFBb21CUSxNQXBtQkYsQ0EyaEJKLGNBQWMsQ0FvRFosbUJBQW1CLENBV2pCLEVBQUUsQUFVQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1VBQ1IsS0FBSyxFTnZrQkcsT0FBTyxHTXdrQmhCO01BdG1CVCxBQXltQk0sTUF6bUJBLENBMmhCSixjQUFjLENBb0RaLG1CQUFtQixDQTBCakIsQ0FBQyxDQUFDO1FBQ0EsS0FBSyxFTi9sQkQsSUFBSTtRTWdtQlIsV0FBVyxFQUFFLENBQUM7UUFDZCxNQUFNLEVBQUUsT0FBTztRdENwbUJmLGtCQUFvQixFc0NxbUJBLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtRdENobUJwQyxlQUFpQixFc0NnbUJHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtRdENqbEJwQyxVQUFZLEVzQ2lsQlEsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBMkJyQztRQXhvQlAsQUFzbkJRLE1BdG5CRixDQTJoQkosY0FBYyxDQW9EWixtQkFBbUIsQ0EwQmpCLENBQUMsQUFhRSxVQUFVLENBQUM7VUFDVixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO1FBem5CVCxBQTJuQlEsTUEzbkJGLENBMmhCSixjQUFjLENBb0RaLG1CQUFtQixDQTBCakIsQ0FBQyxBQWtCRSxZQUFZLENBQUM7VUFDWixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO1FBOW5CVCxBQWdvQlEsTUFob0JGLENBMmhCSixjQUFjLENBb0RaLG1CQUFtQixDQTBCakIsQ0FBQyxBQXVCRSxVQUFVLENBQUM7VUFDVixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO1FBbm9CVCxBQXFvQlEsTUFyb0JGLENBMmhCSixjQUFjLENBb0RaLG1CQUFtQixDQTBCakIsQ0FBQyxBQTRCRSxlQUFlLENBQUM7VUFDZixLQUFLLEVOeG1CRyxPQUFPLEdNeW1CaEI7O0FBT1QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxDQUFDLEdBeUpYO0VBNUpELEFBS0UsZ0JBTGMsQUFLYixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxFQUFFO0lwQzVvQlgsTUFBTSxFb0M2b0JRLElBQUk7SXBDcm9CbEIsS0FBSyxFb0Nxb0JTLElBQUk7SUFDbEIsVUFBVSxFQUFFLHdCQUF3QjtJdkN2b0J0QyxRQUFRLEV1Q3dvQlksUUFBUTtJdkNwb0J4QixHQUFVLEV1Q29vQmdCLENBQUM7SXZDcG9CM0IsSUFBVSxFdUNvb0I0QixDQUFDO0l0Q2pwQnJDLGlCQUFvQixFc0NrcEJMLGdCQUFnQixDQUFDLGdCQUFnQjtJdEM3b0JoRCxjQUFpQixFc0M2b0JGLGdCQUFnQixDQUFDLGdCQUFnQjtJdEN4b0JoRCxhQUFnQixFc0N3b0JELGdCQUFnQixDQUFDLGdCQUFnQjtJdENub0JoRCxZQUFlLEVzQ21vQkEsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0QzluQmhELFNBQVksRXNDOG5CRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FDckQ7RUFiSCxBQWVFLGdCQWZjLENBZWQsV0FBVyxDQUFDO0l2QzVvQlosUUFBUSxFdUM2b0JZLFFBQVE7SXZDem9CeEIsR0FBVSxFdUN5b0JnQixDQUFDO0l2Q3pvQjNCLEtBQVUsRXVDeW9Ca0IsQ0FBQztJdkN6b0I3QixNQUFVLEV1Q3lvQm9CLENBQUM7SXZDem9CL0IsSUFBVSxFdUN5b0JzQixDQUFDO0lwQ3BwQm5DLE1BQU0sRW9DcXBCUSxJQUFJO0lwQzdvQmxCLEtBQUssRW9DNm9CUyxJQUFJO0lBRWxCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLE1BQU0sR0FpQ2pCO0lBckRILEE3Q3ZvQkUsZ0I2Q3VvQmMsQ0FlZCxXQUFXLEE3Q3RwQlYsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7STZDbW9CSCxBQXNCSSxnQkF0QlksQ0FlZCxXQUFXLENBT1QsUUFBUTtJQXRCWixnQkFBZ0IsQ0FlZCxXQUFXLENBUVQsVUFBVSxDQUFDO01BQ1QsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxNQUFNO01BQ2hCLGVBQWUsRUFBRSxLQUFLO01BQ3RCLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsaUJBQWlCLEVBQUUsU0FBUyxHQUM3QjtJQTlCTCxBQWdDSSxnQkFoQ1ksQ0FlZCxXQUFXLENBaUJULFVBQVUsQ0FBQztNcENwcUJYLE1BQU0sRW9DcXFCYyxJQUFJO01wQzdwQnhCLEtBQUssRW9DNnBCVyxHQUFHLEdBQ2xCO0lBbENMLEFBb0NJLGdCQXBDWSxDQWVkLFdBQVcsQ0FxQlQsUUFBUSxDQUFDO01BQ1AsTUFBTSxFQUFFLEtBQUs7TXRDM3FCWCxpQkFBb0IsRXNDNHFCSCxVQUFVO010Q3ZxQjNCLGNBQWlCLEVzQ3VxQkEsVUFBVTtNdENscUIzQixhQUFnQixFc0NrcUJDLFVBQVU7TXRDN3BCM0IsWUFBZSxFc0M2cEJFLFVBQVU7TXRDeHBCM0IsU0FBWSxFc0N3cEJLLFVBQVU7TXRDNXFCM0IsY0FBb0IsRXNDNnFCTixVQUFVO010Q3pwQnhCLE1BQVksRXNDeXBCRSxVQUFVO01wQzNxQjVCLE1BQU0sRW9DNHFCNEIsa0JBQWtCO01wQ3BxQnBELEtBQUssRW9Db3FCVyxpQkFBaUIsR0FDaEM7SWRsbUJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWN5akJ2QyxBQW9DSSxnQkFwQ1ksQ0FlZCxXQUFXLENBcUJULFFBQVEsQ0FTRztRQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUEvQ1AsQUFnQ0ksZ0JBaENZLENBZWQsV0FBVyxDQWlCVCxVQUFVLENBaUJHO1FBQ1QsS0FBSyxFQUFFLElBQUksR0FDWjtFQW5EUCxBQXVERSxnQkF2RGMsQ0F1RGQsUUFBUSxDQUFDO0loQi9xQlQsT0FBTyxFZ0JnckJRLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztJcEJ2cUIzQixTQUFTLEVMZEMsS0FBSztJS2dCYixXQUFJLEVBQUUsSUFBSTtJQUNWLFlBQUssRUFBRSxJQUFJLEdvQnVyQlo7SUEzRUgsQTdDdm9CRSxnQjZDdW9CYyxDQXVEZCxRQUFRLEE3QzlyQlAsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWN5akJ4QyxBQXVERSxnQkF2RGMsQ0F1RGQsUUFBUSxDQUFDO1FwQnRxQlQsU0FBUyxFb0IycUJvQixLQUFLO1FwQnpxQmhDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CdXJCWjtRQTNFSCxBN0N2b0JFLGdCNkN1b0JjLENBdURkLFFBQVEsQTdDOXJCUCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY3lqQnhDLEFBdURFLGdCQXZEYyxDQXVEZCxRQUFRLENBQUM7UXBCdHFCVCxTQUFTLEVvQitxQm9CLEtBQUs7UXBCN3FCaEMsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHb0J1ckJaO1FBM0VILEE3Q3ZvQkUsZ0I2Q3VvQmMsQ0F1RGQsUUFBUSxBN0M5ckJQLE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jeWpCdkMsQUF1REUsZ0JBdkRjLENBdURkLFFBQVEsQ0FBQztRcEJ0cUJULFNBQVMsRW9CbXJCb0IsS0FBSztRcEJqckJoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQnVyQlo7UUEzRUgsQTdDdm9CRSxnQjZDdW9CYyxDQXVEZCxRQUFRLEE3QzlyQlAsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWN5akJ2QyxBQXVERSxnQkF2RGMsQ0F1RGQsUUFBUSxDQUFDO1FoQi9xQlQsT0FBTyxFZ0Jnc0JVLElBQUksQ0FBQyxJQUFJO1FwQnZyQjFCLFNBQVMsRW9Cd3JCb0IsSUFBSTtRcEJ0ckIvQixXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQnVyQlo7UUEzRUgsQTdDdm9CRSxnQjZDdW9CYyxDQXVEZCxRQUFRLEE3QzlyQlAsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZDbW9CSCxBQTZFRSxnQkE3RWMsQ0E2RWQsUUFBUSxDQUFDO0luQjNwQlAsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUJvdEI1QztJQS9FSCxBbkJ6akJNLGdCbUJ5akJVLENBNkVkLFFBQVEsQW5CdG9CSCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RW1CdWpCUCxBQWlGRSxnQkFqRmMsQ0FpRmQsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFL0V0dEJILFFBQXNCO0krRXV0QjVCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLGNBQWMsRUFBRSxVQUFVLEdBQzNCO0VBdkZILEFBeUZFLGdCQXpGYyxDQXlGZCxTQUFTLENBQUM7SUFDUixLQUFLLEVON3RCRyxJQUFJO0lNOHRCWixTQUFTLEUvRS90QkgsUUFBc0I7SStFZ3VCNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLE9BQU87SUFDdkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLFVBQVUsR0FDM0I7RUFoR0gsQUFrR0UsZ0JBbEdjLENBa0dkLEtBQUssQ0FBQztJcEN0dUJKLE1BQU0sRW9DdXVCUSxLQUFLO0lwQy90Qm5CLEtBQUssRW9DK3RCUyxLQUFLO0l2Q2h1QnJCLFFBQVEsRXVDaXVCWSxRQUFRO0l2Qzd0QnhCLEdBQVUsRXVDNnRCZ0IsQ0FBQztJdkM3dEIzQixNQUFVLEV1QzZ0QnVCLENBQUM7SXZDN3RCbEMsSUFBVSxFdUM2dEJ5QixHQUFHO0lBQ3hDLFVBQVUsRU4xdEJOLElBQUk7SU0ydEJSLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxJQUFJLEdBT2I7SUE5R0gsQUF5R0ksZ0JBekdZLENBa0dkLEtBQUssQ0FPSCxHQUFHLENBQUM7TXZDdHVCTixRQUFRLEV1Q3V1QmMsUUFBUTtNdkNudUIxQixHQUFVLEV1Q211QmtCLENBQUM7TXZDbnVCN0IsS0FBVSxFdUNtdUJvQixDQUFDO012Q251Qi9CLE1BQVUsRXVDbXVCc0IsQ0FBQztNdkNudUJqQyxJQUFVLEV1Q211QndCLENBQUM7TUFDbkMsTUFBTSxFQUFFLElBQUk7TUFDWixTQUFTLEVBQUUsR0FBRyxHQUNmO0VkdHFCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljeWpCdkMsQUFLRSxnQkFMYyxBQUtiLE9BQU8sQ0E2R0c7TXBDdHZCVCxNQUFNLEVvQ3V2QlUsSUFBSTtNcEMvdUJwQixLQUFLLEVvQyt1QlcsSUFBSTtNQUNsQixTQUFTLEVBQUUsS0FBSztNQUNoQixVQUFVLEVBQUUsS0FBSyxHQUNsQjtFZC9xQkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY3lqQnZDLEFBS0UsZ0JBTGMsQUFLYixPQUFPLENBc0hHO01wQy92QlQsTUFBTSxFb0Nnd0JVLEtBQUs7TXBDeHZCckIsS0FBSyxFb0N3dkJXLEtBQUs7TXRDbHdCakIsaUJBQW9CLEVzQ213QkgsZ0JBQWdCLENBQUMsY0FBYztNdEM5dkJoRCxjQUFpQixFc0M4dkJBLGdCQUFnQixDQUFDLGNBQWM7TXRDenZCaEQsYUFBZ0IsRXNDeXZCQyxnQkFBZ0IsQ0FBQyxjQUFjO010Q3B2QmhELFlBQWUsRXNDb3ZCRSxnQkFBZ0IsQ0FBQyxjQUFjO010Qy91QmhELFNBQVksRXNDK3VCSyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQ25EO0lBOUhMLEFBNkVFLGdCQTdFYyxDQTZFZCxRQUFRLENBbURHO01BQ1AsS0FBSyxFQUFFLElBQUksR0FDWjtJQWxJTCxBQW9JSSxnQkFwSVksQ0FvSVosWUFBWSxDQUFDO01BQ1gsT0FBTyxFQUFFLElBQUksR0FDZDtJQXRJTCxBQWlGRSxnQkFqRmMsQ0FpRmQsRUFBRSxDQXVERztNQUNELFNBQVMsRS9FN3dCTCxPQUFzQjtNK0U4d0IxQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsT0FBTztNQUN2QixNQUFNLEVBQUUsWUFBWSxHQUNyQjtJQTdJTCxBQXlGRSxnQkF6RmMsQ0F5RmQsU0FBUyxDQXNERztNQUNSLFNBQVMsRS9FcHhCTCxRQUFzQixHK0VxeEIzQjtJQWpKTCxBQWtHRSxnQkFsR2MsQ0FrR2QsS0FBSyxDQWlERztNcEN2eEJOLE1BQU0sRW9Dd3hCVSxJQUFJO01wQ2h4QnBCLEtBQUssRW9DZ3hCVyxJQUFJO012Q2p4QnRCLFFBQVEsRXVDa3hCYyxRQUFRO012Qzl3QjFCLEdBQVUsRXVDOHdCa0IsSUFBSTtNdkM5d0JoQyxLQUFVLEV1Qzh3QnVCLElBQUk7TXZDOXdCckMsTUFBVSxFdUM4d0I0QixPQUFPO012Qzl3QjdDLElBQVUsRXVDOHdCb0MsT0FBTyxHQUt0RDtNQTFKTCxBQXlHSSxnQkF6R1ksQ0FrR2QsS0FBSyxDQU9ILEdBQUcsQ0E4Q0c7UUFDRixTQUFTLEVBQUUsR0FBRyxHQUNmOztBQXdHUCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLElBQUksR0E4ZHBCO0VBaGVELEFBUU0sZ0JBUlUsQUFJYixVQUFVLENBRVQsS0FBSyxDQUVILFFBQVE7RUFSZCxnQkFBZ0IsQUFJYixVQUFVLENBRVQsS0FBSyxDQUdILFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxDQUFDO0l0Q2o1QlYsaUJBQW9CLEVzQ2s1QkQsYUFBYTtJdEM3NEJoQyxjQUFpQixFc0M2NEJFLGFBQWE7SXRDeDRCaEMsYUFBZ0IsRXNDdzRCRyxhQUFhO0l0Q240QmhDLFlBQWUsRXNDbTRCSSxhQUFhO0l0QzkzQmhDLFNBQVksRXNDODNCTyxhQUFhLEdBQ2pDO0VBWlAsQUFpQk0sZ0JBakJVLEFBSWIsVUFBVSxDQVdULE1BQU0sQUFFSCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJdEN6NUJWLGlCQUFvQixFc0MwNUJELFNBQVM7SXRDcjVCNUIsY0FBaUIsRXNDcTVCRSxTQUFTO0l0Q2g1QjVCLGFBQWdCLEVzQ2c1QkcsU0FBUztJdEMzNEI1QixZQUFlLEVzQzI0QkksU0FBUztJdEN0NEI1QixTQUFZLEVzQ3M0Qk8sU0FBUyxHQVM3QjtJZHQxQkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYzB6QnhDLEFBaUJNLGdCQWpCVSxBQUliLFVBQVUsQ0FXVCxNQUFNLEFBRUgsTUFBTSxDQUFDO1F0Q3g1Qk4saUJBQW9CLEVzQzY1QkMsU0FBUztRdEN4NUI5QixjQUFpQixFc0N3NUJJLFNBQVM7UXRDbjVCOUIsYUFBZ0IsRXNDbTVCSyxTQUFTO1F0Qzk0QjlCLFlBQWUsRXNDODRCTSxTQUFTO1F0Q3o0QjlCLFNBQVksRXNDeTRCUyxTQUFTLEdBTS9CO0lkdDFCSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jMHpCdkMsQUFpQk0sZ0JBakJVLEFBSWIsVUFBVSxDQVdULE1BQU0sQUFFSCxNQUFNLENBQUM7UXRDeDVCTixpQkFBb0IsRXNDaTZCQyxRQUFRO1F0QzU1QjdCLGNBQWlCLEVzQzQ1QkksUUFBUTtRdEN2NUI3QixhQUFnQixFc0N1NUJLLFFBQVE7UXRDbDVCN0IsWUFBZSxFc0NrNUJNLFFBQVE7UXRDNzRCN0IsU0FBWSxFc0M2NEJTLFFBQVEsR0FFOUI7RUE1QlAsQUE4Qk0sZ0JBOUJVLEFBSWIsVUFBVSxDQVdULE1BQU0sQ0FlSixVQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQztJdEN0NkJWLGlCQUFvQixFc0N1NkJELGFBQWE7SXRDbDZCaEMsY0FBaUIsRXNDazZCRSxhQUFhO0l0Qzc1QmhDLGFBQWdCLEVzQzY1QkcsYUFBYTtJdEN4NUJoQyxZQUFlLEVzQ3c1QkksYUFBYTtJdENuNUJoQyxTQUFZLEVzQ201Qk8sYUFBYSxHQUNqQztFQWpDUCxBQW9DSSxnQkFwQ1ksQUFJYixVQUFVLENBZ0NULFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0l0QzU2QlIsaUJBQW9CLEVzQzY2QkgsYUFBYTtJdEN4NkI5QixjQUFpQixFc0N3NkJBLGFBQWE7SXRDbjZCOUIsYUFBZ0IsRXNDbTZCQyxhQUFhO0l0Qzk1QjlCLFlBQWUsRXNDODVCRSxhQUFhO0l0Q3o1QjlCLFNBQVksRXNDeTVCSyxhQUFhLEdBbUJqQztJQXpETCxBQXdDTSxnQkF4Q1UsQUFJYixVQUFVLENBZ0NULFVBQVUsQ0FJUixNQUFNLENBQUM7TUFDTCxjQUFjLEVBQUUsc0JBQXNCO01BQ3RDLGtCQUFrQixFQUFFLEVBQUU7TUFDdEIsZUFBZSxFQUFFLElBQUk7TUFDckIsbUJBQW1CLEVBQUUsUUFBUTtNQUM3Qix5QkFBeUIsRUFBRSxRQUFRO01BQ25DLHlCQUF5QixFQUFFLFFBQVEsR0FDcEM7SUEvQ1AsQUFpRE0sZ0JBakRVLEFBSWIsVUFBVSxDQWdDVCxVQUFVLENBYVIsV0FBVyxDQUFDO01BQ1YsY0FBYyxFQUFFLHlCQUF5QjtNQUN6QyxrQkFBa0IsRUFBRSxFQUFFO01BQ3RCLGVBQWUsRUFBRSxJQUFJO01BQ3JCLG1CQUFtQixFQUFFLFFBQVE7TUFDN0IseUJBQXlCLEVBQUUsUUFBUTtNQUNuQyx5QkFBeUIsRUFBRSxRQUFRLEdBQ3BDO0VBeERQLEFBNERFLGdCQTVEYyxDQTREZCxXQUFXLENBQUM7SUFDVixRQUFRLEVBQUUsTUFBTTtJdkMzN0JsQixRQUFRLEV1QzQ3QlksUUFBUTtJdkN4N0J4QixHQUFVLEV1Q3c3QmdCLENBQUM7SXZDeDdCM0IsS0FBVSxFdUN3N0JrQixDQUFDO0l2Q3g3QjdCLE1BQVUsRXVDdzdCb0IsQ0FBQztJdkN4N0IvQixJQUFVLEV1Q3c3QnNCLENBQUM7SXBDbjhCbkMsTUFBTSxFb0NvOEJRLElBQUk7SXBDNTdCbEIsS0FBSyxFb0M0N0JTLElBQUksR0FpQm5CO0lBaEZILEFBaUVJLGdCQWpFWSxDQTREZCxXQUFXLENBS1QsV0FBVyxDQUFDO012Qy83QmQsUUFBUSxFdUNnOEJjLFFBQVE7TXZDNTdCMUIsR0FBVSxFdUM0N0JrQixDQUFDO012QzU3QjdCLEtBQVUsRXVDNDdCb0IsQ0FBQztNdkM1N0IvQixNQUFVLEV1QzQ3QnNCLENBQUM7TXZDNTdCakMsSUFBVSxFdUM0N0J3QixDQUFDO01wQ3Y4QnJDLE1BQU0sRW9DdzhCVSxJQUFJO01wQ2g4QnBCLEtBQUssRW9DZzhCVyxJQUFJO01BQ2xCLE1BQU0sRUFBRSxTQUFTO01BQ2pCLE9BQU8sRUFBRSxFQUFFO01BQ1gsZUFBZSxFQUFFLEtBQUs7TUFDdEIsbUJBQW1CLEVBQUUsTUFBTSxHQVE1QjtNQS9FTCxBQXlFTSxnQkF6RVUsQ0E0RGQsV0FBVyxDQUtULFdBQVcsQUFRUixPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsRUFBRTtRdkN4OEJqQixRQUFRLEV1Q3k4QmdCLFFBQVE7UXZDcjhCNUIsR0FBVSxFdUNxOEJvQixDQUFDO1F2Q3I4Qi9CLEtBQVUsRXVDcThCc0IsQ0FBQztRdkNyOEJqQyxNQUFVLEV1Q3E4QndCLENBQUM7UXZDcjhCbkMsSUFBVSxFdUNxOEIwQixDQUFDO1FwQ2g5QnZDLE1BQU0sRW9DaTlCWSxJQUFJO1FwQ3o4QnRCLEtBQUssRW9DeThCYSxJQUFJO1FBQ2xCLFVBQVUsRUFBRSx3QkFBd0IsR0FDckM7RUE5RVAsQUFrRkUsZ0JBbEZjLENBa0ZkLFFBQVEsQ0FBQztJQUNQLFFBQVEsRUFBRSxNQUFNO0loQjU4QmxCLE9BQU8sRWdCNjhCUSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FhM0I7SWQzNUJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWMwekJ4QyxBQWtGRSxnQkFsRmMsQ0FrRmQsUUFBUSxDQUFDO1FoQjM4QlQsT0FBTyxFZ0JnOUJVLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQVU1QjtJZDM1QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB6QnZDLEFBa0ZFLGdCQWxGYyxDQWtGZCxRQUFRLENBQUM7UWhCMzhCVCxPQUFPLEVnQm85QlUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBTTNCO0lkMzVCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jMHpCdkMsQUFrRkUsZ0JBbEZjLENBa0ZkLFFBQVEsQ0FBQztRaEIzOEJULE9BQU8sRWdCdzlCVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FFdkI7RUFqR0gsQUFtR0UsZ0JBbkdjLENBbUdkLFFBQVEsQ0FBQztJcEJuOUJULFNBQVMsRW9CbzlCa0IsTUFBTTtJcEJsOUIvQixXQUFJLEVBQUUsSUFBSTtJQUNWLFlBQUssRUFBRSxJQUFJLEdvQmsrQlo7SUFySEgsQTdDeDRCRSxnQjZDdzRCYyxDQW1HZCxRQUFRLEE3QzMrQlAsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWMwekJ4QyxBQW1HRSxnQkFuR2MsQ0FtR2QsUUFBUSxDQUFDO1FwQm45QlQsU0FBUyxFb0J1OUJvQixLQUFLO1FwQnI5QmhDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CaytCWjtRQXJISCxBN0N4NEJFLGdCNkN3NEJjLENBbUdkLFFBQVEsQTdDMytCUCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYzB6QnhDLEFBbUdFLGdCQW5HYyxDQW1HZCxRQUFRLENBQUM7UXBCbjlCVCxTQUFTLEVvQjI5Qm9CLEtBQUs7UXBCejlCaEMsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHb0JrK0JaO1FBckhILEE3Q3g0QkUsZ0I2Q3c0QmMsQ0FtR2QsUUFBUSxBN0MzK0JQLE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jMHpCdkMsQUFtR0UsZ0JBbkdjLENBbUdkLFFBQVEsQ0FBQztRcEJuOUJULFNBQVMsRW9CKzlCb0IsS0FBSztRcEI3OUJoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQmsrQlo7UUFySEgsQTdDeDRCRSxnQjZDdzRCYyxDQW1HZCxRQUFRLEE3QzMrQlAsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWMwekJ2QyxBQW1HRSxnQkFuR2MsQ0FtR2QsUUFBUSxDQUFDO1FwQm45QlQsU0FBUyxFb0JtK0JvQixJQUFJO1FwQmorQi9CLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CaytCWjtRQXJISCxBN0N4NEJFLGdCNkN3NEJjLENBbUdkLFFBQVEsQTdDMytCUCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFNkNvNEJILEFBdUhFLGdCQXZIYyxDQXVIZCxLQUFLLENBQUM7SW5CdDhCSixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0l1QisvQjNDLFdBQVcsRUFBRSxJQUFJLEdBdUZsQjtJQWhOSCxBbkIxekJNLGdCbUIwekJVLENBdUhkLEtBQUssQW5CajdCQSxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SW1Cd3pCUCxBQTJISSxnQkEzSFksQ0F1SGQsS0FBSyxDQUlILFFBQVEsQ0FBQztNQUNQLFNBQVMsRS9FamdDTCxPQUFzQjtNK0VrZ0MxQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsT0FBTztNQUN2QixhQUFhLEVBQUUsSUFBSTtNQUNuQixPQUFPLEVBQUUsQ0FBQztNdEN2Z0NSLGlCQUFvQixFc0N3Z0NILGVBQWU7TXRDbmdDaEMsY0FBaUIsRXNDbWdDQSxlQUFlO010QzkvQmhDLGFBQWdCLEVzQzgvQkMsZUFBZTtNdEN6L0JoQyxZQUFlLEVzQ3kvQkUsZUFBZTtNdENwL0JoQyxTQUFZLEVzQ28vQkssZUFBZTtNdEN4Z0NoQyxrQkFBb0IsRXNDeWdDRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLO010Q3BnQzFDLGVBQWlCLEVzQ29nQ0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSztNdENyL0IxQyxVQUFZLEVzQ3EvQk0sR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUM3QztJQW5JTCxBQXFJSSxnQkFySVksQ0F1SGQsS0FBSyxDQWNILFlBQVksQ0FBQztNQUNYLFNBQVMsRS9FM2dDTCxPQUFzQjtNK0U0Z0MxQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsT0FBTztNQUN2QixLQUFLLEVOL2dDZSxPQUFPO01NZ2hDM0IsV0FBVyxFQUFFLE1BQU07TUFDbkIsT0FBTyxFQUFFLENBQUM7TXRDbGhDUixpQkFBb0IsRXNDbWhDSCxlQUFlO010QzlnQ2hDLGNBQWlCLEVzQzhnQ0EsZUFBZTtNdEN6Z0NoQyxhQUFnQixFc0N5Z0NDLGVBQWU7TXRDcGdDaEMsWUFBZSxFc0NvZ0NFLGVBQWU7TXRDLy9CaEMsU0FBWSxFc0MrL0JLLGVBQWU7TXRDbmhDaEMsa0JBQW9CLEVzQ29oQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSztNdEMvZ0MxQyxlQUFpQixFc0MrZ0NDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUs7TXRDaGdDMUMsVUFBWSxFc0NnZ0NNLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssR0FDN0M7SWR4OEJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWMwekJ4QyxBQTJISSxnQkEzSFksQ0F1SGQsS0FBSyxDQUlILFFBQVEsQ0F1Qkc7UUFDUCxTQUFTLEUvRXhoQ1AsUUFBc0I7UStFeWhDeEIsYUFBYSxFQUFFLElBQUksR0FDcEI7TUFySlAsQUFxSUksZ0JBcklZLENBdUhkLEtBQUssQ0FjSCxZQUFZLENBa0JHO1FBQ1gsU0FBUyxFL0U3aENQLE1BQXNCLEcrRThoQ3pCO0lkbjlCSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jMHpCeEMsQUF1SEUsZ0JBdkhjLENBdUhkLEtBQUssQ0FBQztRbkJ0OEJKLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VCc2xDNUM7UUFoTkgsQW5CMXpCTSxnQm1CMHpCVSxDQXVIZCxLQUFLLEFuQmo3QkEsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1FtQnd6QlAsQUEySEksZ0JBM0hZLENBdUhkLEtBQUssQ0FJSCxRQUFRLENBb0NHO1VBQ1AsU0FBUyxFL0VyaUNQLFFBQXNCO1UrRXNpQ3hCLFdBQVcsRUFBRSxJQUFJO1VBQ2pCLGNBQWMsRUFBRSxPQUFPO1VBQ3ZCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO1FBcEtQLEFBcUlJLGdCQXJJWSxDQXVIZCxLQUFLLENBY0gsWUFBWSxDQWlDRztVQUNYLFNBQVMsRS9FNWlDUCxRQUFzQjtVK0U2aUN4QixXQUFXLEVBQUUsSUFBSTtVQUNqQixjQUFjLEVBQUUsT0FBTyxHQUN4QjtJZHArQkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB6QnZDLEFBdUhFLGdCQXZIYyxDQXVIZCxLQUFLLENBQUM7UW5CdDhCSixLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd1QnNsQzVDO1FBaE5ILEFuQjF6Qk0sZ0JtQjB6QlUsQ0F1SGQsS0FBSyxBbkJqN0JBLFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRbUJ3ekJQLEFBMkhJLGdCQTNIWSxDQXVIZCxLQUFLLENBSUgsUUFBUSxDQXFERztVQUNQLFNBQVMsRS9FdGpDUCxRQUFzQjtVK0V1akN4QixXQUFXLEVBQUUsSUFBSTtVQUNqQixjQUFjLEVBQUUsT0FBTztVQUN2QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtRQXJMUCxBQXFJSSxnQkFySVksQ0F1SGQsS0FBSyxDQWNILFlBQVksQ0FrREc7VUFDWCxTQUFTLEUvRTdqQ1AsR0FBc0I7VStFOGpDeEIsV0FBVyxFQUFFLElBQUk7VUFDakIsY0FBYyxFQUFFLE9BQU8sR0FDeEI7SWRyL0JILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWMwekJ2QyxBQXVIRSxnQkF2SGMsQ0F1SGQsS0FBSyxDQUFDO1FBd0VGLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLENBQUM7UUFDVCxPQUFPLEVBQUUsVUFBVSxHQWV0QjtRQWhOSCxBQTJISSxnQkEzSFksQ0F1SGQsS0FBSyxDQUlILFFBQVEsQ0F3RUc7VUFDUCxTQUFTLEUvRXprQ1AsUUFBc0I7VStFMGtDeEIsV0FBVyxFQUFFLElBQUk7VUFDakIsY0FBYyxFQUFFLE9BQU87VUFDdkIsYUFBYSxFQUFFLElBQUksR0FDcEI7UUF4TVAsQUFxSUksZ0JBcklZLENBdUhkLEtBQUssQ0FjSCxZQUFZLENBcUVHO1VBQ1gsU0FBUyxFL0VobENQLE1BQXNCO1UrRWlsQ3hCLFdBQVcsRUFBRSxLQUFLO1VBQ2xCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBOU1QLEFBa05FLGdCQWxOYyxDQWtOZCxNQUFNLENBQUM7SUFDTCxRQUFRLEVBQUUsUUFBUTtJakJ0akNwQixXQUE2QixFQUFTLFNBQXNGO0lGb0IxSCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd1QitwQzVDO0lBelJILEFuQjF6Qk0sZ0JtQjB6QlUsQ0FrTmQsTUFBTSxBbkI1Z0NELFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJbUJ3ekJQLEFBdU5JLGdCQXZOWSxDQWtOZCxNQUFNLEFBS0gsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxhQUFhLEVBQUUsR0FBRztNQUNsQixVQUFVLEVBQUUseUJBQXlCO01BQ3JDLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLENBQUM7TUFDVixPQUFPLEVBQUUsRUFBRTtNcENsbUNiLE1BQU0sRW9DbW1DVSxJQUFJO01wQzNsQ3BCLEtBQUssRW9DMmxDVyxJQUFJO012QzVsQ3RCLFFBQVEsRXVDNmxDYyxRQUFRO012Q3psQzFCLEdBQVUsRXVDeWxDa0IsQ0FBQztNdkN6bEM3QixLQUFVLEV1Q3lsQ3FCLElBQUc7TXZDemxDbEMsTUFBVSxFdUN5bEN5QixDQUFDO010Q3RtQ2xDLGtCQUFvQixFc0N1bUNGLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUs7TXRDbG1DMUMsZUFBaUIsRXNDa21DQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLO010Q25sQzFDLFVBQVksRXNDbWxDTSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBWTdDO01kdGlDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FjMHpCeEMsQUF1TkksZ0JBdk5ZLENBa05kLE1BQU0sQUFLSCxNQUFNLENBQUM7VUFZSixLQUFLLEVBQUUsSUFBSSxHQVNkO01kdGlDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FjMHpCdkMsQUF1TkksZ0JBdk5ZLENBa05kLE1BQU0sQUFLSCxNQUFNLENBQUM7VUFnQkosT0FBTyxFQUFFLENBQUM7VXBDNW1DZCxNQUFNLEVvQzZtQ1ksS0FBSztVcENybUN2QixLQUFLLEVvQ3FtQ2EsS0FBSztVdEMvbUNuQixpQkFBb0IsRXNDZ25DRCxRQUFRO1V0QzNtQzNCLGNBQWlCLEVzQzJtQ0UsUUFBUTtVdEN0bUMzQixhQUFnQixFc0NzbUNHLFFBQVE7VXRDam1DM0IsWUFBZSxFc0NpbUNJLFFBQVE7VXRDNWxDM0IsU0FBWSxFc0M0bENPLFFBQVE7VXZDdm1DakMsUUFBUSxFdUN3bUNnQixRQUFRO1V2Q3BtQzVCLEdBQVUsRXVDb21Db0IsT0FBTztVdkNwbUNyQyxLQUFVLEV1Q29tQzRCLENBQUM7VXZDcG1DdkMsTUFBVSxFdUNvbUMrQixNQUFLO1V2Q3BtQzlDLElBQVUsRXVDb21DcUMsS0FBSyxHQUVyRDtJQTVPTCxBQThPSSxnQkE5T1ksQ0FrTmQsTUFBTSxDQTRCSixVQUFVLENBQUM7TUFDVCxPQUFPLEVBQUUsQ0FBQztNdEN0bkNSLGlCQUFvQixFc0N1bkNILGVBQWU7TXRDbG5DaEMsY0FBaUIsRXNDa25DQSxlQUFlO010QzdtQ2hDLGFBQWdCLEVzQzZtQ0MsZUFBZTtNdEN4bUNoQyxZQUFlLEVzQ3dtQ0UsZUFBZTtNdENubUNoQyxTQUFZLEVzQ21tQ0ssZUFBZTtNdEN2bkNoQyxrQkFBb0IsRXNDd25DRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNO010Q25uQzNDLGVBQWlCLEVzQ21uQ0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTtNdENwbUMzQyxVQUFZLEVzQ29tQ00sR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUM5QztJQWxQTCxBQW9QSSxnQkFwUFksQ0FrTmQsTUFBTSxDQWtDSixVQUFVLENBQUM7TUFDVCxTQUFTLEUvRTFuQ0wsUUFBc0I7TStFMm5DMUIsY0FBYyxFQUFFLFNBQVM7TUFDekIsY0FBYyxFQUFFLEtBQUs7TUFDckIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLElBQUk7TUFDbkIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7SWRyakNELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWMwekJ4QyxBQWtORSxnQkFsTmMsQ0FrTmQsTUFBTSxDQUFDO1FqQnJqQ1AsV0FBNkIsRUFBUyxRQUFzRjtRRm9CMUgsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKcEVoQixRQUFzQztRSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUIrcEM1QztRQXpSSCxBbkIxekJNLGdCbUIwekJVLENBa05kLE1BQU0sQW5CNWdDRCxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7UW1Cd3pCUCxBQW9QSSxnQkFwUFksQ0FrTmQsTUFBTSxDQWtDSixVQUFVLENBYUc7VUFDVCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtJZDdqQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB6QnZDLEFBa05FLGdCQWxOYyxDQWtOZCxNQUFNLENBQUM7UWpCcmpDUCxXQUE2QixFQUFTLFFBQXNGO1FGb0IxSCxLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd1QitwQzVDO1FBelJILEFuQjF6Qk0sZ0JtQjB6QlUsQ0FrTmQsTUFBTSxBbkI1Z0NELFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRbUJ3ekJQLEFBb1BJLGdCQXBQWSxDQWtOZCxNQUFNLENBa0NKLFVBQVUsQ0FzQkc7VUFDVCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtJZHRrQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB6QnZDLEFBa05FLGdCQWxOYyxDQWtOZCxNQUFNLENBQUM7UUE4REgsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsQ0FBQztRaEIxb0NiLE9BQU8sRWdCMm9DVSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7UUFDMUIsVUFBVSxFTjdvQ0ksT0FBTyxHTW1wQ3hCO1FBelJILEFBb1BJLGdCQXBQWSxDQWtOZCxNQUFNLENBa0NKLFVBQVUsQ0FpQ0c7VUFDVCxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBdlJQLEFBNlJJLGdCQTdSWSxDQTJSZCxXQUFXLENBRVQsc0JBQXNCLENBQUM7SUFDckIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFL0VwcUNMLE1BQXNCO0krRXFxQzFCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRU52cUNlLE9BQU87SU13cUMzQixjQUFjLEVBQUUsT0FBTztJQUN2QixjQUFjLEVBQUUsVUFBVTtJQUMxQixPQUFPLEVBQUUsSUFBSSxHQVFkO0lBNVNMLEFBc1NNLGdCQXRTVSxDQTJSZCxXQUFXLENBRVQsc0JBQXNCLEFBU25CLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO012Q3JxQ2pCLFFBQVEsRXVDc3FDZ0IsUUFBUTtNdkNscUM1QixNQUFVLEV1Q2txQytCLEtBQUk7TXZDbHFDN0MsSUFBVSxFdUNrcUNvQyxDQUFDO01wQzdxQ2pELE1BQU0sRW9DOHFDaUIsR0FBRztNcEN0cUMxQixLQUFLLEVvQ3NxQ2EsSUFBSTtNQUNsQixVQUFVLEVOM3BDQSxPQUFPLEdNNHBDbEI7RUEzU1AsQUE4U0ksZ0JBOVNZLENBMlJkLFdBQVcsQ0FtQlQsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBbFRMLEFBb1RJLGdCQXBUWSxDQTJSZCxXQUFXLENBeUJULFNBQVMsQ0FBQztJQUNSLE1BQU0sRUFBRSxPQUFPO0lBQ2YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLEdBQUcsR0ErQmxCO0lBdlZMLEFBMFRNLGdCQTFUVSxDQTJSZCxXQUFXLENBeUJULFNBQVMsQUFNTixPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsRUFBRTtNQUNYLGFBQWEsRUFBRSxJQUFJO01wQ2pzQ3ZCLE1BQU0sRW9Da3NDZ0IsSUFBSTtNcEMxckMxQixLQUFLLEVvQzByQ2EsR0FBRztNdkMzckN2QixRQUFRLEV1QzRyQ2dCLFFBQVE7TXZDeHJDNUIsR0FBVSxFdUN3ckNvQixDQUFDO012Q3hyQy9CLElBQVUsRXVDd3JDZ0MsQ0FBQztNQUN6QyxVQUFVLEVOaHJDQSxPQUFPLEdNaXJDbEI7SUFoVVAsQUFrVU0sZ0JBbFVVLENBMlJkLFdBQVcsQ0F5QlQsU0FBUyxDQWNQLEVBQUUsQ0FBQztNQUNELFNBQVMsRS9FeHNDUCxRQUFzQjtNK0V5c0N4QixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixhQUFhLEVBQUUsQ0FBQztNQUNoQixjQUFjLEVBQUUsT0FBTztNQUN2QixLQUFLLEVOOXNDYSxPQUFPLEdNK3NDMUI7SUF6VVAsQUEyVU0sZ0JBM1VVLENBMlJkLFdBQVcsQ0F5QlQsU0FBUyxDQXVCUCxFQUFFLENBQUM7TUFDRCxTQUFTLEUvRWp0Q1AsR0FBc0I7TStFa3RDeEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLElBQUk7TUFDakIsYUFBYSxFQUFFLENBQUM7TUFDaEIsY0FBYyxFQUFFLE9BQU87TUFDdkIsS0FBSyxFTnZ0Q2EsT0FBTyxHTXd0QzFCO0lBbFZQLEFBb1ZNLGdCQXBWVSxDQTJSZCxXQUFXLENBeUJULFNBQVMsQUFnQ04sYUFBYSxDQUFDO01BQ2IsYUFBYSxFQUFFLENBQUMsR0FDakI7RWRocENILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWMwekJ4QyxBQW9USSxnQkFwVFksQ0EyUmQsV0FBVyxDQXlCVCxTQUFTLENBdUNHO01BQ1IsYUFBYSxFQUFFLElBQUksR0FZcEI7TUF4V1AsQUFrVU0sZ0JBbFVVLENBMlJkLFdBQVcsQ0F5QlQsU0FBUyxDQWNQLEVBQUUsQ0E0Qkc7UUFDRCxTQUFTLEUvRXB1Q1QsR0FBc0I7UStFcXVDdEIsV0FBVyxFQUFFLElBQUk7UUFDakIsY0FBYyxFQUFFLE9BQU8sR0FDeEI7TUFsV1QsQUEyVU0sZ0JBM1VVLENBMlJkLFdBQVcsQ0F5QlQsU0FBUyxDQXVCUCxFQUFFLENBeUJHO1FBQ0QsU0FBUyxFL0UxdUNULFFBQXNCO1ErRTJ1Q3RCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VkanFDTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljMHpCdkMsQUFvVEksZ0JBcFRZLENBMlJkLFdBQVcsQ0F5QlQsU0FBUyxDQXlERztNQUNSLGFBQWEsRUFBRSxJQUFJLEdBV3BCO01BelhQLEFBa1VNLGdCQWxVVSxDQTJSZCxXQUFXLENBeUJULFNBQVMsQ0FjUCxFQUFFLENBOENHO1FBQ0QsU0FBUyxFL0V0dkNULFFBQXNCO1ErRXV2Q3RCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO01BblhULEFBMlVNLGdCQTNVVSxDQTJSZCxXQUFXLENBeUJULFNBQVMsQ0F1QlAsRUFBRSxDQTBDRztRQUNELFNBQVMsRS9FM3ZDVCxPQUFzQjtRK0U0dkN0QixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFZGxyQ0wsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJYzB6QnZDLEFBOFNJLGdCQTlTWSxDQTJSZCxXQUFXLENBbUJULEVBQUUsQ0FnRkc7TUFDRCxPQUFPLEVBQUUsSUFBSTtNQUNiLE9BQU8sRUFBRSxNQUFNLEdBQ2hCO0lBallQLEFBb1RJLGdCQXBUWSxDQTJSZCxXQUFXLENBeUJULFNBQVMsQ0ErRUc7TUFDUixhQUFhLEVBQUUsSUFBSSxHQWVwQjtNQW5aUCxBQTBUTSxnQkExVFUsQ0EyUmQsV0FBVyxDQXlCVCxTQUFTLEFBTU4sT0FBTyxDQTRFRztRQUNQLE1BQU0sRUFBRSxJQUFJO1FBQ1osR0FBRyxFQUFFLEdBQUcsR0FDVDtNQXpZVCxBQTJZUSxnQkEzWVEsQ0EyUmQsV0FBVyxDQXdHUCxTQUFTLENBUVAsRUFBRTtNQTNZVixnQkFBZ0IsQ0EyUmQsV0FBVyxDQXdHUCxTQUFTLENBU1AsRUFBRSxDQUFDO1FBQ0QsT0FBTyxFQUFFLFlBQVk7UUFDckIsU0FBUyxFL0VueENULE1BQXNCO1ErRW94Q3RCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0lBbFpULEFBcVpNLGdCQXJaVSxDQTJSZCxXQUFXLENBMEhQLFNBQVM7SUFyWmYsZ0JBQWdCLENBMlJkLFdBQVcsQ0EySFAsc0JBQXNCLENBQUM7TUFDckIsT0FBTyxFQUFFLFlBQVksR0FDdEI7RUF4WlAsQUE0WkUsZ0JBNVpjLENBNFpkLFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLElBQUk7SXBDbnlDWixNQUFNLEVvQ295Q1EsTUFBTTtJcEM1eENwQixLQUFLLEVvQzR4Q1MsTUFBTTtJdkM3eEN0QixRQUFRLEV1Qzh4Q1ksUUFBUTtJdkMxeEN4QixLQUFVLEV1QzB4Q3FCLENBQUM7SXZDMXhDaEMsTUFBVSxFdUMweEN3QixRQUFPO0l2QzF4Q3pDLElBQVUsRXVDMHhDZ0MsQ0FBQztJdEN2eUN6QyxpQkFBb0IsRXNDd3lDTCxlQUFlO0l0Q255QzlCLGNBQWlCLEVzQ215Q0YsZUFBZTtJdEM5eEM5QixhQUFnQixFc0M4eENELGVBQWU7SXRDenhDOUIsWUFBZSxFc0N5eENBLGVBQWU7SXRDcHhDOUIsU0FBWSxFc0NveENHLGVBQWU7SXRDeHlDOUIsa0JBQW9CLEVzQ3l5Q0osR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSTtJdENweUN2QyxlQUFpQixFc0NveUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7SXRDcnhDdkMsVUFBWSxFc0NxeENJLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksR0FxQzVDO0lBdmNILEFBb2FJLGdCQXBhWSxDQTRaZCxVQUFVLENBUVIsTUFBTSxDQUFDO01wQ3p5Q1AsTUFBTSxFb0MweUNVLElBQUk7TXBDbHlDcEIsS0FBSyxFb0NreUNXLElBQUk7TXZDbnlDdEIsUUFBUSxFdUNveUNjLFFBQVE7TXZDaHlDMUIsR0FBVSxFdUNneUNrQixDQUFDO012Q2h5QzdCLEtBQVUsRXVDZ3lDb0IsQ0FBQztNdkNoeUMvQixNQUFVLEV1Q2d5Q3NCLENBQUM7TXZDaHlDakMsSUFBVSxFdUNneUN3QixDQUFDO01BQ25DLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFQUFFLG1EQUFtRCxDQUFDLFNBQVMsQ0FBQyxNQUFNLENOenhDcEUsT0FBTztNTTB4Q25CLGVBQWUsRUFBRSxTQUFTO01BQzFCLGFBQWEsRUFBRSxJQUFJO01BQ25CLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO0lBNWFMLEFBOGFJLGdCQTlhWSxDQTRaZCxVQUFVLENBa0JSLFdBQVcsQ0FBQztNcENuekNaLE1BQU0sRW9Db3pDVSxJQUFJO01wQzV5Q3BCLEtBQUssRW9DNHlDVyxJQUFJO01BQ2xCLGFBQWEsRUFBRSxJQUFJO01BQ25CLFVBQVUsRUFBRSx1QkFBdUI7TXZDL3lDdkMsUUFBUSxFdUNnekNjLFFBQVE7TXZDNXlDMUIsR0FBVSxFdUM0eUNrQixHQUFHO012QzV5Qy9CLElBQVUsRXVDNHlDZ0MsR0FBRztNdEN6ekMzQyxpQkFBb0IsRXNDMHpDSCxnQkFBZ0IsQ0FBQyxnQkFBZ0I7TXRDcnpDbEQsY0FBaUIsRXNDcXpDQSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7TXRDaHpDbEQsYUFBZ0IsRXNDZ3pDQyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7TXRDM3lDbEQsWUFBZSxFc0MyeUNFLGdCQUFnQixDQUFDLGdCQUFnQjtNdEN0eUNsRCxTQUFZLEVzQ3N5Q0ssZ0JBQWdCLENBQUMsZ0JBQWdCO01BQ3BELE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLEVBQUUsR0FDWjtJZGh2Q0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB6QnZDLEFBNFpFLGdCQTVaYyxDQTRaZCxVQUFVLENBQUM7UXBDanlDVCxNQUFNLEVvQzh6Q1UsSUFBSTtRcEN0ekNwQixLQUFLLEVvQ3N6Q1csSUFBSTtRQUNsQixNQUFNLEVBQUUsS0FBSyxHQWFoQjtRQXZjSCxBQW9hSSxnQkFwYVksQ0E0WmQsVUFBVSxDQVFSLE1BQU0sQ0F3Qkc7VXBDajBDVCxNQUFNLEVvQ2swQ1ksSUFBSTtVcEMxekN0QixLQUFLLEVvQzB6Q2EsSUFBSTtVQUNsQixhQUFhLEVBQUUsSUFBSTtVQUNuQixlQUFlLEVBQUUsU0FBUyxHQUMzQjtRQWhjUCxBQThhSSxnQkE5YVksQ0E0WmQsVUFBVSxDQWtCUixXQUFXLENBb0JHO1VwQ3YwQ2QsTUFBTSxFb0N3MENZLEdBQUc7VXBDaDBDckIsS0FBSyxFb0NnMENhLEdBQUc7VUFDakIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7O0FBSUwsVUFBVSxDQUFWLHNCQUFVO0VBRVIsR0FBRztFQUNILElBQUk7SXRDbjFDQSxpQkFBb0IsRXNDbzFDSCxXQUFXO0l0Qy8wQzVCLGNBQWlCLEVzQyswQ0EsV0FBVztJdEMxMEM1QixhQUFnQixFc0MwMENDLFdBQVc7SXRDcjBDNUIsWUFBZSxFc0NxMENFLFdBQVc7SXRDaDBDNUIsU0FBWSxFc0NnMENLLFdBQVc7O0FBSWxDLFVBQVUsQ0FBVix5QkFBVTtFQUVSLEVBQUU7RUFDRixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUM7RUFHWixHQUFHO0lBQ0QsT0FBTyxFQUFFLEdBQUc7RUFHZCxJQUFJO0l0Q24yQ0EsaUJBQW9CLEVzQ28yQ0gsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsU0FBUztJdEMvMUM1RCxjQUFpQixFc0MrMUNBLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVM7SXRDMTFDNUQsYUFBZ0IsRXNDMDFDQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO0l0Q3IxQzVELFlBQWUsRXNDcTFDRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO0l0Q2gxQzVELFNBQVksRXNDZzFDSyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTOztBQU1wRSxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VoQjkxQ2xCLE9BQU8sRWdCKzFDTSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7RUFDeEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLENBQUMsR0E0TFg7RUFqTUQsQUFPRSxrQkFQZ0IsQUFPZixPQUFPLEVBUFYsa0JBQWtCLEFBUWYsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsRUFBRSxHQUNaO0VBWkgsQUFjRSxrQkFkZ0IsQUFjZixPQUFPLENBQUM7SXBDdDNDUCxNQUFNLEVvQ3UzQ1EsTUFBTTtJcEMvMkNwQixLQUFLLEVvQysyQ1MsTUFBTTtJQUNwQixVQUFVLEVBQUUsd0JBQXdCO0l2Q2ozQ3RDLFFBQVEsRXVDazNDWSxRQUFRO0l2QzkyQ3hCLEdBQVUsRXVDODJDZ0IsR0FBRztJdkM5MkM3QixJQUFVLEV1QzgyQytCLE1BQUs7SXRDMzNDNUMsaUJBQW9CLEVzQzQzQ0wsZ0JBQWdCO0l0Q3YzQy9CLGNBQWlCLEVzQ3UzQ0YsZ0JBQWdCO0l0Q2wzQy9CLGFBQWdCLEVzQ2szQ0QsZ0JBQWdCO0l0QzcyQy9CLFlBQWUsRXNDNjJDQSxnQkFBZ0I7SXRDeDJDL0IsU0FBWSxFc0N3MkNHLGdCQUFnQixHQWtCcEM7SWRqMENDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWM2eEN4QyxBQWNFLGtCQWRnQixBQWNmLE9BQU8sQ0FBQztRcEN0M0NQLE1BQU0sRW9DNjNDVSxLQUFLO1FwQ3IzQ3JCLEtBQUssRW9DcTNDVyxLQUFLLEdBZXRCO0lkajBDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jNnhDdkMsQUFjRSxrQkFkZ0IsQUFjZixPQUFPLENBQUM7UXBDdDNDUCxNQUFNLEVvQ2k0Q1UsS0FBSztRcEN6M0NyQixLQUFLLEVvQ3kzQ1csS0FBSyxHQVd0QjtJZGowQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzZ4Q3ZDLEFBY0Usa0JBZGdCLEFBY2YsT0FBTyxDQUFDO1FwQ3QzQ1AsTUFBTSxFb0NxNENVLEtBQUs7UXBDNzNDckIsS0FBSyxFb0M2M0NXLEtBQUs7UUFDbkIsR0FBRyxFQUFFLEdBQUc7UUFDUixJQUFJLEVBQUUsT0FBTztRQUNiLEtBQUssRUFBRSxHQUFHO1F0QzE0Q1IsaUJBQW9CLEVzQzI0Q0gsZ0JBQWdCO1F0Q3Q0Q2pDLGNBQWlCLEVzQ3M0Q0EsZ0JBQWdCO1F0Q2o0Q2pDLGFBQWdCLEVzQ2k0Q0MsZ0JBQWdCO1F0QzUzQ2pDLFlBQWUsRXNDNDNDRSxnQkFBZ0I7UXRDdjNDakMsU0FBWSxFc0N1M0NLLGdCQUFnQjtRQUNuQyxVQUFVLEVBQUUsd0JBQXdCLEdBRXZDO0VBcENILEFBc0NFLGtCQXRDZ0IsQUFzQ2YsTUFBTSxDQUFDO0lwQzk0Q04sTUFBTSxFb0MrNENRLElBQUk7SXBDdjRDbEIsS0FBSyxFb0N1NENTLElBQUk7SUFDbEIsVUFBVSxFQUFFLHVCQUF1QjtJdkN6NENyQyxRQUFRLEV1QzA0Q1ksUUFBUTtJdkN0NEN4QixLQUFVLEV1Q3M0Q3NCLE9BQU07SXZDdDRDdEMsTUFBVSxFdUNzNEM2QixNQUFNLEdBUWhEO0lkOTBDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jNnhDdkMsQUFzQ0Usa0JBdENnQixBQXNDZixNQUFNLENBQUM7UXBDOTRDTixNQUFNLEVvQ281Q1UsSUFBSTtRcEM1NENwQixLQUFLLEVvQzQ0Q1csSUFBSTtRQUNsQixNQUFNLEVBQUUsT0FBTztRQUNmLEdBQUcsRUFBRSxHQUFHO1FBQ1IsS0FBSyxFQUFFLE9BQU8sR0FFakI7RUFqREgsQUFtREUsa0JBbkRnQixDQW1EaEIsV0FBVyxDQUFDO0l2Q3A1Q1osUUFBUSxFdUNxNUNZLFFBQVE7SXZDajVDeEIsR0FBVSxFdUNpNUNnQixDQUFDO0l2Q2o1QzNCLEtBQVUsRXVDaTVDa0IsQ0FBQztJdkNqNUM3QixNQUFVLEV1Q2k1Q29CLENBQUM7SXZDajVDL0IsSUFBVSxFdUNpNUNzQixDQUFDO0lwQzU1Q25DLE1BQU0sRW9DNjVDUSxJQUFJO0lwQ3I1Q2xCLEtBQUssRW9DcTVDUyxJQUFJO0lBRWxCLE9BQU8sRUFBRSxFQUFFLEdBd0NaO0lBL0ZILEE3QzMyQ0Usa0I2QzIyQ2dCLENBbURoQixXQUFXLEE3Qzk1Q1YsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7STZDdTJDSCxBQXlESSxrQkF6RGMsQ0FtRGhCLFdBQVcsQUFNUixNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNdkMzNUNmLFFBQVEsRXVDNDVDYyxRQUFRO012Q3g1QzFCLEdBQVUsRXVDdzVDa0IsQ0FBQztNdkN4NUM3QixLQUFVLEV1Q3c1Q29CLENBQUM7TXZDeDVDL0IsTUFBVSxFdUN3NUNzQixDQUFDO012Q3g1Q2pDLElBQVUsRXVDdzVDd0IsQ0FBQztNcENuNkNyQyxNQUFNLEVvQ282Q1UsSUFBSTtNcEM1NUNwQixLQUFLLEVvQzQ1Q1csSUFBSTtNQUNsQixVQUFVLEVBQUUsd0JBQXdCLEdBQ3JDO0lBOURMLEFBZ0VJLGtCQWhFYyxDQW1EaEIsV0FBVyxDQWFULFFBQVE7SUFoRVosa0JBQWtCLENBbURoQixXQUFXLENBY1QsVUFBVSxDQUFDO01BQ1QsS0FBSyxFQUFFLElBQUk7TUFDWCxlQUFlLEVBQUUsS0FBSztNQUN0QixtQkFBbUIsRUFBRSxNQUFNO01BQzNCLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsT0FBTyxFQUFFLEVBQUUsR0FDWjtJQXZFTCxBQXlFSSxrQkF6RWMsQ0FtRGhCLFdBQVcsQ0FzQlQsVUFBVSxDQUFDO01wQ2o3Q1gsTUFBTSxFb0NrN0NjLElBQUk7TXBDMTZDeEIsS0FBSyxFb0MwNkNXLEdBQUcsR0FDbEI7SUEzRUwsQUE2RUksa0JBN0VjLENBbURoQixXQUFXLENBMEJULFFBQVEsQ0FBQztNdEN2N0NMLGlCQUFvQixFc0N3N0NILFVBQVU7TXRDbjdDM0IsY0FBaUIsRXNDbTdDQSxVQUFVO010Qzk2QzNCLGFBQWdCLEVzQzg2Q0MsVUFBVTtNdEN6NkMzQixZQUFlLEVzQ3k2Q0UsVUFBVTtNdENwNkMzQixTQUFZLEVzQ282Q0ssVUFBVTtNdEN4N0MzQixjQUFvQixFc0N5N0NOLFVBQVU7TXRDcjZDeEIsTUFBWSxFc0NxNkNFLFVBQVU7TUFDMUIsUUFBUSxFQUFFLE1BQU07TUFDaEIsTUFBTSxFQUFFLEtBQUs7TXBDejdDZixNQUFNLEVvQzA3QzJCLGlCQUFpQjtNcENsN0NsRCxLQUFLLEVvQ2s3Q1csZ0JBQWdCLEdBQy9CO0lkaDNDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jNnhDdkMsQUE2RUksa0JBN0VjLENBbURoQixXQUFXLENBMEJULFFBQVEsQ0FVRztRQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUF6RlAsQUF5RUksa0JBekVjLENBbURoQixXQUFXLENBc0JULFVBQVUsQ0FrQkc7UUFDVCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBN0ZQLEFBaUdFLGtCQWpHZ0IsQ0FpR2hCLFVBQVUsQ0FBQztJcEJwN0NYLFNBQVMsRUxkQyxLQUFLO0lLZ0JiLFdBQUksRUFBRSxJQUFJO0lBQ1YsWUFBSyxFQUFFLElBQUksR29CcThDWjtJQXJISCxBN0MzMkNFLGtCNkMyMkNnQixDQWlHaEIsVUFBVSxBN0M1OENULE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jNnhDeEMsQUFpR0Usa0JBakdnQixDQWlHaEIsVUFBVSxDQUFDO1FwQnA3Q1gsU0FBUyxFb0J3N0NvQixLQUFLO1FwQnQ3Q2hDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CcThDWjtRQXJISCxBN0MzMkNFLGtCNkMyMkNnQixDQWlHaEIsVUFBVSxBN0M1OENULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jNnhDeEMsQUFpR0Usa0JBakdnQixDQWlHaEIsVUFBVSxDQUFDO1FwQnA3Q1gsU0FBUyxFb0I0N0NvQixLQUFLO1FwQjE3Q2hDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CcThDWjtRQXJISCxBN0MzMkNFLGtCNkMyMkNnQixDQWlHaEIsVUFBVSxBN0M1OENULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jNnhDdkMsQUFpR0Usa0JBakdnQixDQWlHaEIsVUFBVSxDQUFDO1FwQnA3Q1gsU0FBUyxFb0JnOENvQixLQUFLO1FwQjk3Q2hDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CcThDWjtRQXJISCxBN0MzMkNFLGtCNkMyMkNnQixDQWlHaEIsVUFBVSxBN0M1OENULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jNnhDdkMsQUFpR0Usa0JBakdnQixDQWlHaEIsVUFBVSxDQUFDO1FwQnA3Q1gsU0FBUyxFb0JvOENvQixJQUFJO1FwQmw4Qy9CLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUk7UWhCeEJYLE1BQU0sRW9DMDlDVSxJQUFJO1FwQ2w5Q3BCLEtBQUssRW9DazlDVyxJQUFJLEdBR3JCO1FBckhILEE3QzMyQ0Usa0I2QzIyQ2dCLENBaUdoQixVQUFVLEE3QzU4Q1QsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZDdTJDSCxBQXVIRSxrQkF2SGdCLENBdUhoQixRQUFRLENBQUM7SW5CejZDUCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0l1QmsrQzNDLFVBQVUsRUFBRSxJQUFJLEdBU2pCO0lBbElILEFuQjd4Q00sa0JtQjZ4Q1ksQ0F1SGhCLFFBQVEsQW5CcDVDSCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SUtGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jNnhDeEMsQUF1SEUsa0JBdkhnQixDQXVIaEIsUUFBUSxDQUFDO1FuQno2Q1AsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKcEVoQixRQUFzQztRSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUIyK0M1QztRQWxJSCxBbkI3eENNLGtCbUI2eENZLENBdUhoQixRQUFRLEFuQnA1Q0gsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzZ4Q3ZDLEFBdUhFLGtCQXZIZ0IsQ0F1SGhCLFFBQVEsQ0FBQztRbkJ6NkNQLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VCMitDNUM7UUFsSUgsQW5CN3hDTSxrQm1CNnhDWSxDQXVIaEIsUUFBUSxBbkJwNUNILFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFbUIyeENQLEFBb0lFLGtCQXBJZ0IsQ0FvSWhCLEVBQUUsQ0FBQztJQUNELFNBQVMsRS9FNytDSCxRQUFzQjtJK0U4K0M1QixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsT0FBTztJQUN2QixNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsS0FBSyxHQUNqQjtFQTFJSCxBQTRJRSxrQkE1SWdCLENBNEloQixDQUFDLENBQUM7SUFDQSxTQUFTLEUvRXIvQ0gsT0FBc0I7SStFcy9DNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsYUFBYSxFQUFFLENBQUMsR0FLakI7SUF2SkgsQUFvSkksa0JBcEpjLENBNEloQixDQUFDLENBUUMsQ0FBQyxDQUFDO01BQ0EsS0FBSyxFTjErQ0ssT0FBTyxHTTIrQ2xCO0VkbjdDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljNnhDdkMsQUFBQSxrQkFBa0IsQ0FBQztNQTBKZixVQUFVLEVBQUUsS0FBSyxHQXVDcEI7TUFqTUQsQUFvSUUsa0JBcElnQixDQW9JaEIsRUFBRSxDQXdCRztRQUNELFNBQVMsRS9FcmdETCxRQUFzQixHK0VzZ0QzQjtFZDM3Q0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJYzZ4Q3ZDLEFBQUEsa0JBQWtCLENBQUM7TWhCNTFDakIsT0FBTyxFZ0I4L0NRLElBQUk7TUFDakIsVUFBVSxFQUFFLE9BQU8sR0E4QnRCO01Bak1ELEFBcUtJLGtCQXJLYyxDQXFLZCxTQUFTLENBQUM7UUFDUixRQUFRLEVBQUUsUUFBUSxHQUVuQjtNQXhLTCxBQTBLSSxrQkExS2MsQ0EwS2QsWUFBWSxDQUFDO1FBQ1gsT0FBTyxFQUFFLElBQUksR0FDZDtNQTVLTCxBQXVIRSxrQkF2SGdCLENBdUhoQixRQUFRLENBdURHO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsR0FBRztRQUNWLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLE1BQU0sR0FDaEI7TUFwTEwsQUFvSUUsa0JBcElnQixDQW9JaEIsRUFBRSxDQWtERztRQUNELFNBQVMsRS9FL2hETCxLQUFzQjtRK0VnaUQxQixXQUFXLEVBQUUsSUFBSTtRQUNqQixjQUFjLEVBQUUsTUFBTTtRQUN0QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtNQTNMTCxBQTRJRSxrQkE1SWdCLENBNEloQixDQUFDLENBaURHO1FBQ0EsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFLTCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsVUFBVSxFQUFFLEtBQUs7RUFDakIsUUFBUSxFQUFFLFFBQVE7RWhCbGlEbEIsT0FBTyxFZ0JtaURNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUN0QixlQUFlLEVBQUUsS0FBSztFQUN0QixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsTUFBTSxHQXdNakI7RUFoTkQsQUFVRSxnQkFWYyxBQVViLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0l2Q2hqRGIsUUFBUSxFdUNpakRZLFFBQVE7SXZDN2lEeEIsR0FBVSxFdUM2aURnQixDQUFDO0l2QzdpRDNCLElBQVUsRXVDNmlENEIsQ0FBQztJcEN4akR6QyxNQUFNLEVvQ3lqRFEsSUFBSTtJcENqakRsQixLQUFLLEVvQ2lqRFMsSUFBSTtJQUNsQixVQUFVLEVBQUUsd0JBQXdCO0lBQ3BDLE9BQU8sRUFBRSxFQUFFLEdBQ1o7RUFoQkgsQUFrQkUsZ0JBbEJjLENBa0JkLFFBQVEsQ0FBQztJQUNQLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFVBQVUsRUFBRSw0Q0FBNEMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUc7SUFDN0UsZUFBZSxFQUFFLEtBQUssR0E4QnZCO0lkcGhEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jaStDdkMsQUFrQkUsZ0JBbEJjLENBa0JkLFFBQVEsQ0FBQztRQU1MLFVBQVUsRUFBRSxtREFBbUQsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUc7UUFDcEYsZUFBZSxFQUFFLEtBQUssR0EwQnpCO0lkcGhEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jaStDdkMsQUFrQkUsZ0JBbEJjLENBa0JkLFFBQVEsQ0FBQztRQVdMLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsQ0FBQyxHQW1CWDtJQW5ESCxBQW1DSSxnQkFuQ1ksQ0FrQmQsUUFBUSxBQWlCTCxNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNdkN6a0RmLFFBQVEsRXVDMGtEYyxRQUFRO012Q3RrRDFCLEdBQVUsRXVDc2tEa0IsQ0FBQztNdkN0a0Q3QixJQUFVLEV1Q3NrRDhCLEdBQUc7TXBDamxEN0MsTUFBTSxFb0NrbERVLElBQUk7TXBDMWtEcEIsS0FBSyxFb0Mwa0RXLElBQUk7TUFDbEIsVUFBVSxFQUFFLHdCQUF3QjtNQUNwQyxhQUFhLEVBQUUsR0FBRyxHQVVuQjtNZG5oREQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRY2krQ3hDLEFBbUNJLGdCQW5DWSxDQWtCZCxRQUFRLEFBaUJMLE1BQU0sQ0FBQztVQVFKLEdBQUcsRUFBRSxLQUFLLEdBT2I7TWRuaERELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWNpK0N2QyxBQW1DSSxnQkFuQ1ksQ0FrQmQsUUFBUSxBQWlCTCxNQUFNLENBQUM7VXBDL2tEUixNQUFNLEVvQzJsRFksTUFBTTtVcENubER4QixLQUFLLEVvQ21sRGEsTUFBTTtVQUNwQixHQUFHLEVBQUUsQ0FBQyxHQUVUO0VBbERMLEFBcURFLGdCQXJEYyxDQXFEZCxVQUFVLENBQUM7SWhCcmxEWCxPQUFPLEVnQnNsRFEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO0lwQjdrRDFCLFNBQVMsRUxkQyxLQUFLO0lLZ0JiLFdBQUksRUFBRSxJQUFJO0lBQ1YsWUFBSyxFQUFFLElBQUksR29CK2xEWjtJQTNFSCxBN0MvaURFLGdCNkMraURjLENBcURkLFVBQVUsQTdDcG1EVCxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY2krQ3hDLEFBcURFLGdCQXJEYyxDQXFEZCxVQUFVLENBQUM7UXBCNWtEWCxTQUFTLEVvQmlsRG9CLEtBQUs7UXBCL2tEaEMsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHb0IrbERaO1FBM0VILEE3Qy9pREUsZ0I2QytpRGMsQ0FxRGQsVUFBVSxBN0NwbURULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jaStDeEMsQUFxREUsZ0JBckRjLENBcURkLFVBQVUsQ0FBQztRaEJybERYLE9BQU8sRWdCOGxEVSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUk7UXBCcmxEOUIsU0FBUyxFb0JzbERvQixLQUFLO1FwQnBsRGhDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CK2xEWjtRQTNFSCxBN0MvaURFLGdCNkMraURjLENBcURkLFVBQVUsQTdDcG1EVCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY2krQ3ZDLEFBcURFLGdCQXJEYyxDQXFEZCxVQUFVLENBQUM7UWhCcmxEWCxPQUFPLEVnQm1tRFUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FwQjFsRDVCLFNBQVMsRW9CMmxEb0IsS0FBSztRcEJ6bERoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQitsRFo7UUEzRUgsQTdDL2lERSxnQjZDK2lEYyxDQXFEZCxVQUFVLEE3Q3BtRFQsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNpK0N2QyxBQXFERSxnQkFyRGMsQ0FxRGQsVUFBVSxDQUFDO1FoQnJsRFgsT0FBTyxFZ0J3bURVLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSTtRcEIvbERqQyxTQUFTLEVvQmdtRG9CLElBQUk7UXBCOWxEL0IsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHb0IrbERaO1FBM0VILEE3Qy9pREUsZ0I2QytpRGMsQ0FxRGQsVUFBVSxBN0NwbURULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0U2QzJpREgsQUE2RUUsZ0JBN0VjLENBNkVkLEVBQUUsQ0FBQztJQUNELFNBQVMsRS9FMW5ESCxRQUFzQjtJK0UybkQ1QixXQUFXLEVBQUUsS0FBSztJQUNsQixjQUFjLEVBQUUsT0FBTztJQUN2QixNQUFNLEVBQUUsQ0FBQztJbkJ2a0RULEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUM7SXVCZ29EM0MsY0FBYyxFQUFFLFVBQVUsR0FDM0I7SUFwRkgsQW5CaitDTSxnQm1CaStDVSxDQTZFZCxFQUFFLEFuQjlpREcsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VtQis5Q1AsQUFzRkUsZ0JBdEZjLENBc0ZkLENBQUMsQ0FBQztJQUNBLFNBQVMsRS9Fbm9ESCxRQUFzQjtJK0Vvb0Q1QixXQUFXLEVBQUUsR0FBRztJakJsbURsQixXQUE2QixFQUFTLFFBQXNGO0lGb0IxSCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0l1QndvRDNDLEtBQUssRU4xb0RlLE9BQU87SU0yb0QzQixZQUFZLEVBQUUsQ0FBQztJQUNmLGFBQWEsRUFBRSxDQUFDLEdBS2pCO0lBbEdILEFuQmorQ00sZ0JtQmkrQ1UsQ0FzRmQsQ0FBQyxBbkJ2akRJLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJbUIrOUNQLEFBK0ZJLGdCQS9GWSxDQXNGZCxDQUFDLENBU0MsTUFBTSxDQUFDO01BQ0wsV0FBVyxFQUFFLE1BQU0sR0FDcEI7RUFqR0wsQUFvR0UsZ0JBcEdjLENBb0dkLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFLElBQUksR0FpQ2pCO0lBeElILEFBeUdJLGdCQXpHWSxDQW9HZCxXQUFXLENBS1QsRUFBRSxDQUFDO01BQ0QsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsQ0FBQztNQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lBN0dMLEFBK0dJLGdCQS9HWSxDQW9HZCxXQUFXLENBV1QsRUFBRSxDQUFDO01BQ0QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsU0FBUyxFL0U3cERMLFFBQXNCO00rRThwRDFCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRU5wcURhLE9BQU87TU1xcUR6QixjQUFjLEVBQUUsVUFBVTtNQUMxQixZQUFZLEVBQUUsSUFBSTtNQUNsQixZQUFZLEVBQUUsR0FBRztNQUNqQixPQUFPLEVBQUUsWUFBWSxHQWN0QjtNQXZJTCxBQTJITSxnQkEzSFUsQ0FvR2QsV0FBVyxDQVdULEVBQUUsQUFZQyxhQUFhLENBQUM7UUFDYixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNQTdIUCxBQStITSxnQkEvSFUsQ0FvR2QsV0FBVyxDQVdULEVBQUUsQUFnQkMsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UXZDcnFEakIsUUFBUSxFdUNzcURnQixRQUFRO1F2Q2xxRDVCLEdBQVUsRXVDa3FEb0IsR0FBRztRdkNscURqQyxJQUFVLEV1Q2txRGtDLENBQUM7UXBDN3FEL0MsTUFBTSxFb0M4cURnQixJQUFJO1FwQ3RxRDFCLEtBQUssRW9Dc3FEYSxHQUFHO1FBQ2pCLE1BQU0sRUFBRSxJQUFJO1FBQ1osVUFBVSxFTjVwREEsT0FBTztRTTZwRGpCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0Vkdm1ESCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ljaStDeEMsQUFBQSxnQkFBZ0IsQ0FBQztNQTJJYixVQUFVLEVBQUUsS0FBSyxHQXFFcEI7TUFoTkQsQUErR0ksZ0JBL0dZLENBb0dkLFdBQVcsQ0FXVCxFQUFFLENBOEJhO1FBQ2IsWUFBWSxFQUFFLEVBQUUsR0FDakI7RWRobkRELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWNpK0N4QyxBQTZFRSxnQkE3RWMsQ0E2RWQsRUFBRSxDQXVFRztNQUNELFNBQVMsRS9FanNETCxPQUFzQixHK0Vrc0QzQjtJQXRKTCxBQXNGRSxnQkF0RmMsQ0FzRmQsQ0FBQyxDQWtFRztNQUNBLFNBQVMsRS9FcnNETCxPQUFzQixHK0Vzc0QzQjtJQTFKTCxBQW9HRSxnQkFwR2MsQ0FvR2QsV0FBVyxDQXdERztNQUNWLFVBQVUsRUFBRSxJQUFJLEdBVWpCO01BdktMLEFBK0dJLGdCQS9HWSxDQW9HZCxXQUFXLENBV1QsRUFBRSxDQWdERztRQUNELFNBQVMsRS9FNXNEUCxRQUFzQjtRK0U2c0R4QixZQUFZLEVBQUUsRUFBRSxHQUtqQjtRQXRLUCxBQStITSxnQkEvSFUsQ0FvR2QsV0FBVyxDQVdULEVBQUUsQUFnQkMsTUFBTSxDQW9DRztVQUNOLEdBQUcsRUFBRSxDQUFDLEdBQ1A7RWR0b0RMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWNpK0N2QyxBQUFBLGdCQUFnQixDQUFDO01BMktiLFVBQVUsRUFBRSxPQUFPLEdBcUN0QjtNQWhORCxBQTZFRSxnQkE3RWMsQ0E2RWQsRUFBRSxDQWdHRztRQUNELFNBQVMsRS9FMXRETCxRQUFzQjtRNERzRDVCLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VCNnREMUM7UUFoTEwsQW5CaitDTSxnQm1CaStDVSxDQTZFZCxFQUFFLEFuQjlpREcsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO01tQis5Q1AsQUFzRkUsZ0JBdEZjLENBc0ZkLENBQUMsQ0E0Rkc7UUFDQSxTQUFTLEUvRS90REwsUUFBc0I7UThEa0M5QixXQUE2QixFQUFTLFFBQXNGLEdpQityRHpIO01BckxMLEFBb0dFLGdCQXBHYyxDQW9HZCxXQUFXLENBbUZHO1FBQ1YsT0FBTyxFQUFFLElBQUksR0FDZDtFZDFwREQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY2krQ3ZDLEFBQUEsZ0JBQWdCLENBQUM7TUE2TGIsT0FBTyxFQUFFLFNBQVMsR0FtQnJCO01BaE5ELEFBNkVFLGdCQTdFYyxDQTZFZCxFQUFFLENBa0hHO1FBQ0QsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRS9FOXVETCxRQUFzQjtRK0UrdUQxQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQXBNTCxBQXNGRSxnQkF0RmMsQ0FzRmQsQ0FBQyxDQWdIRztRQUNBLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLEdBQUc7UUFDVixNQUFNLEVBQUUsQ0FBQztRQUNULFNBQVMsRS9FdHZETCxNQUFzQjtRK0V1dkQxQixXQUFXLEVBQUUsR0FBRztRQUNoQixXQUFXLEVBQUUsR0FBRztRQUNoQixjQUFjLEVBQUUsT0FBTyxHQUN4Qjs7QUFLTCxBQUFBLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixlQUFlLEVBQUUsS0FBSztFQUN0QixPQUFPLEVBQUUsQ0FBQyxHQXdaWDtFQTlaRCxBQVVJLGFBVlMsQUFRVixVQUFVLEFBRVIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFQUFFLHlCQUF5QixHQUN0QztFQVpMLEFBY0ksYUFkUyxBQVFWLFVBQVUsQUFNUixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SXBDaHhEcEIsTUFBTSxFb0NpeERVLElBQUk7SXBDendEcEIsS0FBSyxFb0N5d0RXLElBQUk7SUFDbEIsVUFBVSxFQUFFLHdCQUF3QjtJdkMzd0R4QyxRQUFRLEV1QzR3RGMsUUFBUTtJdkN4d0QxQixHQUFVLEV1Q3d3RGtCLEdBQUc7SXZDeHdEL0IsS0FBVSxFdUN3d0RzQixDQUFDO0l0Q3J4RC9CLGlCQUFvQixFc0NzeERILGdCQUFnQixDQUFDLGdCQUFnQjtJdENqeERsRCxjQUFpQixFc0NpeERBLGdCQUFnQixDQUFDLGdCQUFnQjtJdEM1d0RsRCxhQUFnQixFc0M0d0RDLGdCQUFnQixDQUFDLGdCQUFnQjtJdEN2d0RsRCxZQUFlLEVzQ3V3REUsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q2x3RGxELFNBQVksRXNDa3dESyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FDckQ7RUF0QkwsQUF3QkksYUF4QlMsQUFRVixVQUFVLENBZ0JULFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxPQUFPLEdBQ2pCO0VBMUJMLEFBNEJJLGFBNUJTLEFBUVYsVUFBVSxDQW9CVCxRQUFRLENBQUM7SXZDcHhEWCxRQUFRLEV1Q3F4RGMsUUFBUTtJdkNqeEQxQixHQUFVLEV1Q2l4RGtCLE9BQU87SXZDanhEbkMsS0FBVSxFdUNpeERrQixPQUFPO0l2Q2p4RG5DLE1BQVUsRXVDaXhEa0IsT0FBTztJdkNqeERuQyxJQUFVLEV1Q2l4RGtCLE9BQU87SXRDOXhEakMsaUJBQW9CLEVzQyt4REgsYUFBYTtJdEMxeEQ5QixjQUFpQixFc0MweERBLGFBQWE7SXRDcnhEOUIsYUFBZ0IsRXNDcXhEQyxhQUFhO0l0Q2h4RDlCLFlBQWUsRXNDZ3hERSxhQUFhO0l0QzN3RDlCLFNBQVksRXNDMndESyxhQUFhLEdBQ2pDO0VkbnRERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljb3JEdkMsQUF3QkksYUF4QlMsQUFRVixVQUFVLENBZ0JULFVBQVUsQ0FXRztNQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUFyQ1AsQUFjSSxhQWRTLEFBUVYsVUFBVSxBQU1SLE9BQU8sQ0F5Qkc7TUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBekNQLEFBNkNFLGFBN0NXLEFBNkNWLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0l2Q3R5RGIsUUFBUSxFdUN1eURZLFFBQVE7SXZDbnlEeEIsR0FBVSxFdUNteURnQixDQUFDO0l2Q255RDNCLElBQVUsRXVDbXlENEIsQ0FBQztJcEM5eUR6QyxNQUFNLEVvQyt5RFEsSUFBSTtJcEN2eURsQixLQUFLLEVvQ3V5RFMsSUFBSTtJQUNsQixVQUFVLEVBQUUsd0JBQXdCO0lBQ3BDLE9BQU8sRUFBRSxFQUFFLEdBQ1o7RUFuREgsQUFxREUsYUFyRFcsQ0FxRFgsVUFBVSxDQUFDO0lBRVQsUUFBUSxFQUFFLFFBQVE7SXBCanlEcEIsU0FBUyxFTGRDLEtBQUs7SUtnQmIsV0FBSSxFQUFFLElBQUk7SUFDVixZQUFLLEVBQUUsSUFBSSxHb0JnekRaO0lBekVILEE3Q2x3REUsYTZDa3dEVyxDQXFEWCxVQUFVLEE3Q3Z6RFQsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7STZDOHZESCxBN0Nsd0RFLGE2Q2t3RFcsQ0FxRFgsVUFBVSxBN0N2ekRULE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jb3JEeEMsQUFxREUsYUFyRFcsQ0FxRFgsVUFBVSxDQUFDO1FwQi94RFgsU0FBUyxFb0JxeURvQixLQUFLO1FwQm55RGhDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CZ3pEWjtRQXpFSCxBN0Nsd0RFLGE2Q2t3RFcsQ0FxRFgsVUFBVSxBN0N2ekRULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jb3JEeEMsQUFxREUsYUFyRFcsQ0FxRFgsVUFBVSxDQUFDO1FwQi94RFgsU0FBUyxFb0J5eURvQixLQUFLO1FwQnZ5RGhDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CZ3pEWjtRQXpFSCxBN0Nsd0RFLGE2Q2t3RFcsQ0FxRFgsVUFBVSxBN0N2ekRULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jb3JEdkMsQUFxREUsYUFyRFcsQ0FxRFgsVUFBVSxDQUFDO1FwQi94RFgsU0FBUyxFb0I2eURvQixLQUFLO1FwQjN5RGhDLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CZ3pEWjtRQXpFSCxBN0Nsd0RFLGE2Q2t3RFcsQ0FxRFgsVUFBVSxBN0N2ekRULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0krQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jb3JEdkMsQUFxREUsYUFyRFcsQ0FxRFgsVUFBVSxDQUFDO1FwQi94RFgsU0FBUyxFb0JpekRvQixJQUFJO1FwQi95RC9CLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CZ3pEWjtRQXpFSCxBN0Nsd0RFLGE2Q2t3RFcsQ0FxRFgsVUFBVSxBN0N2ekRULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0U2Qzh2REgsQUEyRUUsYUEzRVcsQ0EyRVgsUUFBUSxDQUFDO0l2Q24wRFQsUUFBUSxFdUNvMERZLFFBQVE7SXZDaDBEeEIsR0FBVSxFdUNnMERnQixHQUFHO0l2Q2gwRDdCLElBQVUsRXVDZzBEOEIsQ0FBQztJdEM3MER2QyxpQkFBb0IsRXNDODBETCxnQkFBZ0I7SXRDejBEL0IsY0FBaUIsRXNDeTBERixnQkFBZ0I7SXRDcDBEL0IsYUFBZ0IsRXNDbzBERCxnQkFBZ0I7SXRDL3pEL0IsWUFBZSxFc0MrekRBLGdCQUFnQjtJdEMxekQvQixTQUFZLEVzQzB6REcsZ0JBQWdCO0luQnR4RG5DLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VCazJENUM7SUFsR0gsQW5CcHJETSxhbUJvckRPLENBMkVYLFFBQVEsQW5CL3ZESCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SW1Ca3JEUCxBQWdGSSxhQWhGUyxDQTJFWCxRQUFRLENBS04sTUFBTSxDQUFDO01BQ0wsU0FBUyxFOUU5MERMLE1BQXVCO004RSswRDNCLFdBQVcsRUFBRSxDQUFDO01BQ2QsY0FBYyxFQUFFLE9BQU87TUFDdkIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUFyRkwsQUF1RkksYUF2RlMsQ0EyRVgsUUFBUSxDQVlOLEtBQUssQ0FBQztNQUNKLFNBQVMsRTlFcjFETCxRQUF1QjtNOEVzMUQzQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsT0FBTztNQUN2QixXQUFXLEVBQUUsR0FBRztNQUNoQixLQUFLLEVOOTFEYSxPQUFPLEdNbTJEMUI7TUFqR0wsQUE4Rk0sYUE5Rk8sQ0EyRVgsUUFBUSxDQVlOLEtBQUssQUFPRixhQUFhLENBQUM7UUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQWhHUCxBQW9HRSxhQXBHVyxDQW9HWCxPQUFPLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJakJsMERwQixXQUE2QixFQUFTLFNBQXNGO0lGb0IxSCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0l1QncyRDNDLEtBQUssRUFBRSxLQUFLLEdBd0piO0lBaFFILEFuQnByRE0sYW1Cb3JETyxDQW9HWCxPQUFPLEFuQnh4REYsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0ltQmtyRFAsQUEwR0ksYUExR1MsQ0FvR1gsT0FBTyxBQU1KLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUs7TUFDZCxXQUFXLEVBQUUsSUFBSSxHQUNsQjtJQTlHTCxBQWdISSxhQWhIUyxDQW9HWCxPQUFPLENBWUwsV0FBVztJQWhIZixhQUFhLENBb0dYLE9BQU8sQ0FhTCxZQUFZLENBQUM7TUFDWCxNQUFNLEVBQUUsZUFBZSxHQUN4QjtJQW5ITCxBQXFISSxhQXJIUyxDQW9HWCxPQUFPLENBaUJMLGFBQWEsQ0FBQztNcENwM0RkLE1BQU0sRW9DcTNEVSxJQUFJO01wQzcyRHBCLEtBQUssRW9DNjJEVyxJQUFJO012QzkyRHRCLFFBQVEsRXVDKzJEYyxRQUFRO012QzMyRDFCLEdBQVUsRXVDMjJEa0IsQ0FBQztNdkMzMkQ3QixJQUFVLEV1QzIyRDhCLENBQUMsR0FDMUM7SUF4SEwsQUEwSEksYUExSFMsQ0FvR1gsT0FBTyxDQXNCTCxLQUFLLENBQUM7TUFDSixRQUFRLEVBQUUsUUFBUTtNQUNsQixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsZUFBZSxFQUFFLEtBQUs7TUFDdEIsT0FBTyxFQUFFLENBQUM7TXRDaDREUixrQkFBb0IsRXNDaTRERixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TXRDNTNEbEMsZUFBaUIsRXNDNDNEQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TXRDNzJEbEMsVUFBWSxFc0M2MkRNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNQUNwQyxPQUFPLEVBQUUsWUFBWTtNcENoNER2QixNQUFNLEVvQ2k0RFUsSUFBSTtNcEN6M0RwQixLQUFLLEVvQ3kzRFcsSUFBSSxHQStEbkI7TUFqTUwsQUFvSU0sYUFwSU8sQ0FvR1gsT0FBTyxDQXNCTCxLQUFLLEFBVUYsV0FBVyxDQUFDO1FoQnYzRGpCLE9BQU8sRWdCdzNEWSxJQUFJLEdBQ2xCO01BdElQLEFBd0lNLGFBeElPLENBb0dYLE9BQU8sQ0FzQkwsS0FBSyxBQWNGLG1CQUFtQixDQUFDO1FoQjMzRHpCLE9BQU8sRWdCNDNEWSxJQUFJLENBQUMsSUFBSSxHQVN2QjtRQWxKUCxBQTJJUSxhQTNJSyxDQW9HWCxPQUFPLENBc0JMLEtBQUssQUFjRixtQkFBbUIsQUFHakIsTUFBTSxDQUFDO1VBQ04sT0FBTyxFQUFFLEVBQUU7VXZDcDREbkIsUUFBUSxFdUNxNERrQixRQUFRO1V2Q2o0RDlCLEdBQVUsRXVDaTREc0IsQ0FBQztVdkNqNERqQyxJQUFVLEV1Q2k0RGtDLENBQUM7VXBDNTREL0MsTUFBTSxFb0M2NERjLElBQUk7VXBDcjREeEIsS0FBSyxFb0NxNERlLElBQUk7VUFDbEIsVUFBVSxFQUFFLHVCQUF1QjtVQUNuQyxPQUFPLEVBQUUsRUFBRSxHQUNaO01BakpULEFBb0pNLGFBcEpPLENBb0dYLE9BQU8sQ0FzQkwsS0FBSyxDQTBCSCxPQUFPLENBQUM7UUFDTixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxJQUFJO1F2Qzk0RGxCLFFBQVEsRXVDKzREZ0IsUUFBUTtRdkMzNEQ1QixHQUFVLEV1QzI0RG9CLEdBQUc7UXZDMzREakMsS0FBVSxFdUMyNER3QixDQUFDO1F2QzM0RG5DLElBQVUsRXVDMjREK0IsQ0FBQztRdEN4NUR4QyxpQkFBb0IsRXNDeTVERCxnQkFBZ0I7UXRDcDVEbkMsY0FBaUIsRXNDbzVERSxnQkFBZ0I7UXRDLzREbkMsYUFBZ0IsRXNDKzRERyxnQkFBZ0I7UXRDMTREbkMsWUFBZSxFc0MwNERJLGdCQUFnQjtRdENyNERuQyxTQUFZLEVzQ3E0RE8sZ0JBQWdCLEdBQ3BDO01BekpQLEFBMkpNLGFBM0pPLENBb0dYLE9BQU8sQ0FzQkwsS0FBSyxDQWlDSCxLQUFLLENBQUM7UUFDSixTQUFTLEUvRTM1RFAsTUFBc0I7UStFNDVEeEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLE9BQU87UUFDdkIsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFTmg1REwsSUFBSTtRTWk1REosY0FBYyxFQUFFLFNBQVM7UUFDekIsYUFBYSxFQUFFLElBQUksR0FDcEI7TUFuS1AsQUFxS00sYUFyS08sQ0FvR1gsT0FBTyxDQXNCTCxLQUFLLENBMkNILFNBQVMsQ0FBQztRQUNSLFNBQVMsRS9FcjZEUCxRQUFzQjtRK0VzNkR4QixjQUFjLEVBQUUsS0FBSztRQUNyQixXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEVOejVETCxJQUFJO1FNMDVESixjQUFjLEVBQUUsU0FBUztRQUN6QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtNQTVLUCxBQThLTSxhQTlLTyxDQW9HWCxPQUFPLENBc0JMLEtBQUssQ0FvREgsTUFBTSxDQUFDO1FBQ0wsU0FBUyxFL0U5NkRQLEtBQXNCO1ErRSs2RHhCLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRU5sNkRMLElBQUk7UU1tNkRKLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BckxQLEFBdUxNLGFBdkxPLENBb0dYLE9BQU8sQ0FzQkwsS0FBSyxDQTZESCxDQUFDLENBQUM7UUFDQSxTQUFTLEUvRXY3RFAsTUFBc0I7UStFdzdEeEIsY0FBYyxFQUFFLE1BQU07UUFDdEIsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFTjM2REwsSUFBSSxHTWc3REw7UUFoTVAsQUE2TFEsYUE3TEssQ0FvR1gsT0FBTyxDQXNCTCxLQUFLLENBNkRILENBQUMsQUFNRSxhQUFhLENBQUM7VUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQS9MVCxBQW1NSSxhQW5NUyxDQW9HWCxPQUFPLENBK0ZMLGFBQWEsQ0FBQztNQUNaLGFBQWEsRUFBRSxZQUFZLEdBQzVCO0lBck1MLEFBdU1JLGFBdk1TLENBb0dYLE9BQU8sQ0FtR0wsV0FBVyxDQUFDO010Q3g4RFIsa0JBQW9CLEVzQ3k4REYsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO010Q3A4RGxDLGVBQWlCLEVzQ284REMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO010Q3I3RGxDLFVBQVksRXNDcTdETSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7SUF6TUwsQUEyTUksYUEzTVMsQ0FvR1gsT0FBTyxDQXVHTCxXQUFXLENBQUM7TUFDVixNQUFNLEVBQUUsSUFBSSxHQXlCYjtNQXJPTCxBQThNTSxhQTlNTyxDQW9HWCxPQUFPLENBdUdMLFdBQVcsQ0FHVCxFQUFFLENBQUM7UXBDNzhETCxNQUFNLEVvQzg4RFksTUFBTTtRcEN0OER4QixLQUFLLEVvQ3M4RGEsTUFBTTtRaEJsOEQxQixPQUFPLEVnQm04RFksQ0FBQztRQUNkLE1BQU0sRUFBRSxTQUFTLEdBbUJsQjtRQXBPUCxBQW1OUSxhQW5OSyxDQW9HWCxPQUFPLENBdUdMLFdBQVcsQ0FHVCxFQUFFLENBS0EsTUFBTSxDQUFDO1VwQ2w5RFgsTUFBTSxFb0NtOURjLE1BQU07VXBDMzhEMUIsS0FBSyxFb0MyOERlLE1BQU07VUFDcEIsVUFBVSxFQUFFLHdCQUF3QjtVQUNwQyxhQUFhLEVBQUUsR0FBRztVQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUtYO1VBNU5ULEFBeU5VLGFBek5HLENBb0dYLE9BQU8sQ0F1R0wsV0FBVyxDQUdULEVBQUUsQ0FLQSxNQUFNLEFBTUgsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDtRQTNOWCxBQWdPVSxhQWhPRyxDQW9HWCxPQUFPLENBdUdMLFdBQVcsQ0FHVCxFQUFFLEFBZ0JDLGFBQWEsQ0FFWixNQUFNLENBQUM7VUFDTCxVQUFVLEVOajlEZCxJQUFJLEdNazlERDtJQWxPWCxBQXVPSSxhQXZPUyxDQW9HWCxPQUFPLENBbUlMLFlBQVksQ0FBQztNcEN0K0RiLE1BQU0sRW9DdStEVSxJQUFJO01wQy85RHBCLEtBQUssRW9DKzlEVyxJQUFJO01BQ2xCLGFBQWEsRUFBRSxHQUFHO01BQ2xCLE9BQU8sRUFBRSxDQUFDLEdBcUJYO01BL1BMLEFBNE9NLGFBNU9PLENBb0dYLE9BQU8sQ0FtSUwsWUFBWSxBQUtULE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUE5T1AsQUFnUE0sYUFoUE8sQ0FvR1gsT0FBTyxDQW1JTCxZQUFZLEFBU1QsTUFBTSxDQUFDO1FBQ04sVUFBVSxFTmorRFYsSUFBSSxHTWsrREw7TUFsUFAsQUFvUE0sYUFwUE8sQ0FvR1gsT0FBTyxDQW1JTCxZQUFZLEFBYVQsV0FBVyxDQUFDO1FBQ1gsS0FBSyxFQUFFLEtBQUs7UUFDWixVQUFVLEVBQUUseURBQXlELENBQUMsU0FBUyxDQUFDLE1BQU0sQ050K0R0RixJQUFJO1FNdStESixlQUFlLEVBQUUsVUFBVSxHQUM1QjtNQXhQUCxBQTBQTSxhQTFQTyxDQW9HWCxPQUFPLENBbUlMLFlBQVksQUFtQlQsV0FBVyxDQUFDO1FBQ1gsSUFBSSxFQUFFLEtBQUs7UUFDWCxVQUFVLEVBQUUseURBQXlELENBQUMsU0FBUyxDQUFDLE1BQU0sQ041K0R0RixJQUFJO1FNNitESixlQUFlLEVBQUUsVUFBVSxHQUM1QjtFQTlQUCxBQWtRRSxhQWxRVyxDQWtRWCxXQUFXLENBQUM7SUFDVixVQUFVLEVBQUUsSUFBSSxHQTBCakI7SUE3UkgsQTdDbHdERSxhNkNrd0RXLENBa1FYLFdBQVcsQTdDcGdFVixPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJNkM4dkRILEFBc1FJLGFBdFFTLENBa1FYLFdBQVcsQ0FJVCxTQUFTLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsR0FBRztNQUNWLEtBQUssRUFBRSxJQUFJO01BQ1gsYUFBYSxFQUFFLEdBQUc7TUFDbEIsWUFBWSxFQUFFLEdBQUcsR0FpQmxCO01BNVJMLEFBNlFNLGFBN1FPLENBa1FYLFdBQVcsQ0FJVCxTQUFTLEFBT04sT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UXZDdGdFakIsUUFBUSxFdUN1Z0VnQixRQUFRO1F2Q25nRTVCLEdBQVUsRXVDbWdFb0IsR0FBRztRdkNuZ0VqQyxJQUFVLEV1Q21nRWtDLENBQUM7UXBDOWdFL0MsTUFBTSxFb0MrZ0VnQixJQUFJO1FwQ3ZnRTFCLEtBQUssRW9DdWdFYSxHQUFHO1FBQ2pCLFVBQVUsRU41L0RBLE9BQU87UU02L0RqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQW5SUCxBQXFSTSxhQXJSTyxDQWtRWCxXQUFXLENBSVQsU0FBUyxDQWVQLENBQUMsQ0FBQztRQUNBLEtBQUssRU50aEVhLE9BQU87UU11aEV6QixTQUFTLEU5RXBoRVAsU0FBdUI7UThFcWhFekIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLE9BQU8sR0FDeEI7RWQvOERILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWNvckR4QyxBQTJFRSxhQTNFVyxDQTJFWCxRQUFRLENBc05HO01uQjErRFQsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUJtaUUxQztNQW5TTCxBbkJwckRNLGFtQm9yRE8sQ0EyRVgsUUFBUSxBbkIvdkRILFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJbUJrckRQLEFBb0dFLGFBcEdXLENBb0dYLE9BQU8sQ0FpTUc7TWpCbGdFVixXQUE2QixFQUFTLFFBQXNGO01Gb0IxSCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDO011QndpRXpDLEtBQUssRUFBRSxLQUFLLEdBTWI7TUE5U0wsQW5CcHJETSxhbUJvckRPLENBb0dYLE9BQU8sQW5CeHhERixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TW1Ca3JEUCxBQThLTSxhQTlLTyxDQW9HWCxPQUFPLENBc0JMLEtBQUssQ0FvREgsTUFBTSxDQTRITztRQUNYLFNBQVMsRTlFeGlFUCxPQUF1QjtROEV5aUV6QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtJQTdTUCxBQWtRRSxhQWxRVyxDQWtRWCxXQUFXLENBOENHO01BQ1YsVUFBVSxFQUFFLElBQUksR0FDakI7RWR0K0RELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWNvckR2QyxBQTJFRSxhQTNFVyxDQTJFWCxRQUFRLENBNE9HO01uQmhnRVQsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUI2akUxQztNQTdUTCxBbkJwckRNLGFtQm9yRE8sQ0EyRVgsUUFBUSxBbkIvdkRILFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNbUJrckRQLEFBZ0ZJLGFBaEZTLENBMkVYLFFBQVEsQ0FLTixNQUFNLENBME9HO1FBQ0wsU0FBUyxFOUV4akVQLE1BQXVCLEc4RXlqRTFCO0lBNVRQLEFBa1FFLGFBbFFXLENBa1FYLFdBQVcsQ0E2REc7TUFDVixPQUFPLEVBQUUsSUFBSSxHQUNkO0Vkci9ERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljb3JEdkMsQUFzVUksYUF0VVMsQUFzVVIsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLElBQUksR0FDZDtJQXhVTCxBQTBVSSxhQTFVUyxDQTBVVCxRQUFRLENBQUM7TUFDUCxVQUFVLEVBQUUsT0FBTyxHQUNwQjtJQTVVTCxBQTJFRSxhQTNFVyxDQTJFWCxRQUFRLENBbVFHO01BQ1AsTUFBTSxFQUFFLENBQUM7TUFDVCxLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxJQUFJO01BQ1gsUUFBUSxFQUFFLE1BQU07TWhCcmtFcEIsT0FBTyxFZ0Jza0VVLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSTtNdENwbEUxQixpQkFBb0IsRXNDcWxFSCxhQUFhO010Q2hsRTlCLGNBQWlCLEVzQ2dsRUEsYUFBYTtNdEMza0U5QixhQUFnQixFc0Mya0VDLGFBQWE7TXRDdGtFOUIsWUFBZSxFc0Nza0VFLGFBQWE7TXRDamtFOUIsU0FBWSxFc0Npa0VLLGFBQWE7TXZDNWtFcEMsUUFBUSxFdUM2a0VjLFFBQVE7TXZDemtFMUIsR0FBVSxFdUN5a0VrQixPQUFPO012Q3prRW5DLEtBQVUsRXVDeWtFa0IsT0FBTztNdkN6a0VuQyxNQUFVLEV1Q3lrRWtCLE9BQU87TXZDemtFbkMsSUFBVSxFdUN5a0VrQixPQUFPLEdBMkJwQztNQWhYTCxBQWdGSSxhQWhGUyxDQTJFWCxRQUFRLENBS04sTUFBTSxDQXVRRztRQUNMLFNBQVMsRS9FdmxFUCxPQUFzQjtRK0V3bEV4QixXQUFXLEVBQUUsSUFBSTtRQUNqQixjQUFjLEVBQUUsT0FBTztRQUN2QixTQUFTLEVBQUUsS0FBSyxHQUNqQjtNQTVWUCxBQXVGSSxhQXZGUyxDQTJFWCxRQUFRLENBWU4sS0FBSyxDQXVRRztRQUNKLFNBQVMsRS9FOWxFUCxNQUFzQjtRK0UrbEV4QixXQUFXLEVBQUUsR0FBRztRQUNoQixjQUFjLEVBQUUsT0FBTztRQUN2QixXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsR0FBRztRQUNkLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO01BcldQLEFBdVdNLGFBdldPLENBOFVULFFBQVEsQUF5QkwsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLGFBQWEsRUFBRSxHQUFHO1FwQ3ptRXRCLE1BQU0sRW9DMG1FWSxLQUFLO1FwQ2xtRXZCLEtBQUssRW9Da21FYSxLQUFLO1F2Q25tRXpCLFFBQVEsRXVDb21FZ0IsUUFBUTtRdkNobUU1QixHQUFVLEV1Q2dtRW9CLEdBQUc7UXZDaG1FakMsSUFBVSxFdUNnbUVrQyxHQUFHO1F0QzdtRTdDLGlCQUFvQixFc0M4bUVELGdCQUFnQixDQUFDLGFBQWE7UXRDem1FakQsY0FBaUIsRXNDeW1FRSxnQkFBZ0IsQ0FBQyxhQUFhO1F0Q3BtRWpELGFBQWdCLEVzQ29tRUcsZ0JBQWdCLENBQUMsYUFBYTtRdEMvbEVqRCxZQUFlLEVzQytsRUksZ0JBQWdCLENBQUMsYUFBYTtRdEMxbEVqRCxTQUFZLEVzQzBsRU8sZ0JBQWdCLENBQUMsYUFBYTtRQUNqRCxVQUFVLEVBQUUsd0JBQXdCLEdBQ3JDO0lBL1dQLEFBb0dFLGFBcEdXLENBb0dYLE9BQU8sQ0E4UUc7TUFDTixLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLENBQUM7TWhCeG1FYixPQUFPLEVnQnltRVUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBc0M1QjtNQTVaTCxBQTBHSSxhQTFHUyxDQW9HWCxPQUFPLEFBTUosT0FBTyxDQThRRztRQUNQLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO01BMVhQLEFBMEhJLGFBMUhTLENBb0dYLE9BQU8sQ0FzQkwsS0FBSyxDQWtRRztRQUNKLE1BQU0sRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLEdBQUc7UXRDL25FWixpQkFBb0IsRXNDZ29FRCxVQUFVO1F0QzNuRTdCLGNBQWlCLEVzQzJuRUUsVUFBVTtRdEN0bkU3QixhQUFnQixFc0NzbkVHLFVBQVU7UXRDam5FN0IsWUFBZSxFc0NpbkVJLFVBQVU7UXRDNW1FN0IsU0FBWSxFc0M0bUVPLFVBQVUsR0FpQjlCO1FBaFpQLEFBOEtNLGFBOUtPLENBb0dYLE9BQU8sQ0FzQkwsS0FBSyxDQW9ESCxNQUFNLENBbU5HO1VBQ0wsU0FBUyxFL0Vqb0VULFFBQXNCO1UrRWtvRXRCLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO1FBcllULEFBdVlRLGFBdllLLENBa1hULE9BQU8sQ0FVTCxLQUFLLEFBV0YsV0FBVyxFQXZZcEIsYUFBYSxDQWtYVCxPQUFPLENBVUwsS0FBSyxBQVlGLG1CQUFtQixDQUFDO1VoQjNuRTNCLE9BQU8sRWdCNG5FYyxJQUFJLEdBQ2xCO1FBMVlULEFBNFlRLGFBNVlLLENBa1hULE9BQU8sQ0FVTCxLQUFLLEFBZ0JGLGNBQWMsQ0FBQztVQUNkLE9BQU8sRUFBRSxDQUFDO1V0QzlvRVosaUJBQW9CLEVzQytvRUMsUUFBUTtVdEMxb0U3QixjQUFpQixFc0Mwb0VJLFFBQVE7VXRDcm9FN0IsYUFBZ0IsRXNDcW9FSyxRQUFRO1V0Q2hvRTdCLFlBQWUsRXNDZ29FTSxRQUFRO1V0QzNuRTdCLFNBQVksRXNDMm5FUyxRQUFRLEdBQzVCO01BL1lULEFBb1BNLGFBcFBPLENBb0dYLE9BQU8sQ0FtSUwsWUFBWSxBQWFULFdBQVcsQ0FnS0c7UUFDWCxLQUFLLEVBQUUsSUFBSSxHQUNaO01BdFpULEFBMFBNLGFBMVBPLENBb0dYLE9BQU8sQ0FtSUwsWUFBWSxBQW1CVCxXQUFXLENBOEpHO1FBQ1gsSUFBSSxFQUFFLElBQUksR0FDWDs7QUFPVCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLEtBQUs7RWhCeHBFakIsT0FBTyxFZ0J5cEVNLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQTJPM0I7RUFoUEQsQUFPRSxvQkFQa0IsQUFPakIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxhQUFhLEVBQUUsR0FBRztJcEN6cUVsQixNQUFNLEVvQzBxRVEsS0FBSztJcENscUVuQixLQUFLLEVvQ2txRVMsS0FBSztJQUNuQixPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVUsRUFBRSx1QkFBdUI7SXZDcnFFckMsUUFBUSxFdUNzcUVZLFFBQVE7SXZDbHFFeEIsR0FBVSxFdUNrcUVnQixHQUFHO0l2Q2xxRTdCLEtBQVUsRXVDa3FFb0IsR0FBRyxHQVNwQztJZDNtRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY3FsRXZDLEFBT0Usb0JBUGtCLEFBT2pCLE1BQU0sQ0FBQztRQVNKLEtBQUssRUFBRSxHQUFHLEdBTWI7SWQzbUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNxbEV2QyxBQU9FLG9CQVBrQixBQU9qQixNQUFNLENBQUM7UUFhSixPQUFPLEVBQUUsSUFBSSxHQUVoQjtFQXRCSCxBQXdCRSxvQkF4QmtCLENBd0JsQixTQUFTLENBQUM7SUFDUixLQUFLLEVON3JFVSxPQUFPLEdNOHJFdkI7RUExQkgsQUE0QkUsb0JBNUJrQixDQTRCbEIsT0FBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7SUFDVixhQUFhLEVBQUUsR0FBRztJcEM5ckVsQixNQUFNLEVvQytyRVEsSUFBSTtJcEN2ckVsQixLQUFLLEVvQ3VyRVMsSUFBSTtJQUNsQixVQUFVLEVBQUUseUJBQXlCO0l2Q3pyRXZDLFFBQVEsRXVDMHJFWSxRQUFRO0l2Q3RyRXhCLEdBQVUsRXVDc3JFZ0IsR0FBRztJdkN0ckU3QixLQUFVLEV1Q3NyRW9CLENBQUM7SXRDbnNFN0IsaUJBQW9CLEVzQ29zRUwsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Qy9yRWhELGNBQWlCLEVzQytyRUYsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0QzFyRWhELGFBQWdCLEVzQzByRUQsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q3JyRWhELFlBQWUsRXNDcXJFQSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SXRDaHJFaEQsU0FBWSxFc0NnckVHLGdCQUFnQixDQUFDLGdCQUFnQixHQWdCckQ7SWR2b0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNxbEV2QyxBQTRCRSxvQkE1QmtCLENBNEJsQixPQUFPLENBQUM7UXBDNXJFTixNQUFNLEVvQ3FzRVUsTUFBTTtRcEM3ckV0QixLQUFLLEVvQzZyRVcsTUFBTTtRQUNwQixVQUFVLEVBQUUseUJBQXlCO1F2Qy9yRXpDLFFBQVEsRXVDZ3NFYyxRQUFRO1F2QzVyRTFCLEdBQVUsRXVDNHJFa0IsR0FBRztRdkM1ckUvQixJQUFVLEV1QzRyRWdDLEdBQUc7UXRDenNFM0MsaUJBQW9CLEVzQzBzRUgsY0FBYyxDQUFDLGdCQUFnQjtRdENyc0VoRCxjQUFpQixFc0Nxc0VBLGNBQWMsQ0FBQyxnQkFBZ0I7UXRDaHNFaEQsYUFBZ0IsRXNDZ3NFQyxjQUFjLENBQUMsZ0JBQWdCO1F0QzNyRWhELFlBQWUsRXNDMnJFRSxjQUFjLENBQUMsZ0JBQWdCO1F0Q3RyRWhELFNBQVksRXNDc3JFSyxjQUFjLENBQUMsZ0JBQWdCLEdBVXJEO1FBbERILEFBMENNLG9CQTFDYyxDQTRCbEIsT0FBTyxBQWNGLE9BQU8sQ0FBQztVQUNQLE9BQU8sRUFBRSxFQUFFO1VBQ1gsYUFBYSxFQUFFLEdBQUc7VXBDNXNFdEIsTUFBTSxFb0M2c0VZLElBQUk7VXBDcnNFdEIsS0FBSyxFb0Nxc0VhLElBQUk7VUFDbEIsVUFBVSxFQUFFLHdCQUF3QjtVdkN2c0UxQyxRQUFRLEV1Q3dzRWdCLFFBQVE7VXZDcHNFNUIsR0FBVSxFdUNvc0VvQixHQUFHO1V2Q3BzRWpDLEtBQVUsRXVDb3NFd0IsR0FBRyxHQUNwQztFQWhEUCxBQW9ERSxvQkFwRGtCLENBb0RsQixVQUFVLENBQUM7SXBCL3JFWCxTQUFTLEVMZEMsS0FBSztJS2dCYixXQUFJLEVBQUUsSUFBSTtJQUNWLFlBQUssRUFBRSxJQUFJLEdvQjhzRVo7SUF0RUgsQTdDbnFFRSxvQjZDbXFFa0IsQ0FvRGxCLFVBQVUsQTdDdnRFVCxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY3FsRXhDLEFBb0RFLG9CQXBEa0IsQ0FvRGxCLFVBQVUsQ0FBQztRcEIvckVYLFNBQVMsRW9CbXNFb0IsS0FBSztRcEJqc0VoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjhzRVo7UUF0RUgsQTdDbnFFRSxvQjZDbXFFa0IsQ0FvRGxCLFVBQVUsQTdDdnRFVCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY3FsRXhDLEFBb0RFLG9CQXBEa0IsQ0FvRGxCLFVBQVUsQ0FBQztRcEIvckVYLFNBQVMsRW9CdXNFb0IsS0FBSztRcEJyc0VoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjhzRVo7UUF0RUgsQTdDbnFFRSxvQjZDbXFFa0IsQ0FvRGxCLFVBQVUsQTdDdnRFVCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY3FsRXZDLEFBb0RFLG9CQXBEa0IsQ0FvRGxCLFVBQVUsQ0FBQztRcEIvckVYLFNBQVMsRW9CMnNFb0IsS0FBSztRcEJ6c0VoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjhzRVo7UUF0RUgsQTdDbnFFRSxvQjZDbXFFa0IsQ0FvRGxCLFVBQVUsQTdDdnRFVCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY3FsRXZDLEFBb0RFLG9CQXBEa0IsQ0FvRGxCLFVBQVUsQ0FBQztRcEIvckVYLFNBQVMsRW9CK3NFb0IsSUFBSTtRcEI3c0UvQixXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjhzRVo7UUF0RUgsQTdDbnFFRSxvQjZDbXFFa0IsQ0FvRGxCLFVBQVUsQTdDdnRFVCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFNkMrcEVILEFBd0VFLG9CQXhFa0IsQ0F3RWxCLFdBQVcsQ0FBQztJdkNqdUVaLFFBQVEsRXVDa3VFWSxRQUFRO0l2Qzl0RXhCLEdBQVUsRXVDOHRFZ0IsQ0FBQztJdkM5dEUzQixLQUFVLEV1Qzh0RWtCLENBQUM7SXZDOXRFN0IsTUFBVSxFdUM4dEVvQixDQUFDO0l2Qzl0RS9CLElBQVUsRXVDOHRFc0IsQ0FBQztJcEN6dUVuQyxNQUFNLEVvQzB1RVEsSUFBSTtJcENsdUVsQixLQUFLLEVvQ2t1RVMsSUFBSTtJQUVsQixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxNQUFNLEdBZ0NqQjtJQTdHSCxBN0NucUVFLG9CNkNtcUVrQixDQXdFbEIsV0FBVyxBN0MzdUVWLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0k2QytwRUgsQUErRUksb0JBL0VnQixDQXdFbEIsV0FBVyxDQU9ULFFBQVE7SUEvRVosb0JBQW9CLENBd0VsQixXQUFXLENBUVQsVUFBVSxDQUFDO01BQ1QsS0FBSyxFQUFFLElBQUk7TUFDWCxRQUFRLEVBQUUsTUFBTTtNQUNoQixlQUFlLEVBQUUsS0FBSztNQUN0QixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLG1CQUFtQixFQUFFLE1BQU0sR0FDNUI7SUF0RkwsQUF3Rkksb0JBeEZnQixDQXdFbEIsV0FBVyxDQWdCVCxVQUFVLENBQUM7TXBDeHZFWCxNQUFNLEVvQ3l2RWMsSUFBSTtNcENqdkV4QixLQUFLLEVvQ2l2RVcsR0FBRyxHQUNsQjtJQTFGTCxBQTRGSSxvQkE1RmdCLENBd0VsQixXQUFXLENBb0JULFFBQVEsQ0FBQztNQUNQLE1BQU0sRUFBRSxLQUFLO010Qy92RVgsaUJBQW9CLEVzQ2d3RUgsVUFBVTtNdEMzdkUzQixjQUFpQixFc0MydkVBLFVBQVU7TXRDdHZFM0IsYUFBZ0IsRXNDc3ZFQyxVQUFVO010Q2p2RTNCLFlBQWUsRXNDaXZFRSxVQUFVO010QzV1RTNCLFNBQVksRXNDNHVFSyxVQUFVO010Q2h3RTNCLGNBQW9CLEVzQ2l3RU4sVUFBVTtNdEM3dUV4QixNQUFZLEVzQzZ1RUUsVUFBVTtNcEMvdkU1QixNQUFNLEVvQ2d3RTRCLGtCQUFrQjtNcEN4dkVwRCxLQUFLLEVvQ3d2RVcsaUJBQWlCLEdBQ2hDO0lkdHJFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jcWxFdkMsQUE0Rkksb0JBNUZnQixDQXdFbEIsV0FBVyxDQW9CVCxRQUFRLENBU0c7UUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkO01BdkdQLEFBd0ZJLG9CQXhGZ0IsQ0F3RWxCLFdBQVcsQ0FnQlQsVUFBVSxDQWlCRztRQUNULEtBQUssRUFBRSxJQUFJLEdBQ1o7RUEzR1AsQUErR0Usb0JBL0drQixDQStHbEIsUUFBUSxDQUFDO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SW5CMXRFbEIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUJtNEU1QztJQWxPSCxBbkJybEVNLG9CbUJxbEVjLENBK0dsQixRQUFRLEFuQnBzRUgsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0ltQm1sRVAsQUFtSEksb0JBbkhnQixDQStHbEIsUUFBUSxDQUlOLEtBQUssQ0FBQztNQUNKLFNBQVMsRTlFbHhFTCxRQUF1QjtNOEVteEUzQixXQUFXLEVBQUUsR0FBRztNQUNoQixLQUFLLEVOcnhFQyxJQUFJO01Nc3hFVixjQUFjLEVBQUUsT0FBTztNQUN2QixXQUFXLEVBQUUsSUFBSTtNQUNqQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtJQTFITCxBQTRISSxvQkE1SGdCLENBK0dsQixRQUFRLENBYU4sTUFBTSxDQUFDO01BQ0wsU0FBUyxFOUUzeEVMLFNBQXVCO004RTR4RTNCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxPQUFPO01BQ3ZCLGNBQWMsRUFBRSxVQUFVO01BQzFCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBbklMLEFBcUlJLG9CQXJJZ0IsQ0ErR2xCLFFBQVEsQ0FzQk4sQ0FBQyxDQUFDO01BQ0EsU0FBUyxFOUVweUVMLFFBQXVCO004RXF5RTNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxPQUFPO01BQ3ZCLE1BQU0sRUFBRSxDQUFDO01BQ1QsS0FBSyxFTjl5RWEsT0FBTyxHTSt5RTFCO0lBNUlMLEFBOElJLG9CQTlJZ0IsQ0ErR2xCLFFBQVEsQ0ErQk4sZUFBZSxDQUFDO01BQ2QsU0FBUyxFOUU3eUVMLFFBQXVCO004RTh5RTNCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLGNBQWMsRU5wdkVILE1BQU07TU1xdkVqQixVQUFVLEVBQUUsSUFBSTtNQUNoQixhQUFhLEVBQUUsR0FBRztNQUNsQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtJQXJKTCxBQXVKSSxvQkF2SmdCLENBK0dsQixRQUFRLENBd0NOLGVBQWUsQ0FBQztNQUNkLGFBQWEsRUFBRSxLQUFLLEdBa0JyQjtNQTFLTCxBQTBKTSxvQkExSmMsQ0ErR2xCLFFBQVEsQ0F3Q04sZUFBZSxDQUdiLEdBQUcsQ0FBQztRQUNGLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO01BN0pQLEFBaUtRLG9CQWpLWSxDQStHbEIsUUFBUSxDQXdDTixlQUFlLEFBUVosVUFBVSxDQUVULGNBQWMsQ0FBQztRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLElBQUksR0FDakI7TWR6dkVMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWNxbEV2QyxBQXVKSSxvQkF2SmdCLENBK0dsQixRQUFRLENBd0NOLGVBQWUsQ0FBQztVQWlCWixNQUFNLEVBQUUsQ0FBQyxHQUVaO0lBMUtMLEFBNEtJLG9CQTVLZ0IsQ0ErR2xCLFFBQVEsQ0E2RE4sY0FBYyxDQUFDO01BQ2IsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLE1BQU07TUFDdEIsVUFBVSxFQUFFLE1BQU07TUFDbEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsVUFBVSxFQUFFLElBQUksR0FDakI7SUFsTEwsQUFvTEksb0JBcExnQixDQStHbEIsUUFBUSxDQXFFTixtQkFBbUIsQ0FBQztNQUNsQixTQUFTLEU5RW4xRUwsUUFBdUI7TThFbzFFM0IsY0FBYyxFQUFFLFNBQVM7TUFDekIsY0FBYyxFTjF4RUgsTUFBTSxHTTJ4RWxCO0lkN3dFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jcWxFeEMsQUErR0Usb0JBL0drQixDQStHbEIsUUFBUSxDQUFDO1FuQnp0RVAsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKcEVoQixRQUFzQztRSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUJtNEU1QztRQWxPSCxBbkJybEVNLG9CbUJxbEVjLENBK0dsQixRQUFRLEFuQnBzRUgsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY3FsRXhDLEFBNEhJLG9CQTVIZ0IsQ0ErR2xCLFFBQVEsQ0FhTixNQUFNLENBb0VHO1FBQ0wsU0FBUyxFOUUvMUVQLE9BQXVCLEc4RWcyRTFCO0lkdnhFSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jcWxFdkMsQUE0SEksb0JBNUhnQixDQStHbEIsUUFBUSxDQWFOLE1BQU0sQ0EyRUc7UUFDTCxTQUFTLEU5RXQyRVAsUUFBdUIsRzhFdTJFMUI7SWQ5eEVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNxbEV2QyxBQStHRSxvQkEvR2tCLENBK0dsQixRQUFRLENBQUM7UUE4RkwsS0FBSyxFQUFFLElBQUksR0FxQmQ7UUFsT0gsQUFtSEksb0JBbkhnQixDQStHbEIsUUFBUSxDQUlOLEtBQUssQ0E0Rkc7VUFDSixTQUFTLEUvRWgzRVAsUUFBc0I7VStFaTNFeEIsY0FBYyxFQUFFLE9BQU87VUFDdkIsV0FBVyxFQUFFLElBQUk7VUFDakIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7UUFwTlAsQUFxSUksb0JBcklnQixDQStHbEIsUUFBUSxDQXNCTixDQUFDLENBaUZHO1VBQ0EsVUFBVSxFQUFFLEdBQUcsR0FDaEI7UUF4TlAsQUE0SEksb0JBNUhnQixDQStHbEIsUUFBUSxDQWFOLE1BQU0sQ0E4Rkc7VUFDTCxTQUFTLEUvRTMzRVAsT0FBc0I7VStFNDNFeEIsV0FBVyxFQUFFLElBQUk7VUFDakIsY0FBYyxFQUFFLE9BQU87VUFDdkIsYUFBYSxFQUFFLENBQUM7VUFDaEIsU0FBUyxFQUFFLEtBQUssR0FDakI7RWRyekVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWNxbEV4QyxBQUFBLG9CQUFvQixDQUFDO01BcU9qQixVQUFVLEVBQUUsT0FBTyxHQVd0QjtFZHIwRUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY3FsRXZDLEFBQUEsb0JBQW9CLENBQUM7TWhCcHBFbkIsT0FBTyxFZ0I2M0VRLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQU8vQjtNQWhQRCxBQXdCRSxvQkF4QmtCLENBd0JsQixTQUFTLENBbU5HO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLElBQUksR0FDVjs7QUFLTCxBQUFBLG1CQUFtQixDQUFDO0VoQnY0RWxCLE9BQU8sRWdCdzRFTSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7RUFDeEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLENBQUMsR0FnU1g7RWQ3bUZHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWN3MEV2QyxBQUFBLG1CQUFtQixDQUFDO01BUWhCLFVBQVUsRUFBRSxPQUFPO01oQi80RXJCLE9BQU8sRWdCZzVFUSxJQUFJLENBQUMsSUFBSSxHQTRSekI7TUFyU0QsQUFXSSxtQkFYZSxDQVdmLFNBQVMsQ0FBQztRQUNSLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBYkwsQUFnQkUsbUJBaEJpQixDQWdCakIsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsV0FBVyxFQUFFLElBQUk7SXBCaDVFbkIsU0FBUyxFTGRDLEtBQUs7SUtnQmIsV0FBSSxFQUFFLElBQUk7SUFDVixZQUFLLEVBQUUsSUFBSSxHb0JnNkVaO0lBckNILEE3Q3Q1RUUsbUI2Q3M1RWlCLENBZ0JqQixVQUFVLEE3Q3Q2RVQsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWN3MEV4QyxBQWdCRSxtQkFoQmlCLENBZ0JqQixVQUFVLENBQUM7UXBCOTRFWCxTQUFTLEVvQm81RW9CLEtBQUs7UXBCbDVFaEMsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHb0JnNkVaO1FBckNILEE3Q3Q1RUUsbUI2Q3M1RWlCLENBZ0JqQixVQUFVLEE3Q3Q2RVQsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWN3MEV4QyxBQWdCRSxtQkFoQmlCLENBZ0JqQixVQUFVLENBQUM7UXBCOTRFWCxTQUFTLEVvQnc1RW9CLEtBQUs7UXBCdDVFaEMsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHb0JnNkVaO1FBckNILEE3Q3Q1RUUsbUI2Q3M1RWlCLENBZ0JqQixVQUFVLEE3Q3Q2RVQsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWN3MEV2QyxBQWdCRSxtQkFoQmlCLENBZ0JqQixVQUFVLENBQUM7UXBCOTRFWCxTQUFTLEVvQjQ1RW9CLEtBQUs7UXBCMTVFaEMsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHb0JnNkVaO1FBckNILEE3Q3Q1RUUsbUI2Q3M1RWlCLENBZ0JqQixVQUFVLEE3Q3Q2RVQsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWN3MEV2QyxBQWdCRSxtQkFoQmlCLENBZ0JqQixVQUFVLENBQUM7UUFrQlAsV0FBVyxFQUFFLENBQUM7UXBCaDZFbEIsU0FBUyxFb0JpNkVvQixJQUFJO1FwQi81RS9CLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksR29CZzZFWjtRQXJDSCxBN0N0NUVFLG1CNkNzNUVpQixDQWdCakIsVUFBVSxBN0N0NkVULE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0U2Q2s1RUgsQUF1Q0UsbUJBdkNpQixDQXVDakIsUUFBUSxDQUFDO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SW5CcjRFbEIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUJrZ0Y1QztJQTlHSCxBbkJ4MEVNLG1CbUJ3MEVhLENBdUNqQixRQUFRLEFuQi8yRUgsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0ltQnMwRVAsQUEyQ0ksbUJBM0NlLENBdUNqQixRQUFRLENBSU4sS0FBSyxDQUFDO01BQ0osU0FBUyxFOUU3N0VMLFNBQXVCO004RTg3RTNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRU5oOEVDLElBQUk7TU1pOEVWLGNBQWMsRUFBRSxTQUFTO01BQ3pCLGNBQWMsRUFBRSxPQUFPO01BQ3ZCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBbkRMLEFBcURJLG1CQXJEZSxDQXVDakIsUUFBUSxDQWNOLE1BQU0sQ0FBQztNQUNMLFNBQVMsRTlFdjhFTCxTQUF1QjtNOEV3OEUzQixXQUFXLEVBQUUsSUFBSTtNQUNqQixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsT0FBTztNQUN2QixhQUFhLEVBQUUsSUFBSTtNQUNuQixVQUFVLEVBQUUsS0FBSyxHQUNsQjtJQTVETCxBQThESSxtQkE5RGUsQ0F1Q2pCLFFBQVEsQ0F1Qk4sQ0FBQyxDQUFDO01BQ0EsU0FBUyxFOUVoOUVMLFFBQXVCO004RWk5RTNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGNBQWMsRUFBRSxPQUFPO01BQ3ZCLEtBQUssRU56OUVhLE9BQU8sR004OUUxQjtNQXhFTCxBQXFFTSxtQkFyRWEsQ0F1Q2pCLFFBQVEsQ0F1Qk4sQ0FBQyxBQU9FLGFBQWEsQ0FBQztRQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lkLzRFSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jdzBFeEMsQUF1Q0UsbUJBdkNpQixDQXVDakIsUUFBUSxDQUFDO1FuQnA0RVAsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKcEVoQixRQUFzQztRSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUJrZ0Y1QztRQTlHSCxBbkJ4MEVNLG1CbUJ3MEVhLENBdUNqQixRQUFRLEFuQi8yRUgsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY3cwRXhDLEFBcURJLG1CQXJEZSxDQXVDakIsUUFBUSxDQWNOLE1BQU0sQ0EyQkc7UUFDTCxTQUFTLEU5RWwrRVAsU0FBdUI7UThFbStFekIsVUFBVSxFQUFFLE9BQU8sR0FDcEI7SWQzNUVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWN3MEV2QyxBQXVDRSxtQkF2Q2lCLENBdUNqQixRQUFRLENBQUM7UUFnREwsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsS0FBSyxHQXNCcEI7UUE5R0gsQUEyQ0ksbUJBM0NlLENBdUNqQixRQUFRLENBSU4sS0FBSyxDQStDRztVQUNKLFNBQVMsRS9FOStFUCxRQUFzQjtVK0UrK0V4QixjQUFjLEVBQUUsT0FBTztVQUN2QixXQUFXLEVBQUUsSUFBSTtVQUNqQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtRQS9GUCxBQXFESSxtQkFyRGUsQ0F1Q2pCLFFBQVEsQ0FjTixNQUFNLENBNENHO1VBQ0wsU0FBUyxFL0VyL0VQLE9BQXNCO1UrRXMvRXhCLFdBQVcsRUFBRSxJQUFJO1VBQ2pCLGNBQWMsRUFBRSxPQUFPO1VBQ3ZCLGFBQWEsRUFBRSxJQUFJO1VBQ25CLFVBQVUsRUFBRSxPQUFPO1VBQ25CLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO1FBeEdQLEFBOERJLG1CQTlEZSxDQXVDakIsUUFBUSxDQXVCTixDQUFDLENBNENHO1VBQ0EsS0FBSyxFQUFFLEdBQUcsR0FDWDtFQTVHUCxBQWtISSxtQkFsSGUsQUFnSGhCLGVBQWUsQUFFYixPQUFPLEVBbEhaLG1CQUFtQixBQWdIaEIsZUFBZSxBQUdiLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQXZITCxBQXlISSxtQkF6SGUsQUFnSGhCLGVBQWUsQUFTYixPQUFPLENBQUM7SXBDNWdGVCxNQUFNLEVvQzZnRlUsSUFBSTtJcENyZ0ZwQixLQUFLLEVvQ3FnRlcsSUFBSTtJQUNsQixVQUFVLEVBQUUsd0JBQXdCO0l2Q3ZnRnhDLFFBQVEsRXVDd2dGYyxRQUFRO0l2Q3BnRjFCLEdBQVUsRXVDb2dGa0IsR0FBRztJdkNwZ0YvQixLQUFVLEV1Q29nRnNCLENBQUM7SXRDamhGL0IsaUJBQW9CLEVzQ2toRkgsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0QzdnRmxELGNBQWlCLEVzQzZnRkEsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q3hnRmxELGFBQWdCLEVzQ3dnRkMsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q25nRmxELFlBQWUsRXNDbWdGRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SXRDOS9FbEQsU0FBWSxFc0M4L0VLLGdCQUFnQixDQUFDLGdCQUFnQixHQUNyRDtFQTlITCxBQWdJSSxtQkFoSWUsQUFnSGhCLGVBQWUsQUFnQmIsTUFBTSxDQUFDO0lwQ25oRlIsTUFBTSxFb0NvaEZVLEtBQUs7SXBDNWdGckIsS0FBSyxFb0M0Z0ZXLEtBQUs7SUFDbkIsVUFBVSxFQUFFLHdCQUF3QjtJdkM5Z0Z4QyxRQUFRLEV1QytnRmMsUUFBUTtJdkMzZ0YxQixHQUFVLEV1QzJnRmtCLEdBQUc7SXZDM2dGL0IsS0FBVSxFdUMyZ0ZzQixHQUFHLEdBQ3BDO0VkNThFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljdzBFdkMsQUF5SEksbUJBekhlLEFBZ0hoQixlQUFlLEFBU2IsT0FBTyxDQWVHO01wQzNoRlgsTUFBTSxFb0M0aEZZLEtBQUs7TXBDcGhGdkIsS0FBSyxFb0NvaEZhLEtBQUs7TXZDcmhGekIsUUFBUSxFdUNzaEZnQixRQUFRO012Q2xoRjVCLEdBQVUsRXVDa2hGb0IsR0FBRztNdkNsaEZqQyxLQUFVLEV1Q2toRnlCLElBQUc7TXRDL2hGcEMsaUJBQW9CLEVzQ2dpRkQsYUFBYSxDQUFDLGFBQWE7TXRDM2hGOUMsY0FBaUIsRXNDMmhGRSxhQUFhLENBQUMsYUFBYTtNdEN0aEY5QyxhQUFnQixFc0NzaEZHLGFBQWEsQ0FBQyxhQUFhO010Q2poRjlDLFlBQWUsRXNDaWhGSSxhQUFhLENBQUMsYUFBYTtNdEM1Z0Y5QyxTQUFZLEVzQzRnRk8sYUFBYSxDQUFDLGFBQWEsR0FDL0M7SUE1SVAsQUFnSUksbUJBaEllLEFBZ0hoQixlQUFlLEFBZ0JiLE1BQU0sQ0FjRztNQUNOLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFoSlAsQUFtSkksbUJBbkplLEFBZ0hoQixlQUFlLENBbUNkLFdBQVcsQ0FBQztJdkMvaEZkLFFBQVEsRXVDZ2lGYyxRQUFRO0l2QzVoRjFCLEdBQVUsRXVDNGhGa0IsQ0FBQztJdkM1aEY3QixLQUFVLEV1QzRoRm9CLENBQUM7SXZDNWhGL0IsTUFBVSxFdUM0aEZzQixDQUFDO0l2QzVoRmpDLElBQVUsRXVDNGhGd0IsQ0FBQztJcEN2aUZyQyxNQUFNLEVvQ3dpRlUsSUFBSTtJcENoaUZwQixLQUFLLEVvQ2dpRlcsSUFBSTtJQUVsQixPQUFPLEVBQUUsRUFBRSxHQWlDWjtJQXhMTCxBN0N0NUVFLG1CNkNzNUVpQixBQWdIaEIsZUFBZSxDQW1DZCxXQUFXLEE3Q3ppRlosT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7STZDazVFSCxBQXlKTSxtQkF6SmEsQUFnSGhCLGVBQWUsQ0FtQ2QsV0FBVyxDQU1ULFFBQVE7SUF6SmQsbUJBQW1CLEFBZ0hoQixlQUFlLENBbUNkLFdBQVcsQ0FPVCxVQUFVLENBQUM7TUFDVCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsZUFBZSxFQUFFLEtBQUs7TUFDdEIsaUJBQWlCLEVBQUUsU0FBUztNQUM1QixtQkFBbUIsRUFBRSxNQUFNLEdBQzVCO0lBaEtQLEFBa0tNLG1CQWxLYSxBQWdIaEIsZUFBZSxDQW1DZCxXQUFXLENBZVQsVUFBVSxDQUFDO01wQ3JqRmIsTUFBTSxFb0NzakZnQixJQUFJO01wQzlpRjFCLEtBQUssRW9DOGlGYSxHQUFHLEdBQ2xCO0lBcEtQLEFBc0tNLG1CQXRLYSxBQWdIaEIsZUFBZSxDQW1DZCxXQUFXLENBbUJULFFBQVEsQ0FBQztNQUNQLE1BQU0sRUFBRSxLQUFLO010QzVqRmIsaUJBQW9CLEVzQzZqRkQsVUFBVTtNdEN4akY3QixjQUFpQixFc0N3akZFLFVBQVU7TXRDbmpGN0IsYUFBZ0IsRXNDbWpGRyxVQUFVO010QzlpRjdCLFlBQWUsRXNDOGlGSSxVQUFVO010Q3ppRjdCLFNBQVksRXNDeWlGTyxVQUFVO010QzdqRjdCLGNBQW9CLEVzQzhqRkosVUFBVTtNdEMxaUYxQixNQUFZLEVzQzBpRkksVUFBVTtNcEM1akY5QixNQUFNLEVvQzZqRjhCLGtCQUFrQjtNcENyakZ0RCxLQUFLLEVvQ3FqRmEsaUJBQWlCO01BQy9CLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0lkcC9FSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jdzBFdkMsQUFzS00sbUJBdEthLEFBZ0hoQixlQUFlLENBbUNkLFdBQVcsQ0FtQlQsUUFBUSxDQVVHO1FBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDtNQWxMVCxBQWtLTSxtQkFsS2EsQUFnSGhCLGVBQWUsQ0FtQ2QsV0FBVyxDQWVULFVBQVUsQ0FrQkc7UUFDVCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBdExULEFBMkxFLG1CQTNMaUIsQUEyTGhCLFdBQVcsQ0FBQztJQUNYLFVBQVUsRU5qakZTLE9BQU8sR015cEYzQjtJQXBTSCxBQThMSSxtQkE5TGUsQUEyTGhCLFdBQVcsQUFHVCxPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsYUFBYSxFQUFFLEdBQUc7TXBDcGxGcEIsTUFBTSxFb0NxbEZVLEtBQUs7TXBDN2tGckIsS0FBSyxFb0M2a0ZXLEtBQUs7TUFDbkIsVUFBVSxFQUFFLHdCQUF3QjtNdkMva0Z4QyxRQUFRLEV1Q2dsRmMsUUFBUTtNdkM1a0YxQixLQUFVLEV1QzRrRndCLE1BQUs7TXZDNWtGdkMsTUFBVSxFdUM0a0YrQixNQUFLLEdBQy9DO0lBck1MLEE3Q3Q1RUUsbUI2Q3M1RWlCLEFBMkxoQixXQUFXLENBWVYsUUFBUSxBN0M3bEZULE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0k2Q2s1RUgsQUEwTU0sbUJBMU1hLEFBMkxoQixXQUFXLENBWVYsUUFBUSxBQUdMLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxhQUFhLEVBQUUsR0FBRztNcENobUZ0QixNQUFNLEVvQ2ltRlksS0FBSztNcEN6bEZ2QixLQUFLLEVvQ3lsRmEsS0FBSztNQUNuQixVQUFVLEVBQUUseUJBQXlCO012QzNsRjNDLFFBQVEsRXVDNGxGZ0IsUUFBUTtNdkN4bEY1QixHQUFVLEV1Q3dsRnFCLE1BQUs7TXZDeGxGcEMsSUFBVSxFdUN3bEZxQyxHQUFHLEdBQ2pEO0lBak5QLEFBb05JLG1CQXBOZSxBQTJMaEIsV0FBVyxDQXlCVixNQUFNLENBQUM7TUFDTCxLQUFLLEVBQUUsS0FBSztNQUNaLE1BQU0sRUFBRSxLQUFLO01BQ2IsS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsVUFBVSxHQVVuQjtNQWxPTCxBQTZOTSxtQkE3TmEsQUEyTGhCLFdBQVcsQ0F5QlYsTUFBTSxDQVNKLEdBQUcsQ0FBQztRQUNGLE1BQU0sRUFBRSxJQUFJO1FBQ1osTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsS0FBSyxHQUNmO0lkemlGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jdzBFeEMsQUFvTkksbUJBcE5lLEFBMkxoQixXQUFXLENBeUJWLE1BQU0sQ0FrQkc7UUFDTCxRQUFRLEVBQUUsUUFBUTtRQUNsQixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxLQUFLO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFLENBQUMsR0FTVjtRQXBQUCxBN0N0NUVFLG1CNkNzNUVpQixBQTJMaEIsV0FBVyxDQTJDUixNQUFNLEE3QzVuRlQsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7UTZDazVFSCxBQTZOTSxtQkE3TmEsQUEyTGhCLFdBQVcsQ0F5QlYsTUFBTSxDQVNKLEdBQUcsQ0FpQkc7VUFDRixLQUFLLEVBQUUsR0FBRztVQUNWLE1BQU0sRUFBRSxJQUFJO1V2QzVuRnBCLFFBQVEsRXVDNm5Ga0IsUUFBUTtVdkN6bkY5QixHQUFVLEV1Q3luRnNCLEdBQUc7VXZDem5GbkMsS0FBVSxFdUN5bkYwQixDQUFDO1V2Q3puRnJDLElBQVUsRXVDeW5GaUMsQ0FBQztVdEN0b0YxQyxpQkFBb0IsRXNDdW9GQyxnQkFBZ0I7VXRDbG9GckMsY0FBaUIsRXNDa29GSSxnQkFBZ0I7VXRDN25GckMsYUFBZ0IsRXNDNm5GSyxnQkFBZ0I7VXRDeG5GckMsWUFBZSxFc0N3bkZNLGdCQUFnQjtVdENubkZyQyxTQUFZLEVzQ21uRlMsZ0JBQWdCLEdBQ3BDO0lkM2pGTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01jdzBFdkMsQUE4TEksbUJBOUxlLEFBMkxoQixXQUFXLEFBR1QsT0FBTyxDQTJERztRcEM1b0ZYLE1BQU0sRW9DNm9GWSxLQUFLO1FwQ3JvRnZCLEtBQUssRW9DcW9GYSxLQUFLO1FBQ25CLFVBQVUsRUFBRSx3QkFBd0I7UXZDdm9GMUMsUUFBUSxFdUN3b0ZnQixRQUFRO1F2Q3BvRjVCLEtBQVUsRXVDb29GeUIsT0FBTztRdkNwb0YxQyxNQUFVLEV1Q29vRmtDLE1BQUs7UXZDcG9GakQsSUFBVSxFdUNvb0Z5QyxLQUFJLEdBQ3REO01BN1BQLEFBME1NLG1CQTFNYSxBQTJMaEIsV0FBVyxDQVlWLFFBQVEsQUFHTCxPQUFPLENBcURRO1FwQ2xwRmxCLE1BQU0sRW9DbXBGWSxLQUFLO1FwQzNvRnZCLEtBQUssRW9DMm9GYSxLQUFLO1FBQ25CLFVBQVUsRUFBRSx3QkFBd0I7UXZDN29GMUMsUUFBUSxFdUM4b0ZnQixRQUFRO1F2QzFvRjVCLEdBQVUsRXVDMG9GcUIsTUFBSztRdkMxb0ZwQyxLQUFVLEV1QzBvRjRCLEtBQUksR0FDekM7TUFuUVAsQUFvTkksbUJBcE5lLEFBMkxoQixXQUFXLENBeUJWLE1BQU0sQ0FpREc7UUFDTCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxHQUFHO1FBQ1YsTUFBTSxFQUFFLElBQUk7UUFDWixNQUFNLEVBQUUsY0FBYztRQUN0QixVQUFVLEVBQUUsTUFBTTtRdkN0cEZ4QixRQUFRLEV1Q3VwRmdCLFFBQVE7UXZDbnBGNUIsR0FBVSxFdUNtcEZvQixPQUFPO1F2Q25wRnJDLEtBQVUsRXVDbXBGb0IsT0FBTztRdkNucEZyQyxNQUFVLEV1Q21wRm9CLE9BQU87UXZDbnBGckMsSUFBVSxFdUNtcEZvQixPQUFPLEdBU3BDO1FBcFJQLEFBNk5NLG1CQTdOYSxBQTJMaEIsV0FBVyxDQXlCVixNQUFNLENBU0osR0FBRyxDQWdERztVQUNGLEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFQUFFLEtBQUs7VUFDaEIsTUFBTSxFQUFFLE1BQU07VXZDNXBGdEIsUUFBUSxFdUM2cEZrQixRQUFRO1V2Q3pwRjlCLEdBQVUsRXVDeXBGc0IsT0FBTztVdkN6cEZ2QyxLQUFVLEV1Q3lwRnNCLE9BQU87VXZDenBGdkMsTUFBVSxFdUN5cEZzQixPQUFPO1V2Q3pwRnZDLElBQVUsRXVDeXBGc0IsT0FBTztVdEN0cUZyQyxpQkFBb0IsRXNDdXFGQyxjQUFjO1V0Q2xxRm5DLGNBQWlCLEVzQ2txRkksY0FBYztVdEM3cEZuQyxhQUFnQixFc0M2cEZLLGNBQWM7VXRDeHBGbkMsWUFBZSxFc0N3cEZNLGNBQWM7VXRDbnBGbkMsU0FBWSxFc0NtcEZTLGNBQWMsR0FDbEM7TUFuUlQsQUFzUk0sbUJBdFJhLEFBMkxoQixXQUFXLENBMkZSLFFBQVEsQ0FBQztRQUNQLFVBQVUsRUFBRSxDQUFDO1FBQ2IsS0FBSyxFQUFFLElBQUksR0FVWjtRQWxTUCxBQTBSUSxtQkExUlcsQUEyTGhCLFdBQVcsQ0EyRlIsUUFBUSxDQUlOLE1BQU0sQ0FBQztVQUNMLGFBQWEsRUFBRSxHQUFHO1VBQ2xCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO1FBN1JULEFBK1JRLG1CQS9SVyxBQTJMaEIsV0FBVyxDQTJGUixRQUFRLENBU04sQ0FBQyxDQUFDO1VBQ0EsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFPVCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsUUFBUSxFQUFFLE1BQU07RWhCbnJGaEIsT0FBTyxFZ0JvckZNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQWtJekI7RUF2SUQsQUFPRSwyQkFQeUIsQUFPeEIsT0FBTyxFQVBWLDJCQUEyQixBQVF4QixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1YsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUFaSCxBQWNFLDJCQWR5QixBQWN4QixPQUFPLENBQUM7SXBDenNGUCxNQUFNLEVvQzBzRlEsSUFBSTtJcENsc0ZsQixLQUFLLEVvQ2tzRlMsSUFBSTtJQUNsQixVQUFVLEVBQUUsd0JBQXdCO0l2Q3BzRnRDLFFBQVEsRXVDcXNGWSxRQUFRO0l2Q2pzRnhCLEdBQVUsRXVDaXNGZ0IsR0FBRztJdkNqc0Y3QixLQUFVLEV1Q2lzRm9CLENBQUM7SXRDOXNGN0IsaUJBQW9CLEVzQytzRkwsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0QzFzRmhELGNBQWlCLEVzQzBzRkYsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q3JzRmhELGFBQWdCLEVzQ3FzRkQsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q2hzRmhELFlBQWUsRXNDZ3NGQSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SXRDM3JGaEQsU0FBWSxFc0MyckZHLGdCQUFnQixDQUFDLGdCQUFnQixHQUNyRDtFQW5CSCxBQXFCRSwyQkFyQnlCLEFBcUJ4QixNQUFNLENBQUM7SXBDaHRGTixNQUFNLEVvQ2l0RlEsS0FBSztJcEN6c0ZuQixLQUFLLEVvQ3lzRlMsS0FBSztJQUNuQixVQUFVLEVBQUUsdUJBQXVCO0l2QzNzRnJDLFFBQVEsRXVDNHNGWSxRQUFRO0l2Q3hzRnhCLEtBQVUsRXVDd3NGcUIsR0FBRztJdkN4c0ZsQyxNQUFVLEV1Q3dzRjBCLE1BQUssR0FDNUM7RUF6QkgsQUEyQkUsMkJBM0J5QixDQTJCekIsV0FBVyxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFFLE1BQU07SXZDanRGbEIsUUFBUSxFdUNrdEZZLFFBQVE7SXZDOXNGeEIsR0FBVSxFdUM4c0ZnQixDQUFDO0l2QzlzRjNCLElBQVUsRXVDOHNGNEIsQ0FBQztJcEN6dEZ6QyxNQUFNLEVvQzB0RlEsSUFBSTtJcENsdEZsQixLQUFLLEVvQ2t0RlMsSUFBSTtJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxFQUFFLEdBV1o7SUE1Q0gsQUFtQ0ksMkJBbkN1QixDQTJCekIsV0FBVyxDQVFULE1BQU0sQ0FBQztNQUNMLE1BQU0sRUFBRSxJQUFJO01BQ1osaUJBQWlCLEVBQUUsU0FBUztNQUM1QixtQkFBbUIsRUFBRSxNQUFNO01BQzNCLGVBQWUsRUFBRSxLQUFLO010Q3B1RnBCLGNBQW9CLEVzQ3F1Rk4sU0FBUztNdENqdEZ2QixNQUFZLEVzQ2l0RkUsU0FBUztNdkM1dEY3QixRQUFRLEV1QzZ0RmMsUUFBUTtNdkN6dEYxQixHQUFVLEV1Q3l0RmtCLENBQUM7TXZDenRGN0IsSUFBVSxFdUN5dEY4QixDQUFDO01wQ3B1RjNDLE1BQU0sRW9DcXVGVSxpQkFBaUI7TXBDN3RGakMsS0FBSyxFb0M2dEZXLGlCQUFpQixHQUNoQztFQTNDTCxBQThDRSwyQkE5Q3lCLENBOEN6QixRQUFRLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNWLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0luQnRyRmpCLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VCdXhGNUM7SUEzRkgsQW5CaG5GTSwyQm1CZ25GcUIsQ0E4Q3pCLFFBQVEsQW5COXBGSCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SW1COG1GUCxBQW9ESSwyQkFwRHVCLENBOEN6QixRQUFRLENBTU4sVUFBVSxDQUFDO01uQnpyRlgsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUJnd0YxQztNQXBFTCxBbkJobkZNLDJCbUJnbkZxQixDQThDekIsUUFBUSxDQU1OLFVBQVUsQW5CcHFGUCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TW1COG1GUCxBQXVETSwyQkF2RHFCLENBOEN6QixRQUFRLENBTU4sVUFBVSxDQUdSLEVBQUUsQ0FBQztRQUNELFNBQVMsRS9FbnZGUCxRQUFzQjtRK0VvdkZ4QixXQUFXLEVBQUUsR0FBRztRQUNoQixjQUFjLEVBQUUsT0FBTztRQUN2QixNQUFNLEVBQUUsUUFBUSxHQUNqQjtNQTVEUCxBQThETSwyQkE5RHFCLENBOEN6QixRQUFRLENBTU4sVUFBVSxDQVVSLEtBQUssQ0FBQztRQUNKLFNBQVMsRS9FMXZGUCxPQUFzQjtRK0UydkZ4QixLQUFLLEVOOXZGVyxPQUFPO1FNK3ZGdkIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsV0FBVyxFQUFFLElBQUksR0FDbEI7SUFuRVAsQUFzRUksMkJBdEV1QixDQThDekIsUUFBUSxDQXdCTixVQUFVLENBQUM7TXZDMXZGYixRQUFRLEV1QzJ2RmMsUUFBUTtNdkN2dkYxQixHQUFVLEV1Q3V2RmtCLEdBQUc7TXZDdnZGL0IsS0FBVSxFdUN1dkZzQixJQUFJO010Q3B3RmxDLGlCQUFvQixFc0Nxd0ZILGdCQUFnQjtNdENod0ZqQyxjQUFpQixFc0Nnd0ZBLGdCQUFnQjtNdEMzdkZqQyxhQUFnQixFc0MydkZDLGdCQUFnQjtNdEN0dkZqQyxZQUFlLEVzQ3N2RkUsZ0JBQWdCO010Q2p2RmpDLFNBQVksRXNDaXZGSyxnQkFBZ0I7TXBDbndGckMsTUFBTSxFb0Nvd0ZVLEtBQUs7TXBDNXZGckIsS0FBSyxFb0M0dkZXLEtBQUs7TUFDbkIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsVUFBVSxFTnZ2RlIsSUFBSTtNTXd2Rk4sUUFBUSxFQUFFLE1BQU0sR0FjakI7TUExRkwsQUE4RU0sMkJBOUVxQixDQThDekIsUUFBUSxDQXdCTixVQUFVLENBUVIsR0FBRyxDQUFDO1FBQ0YsS0FBSyxFQUFFLEdBQUc7UUFDVixNQUFNLEVBQUUsSUFBSTtRQUNaLE1BQU0sRUFBRSxJQUFJO1F0Qzl3RlosaUJBQW9CLEVzQyt3RkQsZ0JBQWdCO1F0QzF3Rm5DLGNBQWlCLEVzQzB3RkUsZ0JBQWdCO1F0Q3J3Rm5DLGFBQWdCLEVzQ3F3RkcsZ0JBQWdCO1F0Q2h3Rm5DLFlBQWUsRXNDZ3dGSSxnQkFBZ0I7UXRDM3ZGbkMsU0FBWSxFc0MydkZPLGdCQUFnQjtRdkN0d0Z6QyxRQUFRLEV1Q3V3RmdCLFFBQVE7UXZDbndGNUIsR0FBVSxFdUNtd0ZvQixHQUFHO1F2Q253RmpDLEtBQVUsRXVDbXdGd0IsQ0FBQztRdkNud0ZuQyxJQUFVLEV1Q213RitCLENBQUMsR0FDekM7TUFFRCxNQUFNLEVBQUMsU0FBUyxFQUFFLE1BQU07UUF0RjlCLEFBc0VJLDJCQXRFdUIsQ0E4Q3pCLFFBQVEsQ0F3Qk4sVUFBVSxDQUFDO1VBaUJQLEtBQUssRUFBRSxLQUFLLEdBR2Y7RWQxc0ZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWNnbkZ2QyxBQUFBLDJCQUEyQixDQUFDO01BOEZ4QixjQUFjLEVBQUUsSUFBSTtNQUNwQixVQUFVLEVBQUUsS0FBSyxHQXdDcEI7TUF2SUQsQUFpR0ksMkJBakd1QixDQWlHdkIsU0FBUyxDQUFDO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLENBQUM7UUFDTixJQUFJLEVBQUUsSUFBSTtRQUNWLE9BQU8sRUFBRSxDQUFDLEdBQ1g7TUF0R0wsQUE4Q0UsMkJBOUN5QixDQThDekIsUUFBUSxDQTBERztRQUNQLFlBQVksRUFBRSxJQUFJLEdBaUJuQjtRQTFITCxBQW9ESSwyQkFwRHVCLENBOEN6QixRQUFRLENBTU4sVUFBVSxDQXVERztVbkJodkZiLEtBQUssRUFBQyxJQUFDO1VBR0wsT0FBTyxFQUFFLEtBQUs7VUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7VUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VCOHlGeEM7VUFsSFAsQW5CaG5GTSwyQm1CZ25GcUIsQ0E4Q3pCLFFBQVEsQ0FNTixVQUFVLEFuQnBxRlAsV0FBVyxDQUFDO1lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1VtQjhtRlAsQUF1RE0sMkJBdkRxQixDQThDekIsUUFBUSxDQU1OLFVBQVUsQ0FHUixFQUFFLENBdURHO1lBQ0QsU0FBUyxFOUV4eUZULFFBQXVCLEc4RXl5RnhCO1FBaEhULEFBc0VJLDJCQXRFdUIsQ0E4Q3pCLFFBQVEsQ0F3Qk4sVUFBVSxDQThDRztVQUNULEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixHQUFHLEVBQUUsR0FBRztVQUNSLEtBQUssRUFBRSxJQUFJLEdBQ1o7TUF6SFAsQUFjRSwyQkFkeUIsQUFjeEIsT0FBTyxDQThHRztRQUNQLE1BQU0sRUFBRSxLQUFLO1FBQ2IsS0FBSyxFQUFFLEtBQUs7UUFDWixLQUFLLEVBQUUsTUFBTSxHQUNkO01BaElMLEFBcUJFLDJCQXJCeUIsQUFxQnhCLE1BQU0sQ0E2R0c7UUFDTixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQU1MLEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsS0FBSztFaEI3ekZqQixPQUFPLEVnQjh6Rk0sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBcUkzQjtFQTFJRCxBQU9FLHVCQVBxQixBQU9wQixPQUFPLEVBUFYsdUJBQXVCLEFBUXBCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQVpILEFBY0UsdUJBZHFCLEFBY3BCLE9BQU8sQ0FBQztJcENuMUZQLE1BQU0sRW9DbzFGUSxLQUFLO0lwQzUwRm5CLEtBQUssRW9DNDBGUyxLQUFLO0lBQ25CLFVBQVUsRUFBRSx1QkFBdUI7SXZDOTBGckMsUUFBUSxFdUMrMEZZLFFBQVE7SXZDMzBGeEIsS0FBVSxFdUMyMEZxQixHQUFHO0l2QzMwRmxDLE1BQVUsRXVDMjBGMEIsTUFBSyxHQUM1QztFQWxCSCxBQW9CRSx1QkFwQnFCLEFBb0JwQixNQUFNLENBQUM7SXBDejFGTixNQUFNLEVvQzAxRlEsSUFBSTtJcENsMUZsQixLQUFLLEVvQ2sxRlMsSUFBSTtJQUNsQixVQUFVLEVBQUUsd0JBQXdCO0l2Q3AxRnRDLFFBQVEsRXVDcTFGWSxRQUFRO0l2Q2oxRnhCLEdBQVUsRXVDaTFGZ0IsR0FBRztJdkNqMUY3QixLQUFVLEV1Q2kxRm9CLENBQUM7SXRDOTFGN0IsaUJBQW9CLEVzQysxRkwsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0QzExRmhELGNBQWlCLEVzQzAxRkYsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q3IxRmhELGFBQWdCLEVzQ3ExRkQsZ0JBQWdCLENBQUMsZ0JBQWdCO0l0Q2gxRmhELFlBQWUsRXNDZzFGQSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SXRDMzBGaEQsU0FBWSxFc0MyMEZHLGdCQUFnQixDQUFDLGdCQUFnQixHQUNyRDtFQXpCSCxBQTJCRSx1QkEzQnFCLENBMkJyQixRQUFRLENBQUM7SXBCMzBGVCxTQUFTLEVMZEMsS0FBSztJS2dCYixXQUFJLEVBQUUsSUFBSTtJQUNWLFlBQUssRUFBRSxJQUFJLEdvQjAxRlo7SUE3Q0gsQTdDeDBGRSx1QjZDdzBGcUIsQ0EyQnJCLFFBQVEsQTdDbjJGUCxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYzB2RnhDLEFBMkJFLHVCQTNCcUIsQ0EyQnJCLFFBQVEsQ0FBQztRcEIzMEZULFNBQVMsRW9CKzBGb0IsS0FBSztRcEI3MEZoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjAxRlo7UUE3Q0gsQTdDeDBGRSx1QjZDdzBGcUIsQ0EyQnJCLFFBQVEsQTdDbjJGUCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYzB2RnhDLEFBMkJFLHVCQTNCcUIsQ0EyQnJCLFFBQVEsQ0FBQztRcEIzMEZULFNBQVMsRW9CbTFGb0IsS0FBSztRcEJqMUZoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjAxRlo7UUE3Q0gsQTdDeDBGRSx1QjZDdzBGcUIsQ0EyQnJCLFFBQVEsQTdDbjJGUCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB2RnZDLEFBMkJFLHVCQTNCcUIsQ0EyQnJCLFFBQVEsQ0FBQztRcEIzMEZULFNBQVMsRW9CdTFGb0IsS0FBSztRcEJyMUZoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjAxRlo7UUE3Q0gsQTdDeDBGRSx1QjZDdzBGcUIsQ0EyQnJCLFFBQVEsQTdDbjJGUCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB2RnZDLEFBMkJFLHVCQTNCcUIsQ0EyQnJCLFFBQVEsQ0FBQztRcEIzMEZULFNBQVMsRW9CMjFGb0IsSUFBSTtRcEJ6MUYvQixXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEdvQjAxRlo7UUE3Q0gsQTdDeDBGRSx1QjZDdzBGcUIsQ0EyQnJCLFFBQVEsQTdDbjJGUCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFNkNvMEZILEFBK0NFLHVCQS9DcUIsQ0ErQ3JCLFlBQVksQ0FBQztJdkM3MkZiLFFBQVEsRXVDODJGWSxRQUFRO0l2QzEyRnhCLEdBQVUsRXVDMDJGZ0IsSUFBSTtJdkMxMkY5QixJQUFVLEV1QzAyRitCLENBQUM7SUFDNUMsS0FBSyxFQUFFLElBQUksR0FNWjtJQXZESCxBQW1ESSx1QkFuRG1CLENBK0NyQixZQUFZLENBSVYsSUFBSTtJQW5EUix1QkFBdUIsQ0ErQ3JCLFlBQVksQ0FLVixDQUFDLENBQUM7TUFDQSxjQUFjLEVBQUUsU0FBUyxHQUMxQjtFQXRETCxBQXlERSx1QkF6RHFCLENBeURyQixXQUFXLENBQUM7SXZDdjNGWixRQUFRLEV1Q3czRlksUUFBUTtJdkNwM0Z4QixHQUFVLEV1Q28zRmdCLENBQUM7SXZDcDNGM0IsS0FBVSxFdUNvM0ZrQixDQUFDO0l2Q3AzRjdCLE1BQVUsRXVDbzNGb0IsQ0FBQztJdkNwM0YvQixJQUFVLEV1Q28zRnNCLENBQUM7SXBDLzNGbkMsTUFBTSxFb0NnNEZRLElBQUk7SXBDeDNGbEIsS0FBSyxFb0N3M0ZTLElBQUk7SUFDbEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQixPQUFPLEVBQUUsRUFBRSxHQUNaO0VBL0RILEFBaUVFLHVCQWpFcUIsQ0FpRXJCLFFBQVEsQ0FBQztJQUNQLFFBQVEsRUFBRSxRQUFRO0luQmoxRmxCLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VCazdGNUM7SUE1R0gsQW5CMXZGTSx1Qm1CMHZGaUIsQ0FpRXJCLFFBQVEsQW5CM3pGSCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SW1Cd3ZGUCxBQXFFSSx1QkFyRW1CLENBaUVyQixRQUFRLENBSU4sTUFBTSxDQUFDO01BQ0wsU0FBUyxFOUV6NEZMLFNBQXVCO004RTA0RjNCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxPQUFPO01BQ3ZCLGFBQWEsRUFBRSxJQUFJO01BQ25CLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0lBNUVMLEFBOEVJLHVCQTlFbUIsQ0FpRXJCLFFBQVEsQ0FhTixVQUFVLENBQUM7TUFDVCxNQUFNLEVBQUUsQ0FBQztNQUNULFNBQVMsRTlFbjVGTCxRQUF1QjtNOEVvNUYzQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsT0FBTztNQUN2QixLQUFLLEVONTVGYSxPQUFPO01NNjVGekIsU0FBUyxFQUFFLEtBQUssR0FDakI7SWRoMUZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWMwdkZ2QyxBQXFFSSx1QkFyRW1CLENBaUVyQixRQUFRLENBSU4sTUFBTSxDQXFCRztRQUNMLFNBQVMsRS9FaDZGUCxRQUFzQixHK0VpNkZ6QjtJZHQxRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYzB2RnZDLEFBaUVFLHVCQWpFcUIsQ0FpRXJCLFFBQVEsQ0FBQztRQStCTCxLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxXQUFXLEdBVXZCO1FBNUdILEFBcUVJLHVCQXJFbUIsQ0FpRXJCLFFBQVEsQ0FJTixNQUFNLENBK0JHO1VBQ0wsU0FBUyxFL0UxNkZQLEtBQXNCLEcrRTI2RnpCO1FBdEdQLEFBOEVJLHVCQTlFbUIsQ0FpRXJCLFFBQVEsQ0FhTixVQUFVLENBMEJHO1VBQ1QsU0FBUyxFL0U5NkZQLE1BQXNCLEcrRSs2RnpCO0VkcDJGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljMHZGdkMsQUFjRSx1QkFkcUIsQUFjcEIsT0FBTyxDQWtHRztNcENyN0ZULE1BQU0sRW9DczdGVSxLQUFLO01wQzk2RnJCLEtBQUssRW9DODZGVyxLQUFLO01BQ25CLE1BQU0sRUFBRSxNQUFNO01BQ2QsS0FBSyxFQUFFLEdBQUcsR0FDWDtFZDkyRkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJYzB2RnZDLEFBQUEsdUJBQXVCLENBQUM7TWhCenpGdEIsT0FBTyxFZ0JpN0ZRLElBQUk7TUFDakIsVUFBVSxFQUFFLE9BQU8sR0FpQnRCO01BMUlELEFBY0UsdUJBZHFCLEFBY3BCLE9BQU8sQ0E2R0c7UXBDaDhGVCxNQUFNLEVvQ2k4RlUsS0FBSztRcEN6N0ZyQixLQUFLLEVvQ3k3RlcsS0FBSztRQUNuQixNQUFNLEVBQUUsTUFBTTtRQUNkLEtBQUssRUFBRSxLQUFLLEdBQ2I7TUEvSEwsQUFvQkUsdUJBcEJxQixBQW9CcEIsTUFBTSxDQTZHRztRcEN0OEZSLE1BQU0sRW9DdThGVSxLQUFLO1FwQy83RnJCLEtBQUssRW9DKzdGVyxLQUFLO1FBQ25CLEdBQUcsRUFBRSxHQUFHO1FBQ1IsSUFBSSxFQUFFLE9BQU87UUFDYixLQUFLLEVBQUUsR0FBRztRdEM1OEZSLGlCQUFvQixFc0M2OEZILGdCQUFnQjtRdEN4OEZqQyxjQUFpQixFc0N3OEZBLGdCQUFnQjtRdENuOEZqQyxhQUFnQixFc0NtOEZDLGdCQUFnQjtRdEM5N0ZqQyxZQUFlLEVzQzg3RkUsZ0JBQWdCO1F0Q3o3RmpDLFNBQVksRXNDeTdGSyxnQkFBZ0I7UUFDbkMsVUFBVSxFQUFFLHdCQUF3QixHQUNyQzs7QUFLTCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLHlCQUF5QjtFaEJ4OEZyQyxPQUFPLEVnQnk4Rk0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHO0VBQ3RCLE9BQU8sRUFBRSxFQUFFLEdBOENaO0VBbERELEFBTUUsa0JBTmdCLENBTWhCLHNCQUFzQixDQUFDO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRS9FMzlGSCxNQUFzQjtJK0U0OUY1QixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVOOTlGaUIsT0FBTztJTSs5RjdCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLGNBQWMsRUFBRSxVQUFVLEdBUTNCO0lBckJILEFBZUksa0JBZmMsQ0FNaEIsc0JBQXNCLEFBU25CLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO012QzM5RmYsUUFBUSxFdUM0OUZjLFFBQVE7TXZDeDlGMUIsTUFBVSxFdUN3OUY2QixJQUFHO012Q3g5RjFDLElBQVUsRXVDdzlGaUMsQ0FBQztNcENuK0Y5QyxNQUFNLEVvQ28rRmUsR0FBRztNcEM1OUZ4QixLQUFLLEVvQzQ5RlcsSUFBSTtNQUNsQixVQUFVLEVOajlGRSxPQUFPLEdNazlGcEI7RUFwQkwsQUF1QkUsa0JBdkJnQixDQXVCaEIsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxVQUFVLEdBV25CO0lBckNILEFBNEJJLGtCQTVCYyxDQXVCaEIsRUFBRSxDQUtBLEVBQUUsQ0FBQztNQUNELE9BQU8sRUFBRSxLQUFLO01BQ2QsU0FBUyxFL0VoL0ZMLFFBQXNCLEcrRXMvRjNCO01BcENMLEFBZ0NNLGtCQWhDWSxDQXVCaEIsRUFBRSxDQUtBLEVBQUUsQUFJQyxNQUFNLEVBaENiLGtCQUFrQixDQXVCaEIsRUFBRSxDQUtBLEVBQUUsQUFLQyxPQUFPLENBQUM7UUFDUCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtFZDE2RkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY3U0RnZDLEFBQUEsa0JBQWtCLENBQUM7TUF3Q2YsT0FBTyxFQUFFLEtBQUssR0FVakI7TUFsREQsQUEwQ0ksa0JBMUNjLENBMENkLFNBQVMsQ0FBQztRQUNSLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0VkbjdGRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljdTRGdkMsQUFBQSxrQkFBa0IsQ0FBQztNaEJ0OEZqQixPQUFPLEVnQnMvRlEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBRTVCOztBQUdELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsT0FBTztFQUNoQixVQUFVLEVBQUUseUJBQXlCO0V2Q3ZnR3JDLFFBQVEsRXVDd2dHVSxLQUFLO0V2Q3BnR25CLEdBQVUsRXVDb2dHWSxLQUFJO0V2Q3BnRzFCLElBQVUsRXVDb2dHMkIsQ0FBQztFdENqaEdwQyxrQkFBb0IsRXNDa2hHTixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RXRDN2dHaEMsZUFBaUIsRXNDNmdHSCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RXRDOS9GaEMsVUFBWSxFc0M4L0ZFLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQW1EdkM7RUE1REQsQUFXRSxrQkFYZ0IsQUFXZixRQUFRLENBQUM7SUFDUixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7RUFmSCxBQWlCRSxrQkFqQmdCLENBaUJoQixTQUFTLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsR0FBRztJQUNuQixZQUFZLEVBQUUsSUFBSTtJQUNsQixRQUFRLEVBQUUsTUFBTSxHQTBCakI7SUFoREgsQUF3Qkksa0JBeEJjLENBaUJoQixTQUFTLEFBT04sYUFBYSxDQUFDO01BQ2IsWUFBWSxFQUFFLENBQUMsR0FDaEI7SUExQkwsQUE0Qkksa0JBNUJjLENBaUJoQixTQUFTLEFBV04sT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TXZDN2hHZixRQUFRLEV1QzhoR2MsUUFBUTtNdkMxaEcxQixNQUFVLEV1QzBoRzRCLENBQUM7TXZDMWhHdkMsSUFBVSxFdUMwaEcrQixLQUFJO01wQ3JpRy9DLE1BQU0sRW9Dc2lHZSxHQUFHO01wQzloR3hCLEtBQUssRW9DOGhHVyxJQUFJO01BQ2xCLFVBQVUsRU5uaEdFLE9BQU87TWhDdEJqQixrQkFBb0IsRXNDMGlHRixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TXRDcmlHbEMsZUFBaUIsRXNDcWlHQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TXRDdGhHbEMsVUFBWSxFc0NzaEdNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztJQWxDTCxBQXVDTSxrQkF2Q1ksQ0FpQmhCLFNBQVMsQUFtQk4sTUFBTSxBQUdKLE9BQU8sRUF2Q2Qsa0JBQWtCLENBaUJoQixTQUFTLEFBb0JOLE9BQU8sQUFFTCxPQUFPLENBQUM7TUFDUCxJQUFJLEVBQUUsQ0FBQyxHQUNSO0lBekNQLEFBMkNNLGtCQTNDWSxDQWlCaEIsU0FBUyxBQW1CTixNQUFNLENBT0wsQ0FBQyxFQTNDUCxrQkFBa0IsQ0FpQmhCLFNBQVMsQUFvQk4sT0FBTyxDQU1OLENBQUMsQ0FBQztNQUNBLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRU54akdNLE9BQU8sR015akduQjtFQTlDUCxBQWtERSxrQkFsRGdCLENBa0RoQixDQUFDLENBQUM7SUFDQSxTQUFTLEU5RXhqR0gsU0FBdUI7SThFeWpHN0IsS0FBSyxFTjFqR0csSUFBSTtJTTJqR1osV0FBVyxFQUFFLEdBQUc7SXRDOWpHWixrQkFBb0IsRXNDK2pHSixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SXRDMWpHaEMsZUFBaUIsRXNDMGpHRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SXRDM2lHaEMsVUFBWSxFc0MyaUdJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztFZG4vRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJYzQ3RnZDLEFBQUEsa0JBQWtCLENBQUM7TUEwRGYsT0FBTyxFQUFFLGVBQWUsR0FFM0I7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLEdBQUcsRUFBRSxJQUFJLEdBQ1Y7O0FBR0QsQUFBQSxXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUVWLE9BQU8sRUFBRSxDQUFDO0VBQ1YsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsU0FBUztFQUN6QixLQUFLLEVOL2xHbUIsT0FBTztFTWdtRy9CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsS0FBSyxHQW1CbkI7RUE3QkQsQUFZRSxXQVpTLENBWVQsQ0FBQztFQVpILFdBQVcsQ0FhVCxJQUFJLENBQUM7SUFDSCxTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRU54bUdpQixPQUFPLEdNeW1HOUI7RUFoQkgsQUFrQkUsV0FsQlMsQ0FrQlQsQ0FBQyxDQUFDO0lBQ0EsWUFBWSxFQUFFLEdBQUcsR0FDbEI7RUFwQkgsQUFzQkUsV0F0QlMsQ0FzQlQsSUFBSSxDQUFDO0lBQ0gsTUFBTSxFQUFFLEtBQUssR0FDZDtFZHBpR0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJYzRnR3ZDLEFBQUEsV0FBVyxDQUFDO01BMkJSLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQUVELEFBQ0UsYUFEVyxDQUNYLFdBQVcsQ0FBQztFQUNWLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBSUgsQUFBQSxjQUFjLENBQUM7RUFDYixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJLEdBS1o7RUFQRCxBQUlFLGNBSlksQ0FJWixDQUFDLENBQUM7SUFDQSxTQUFTLEU5RWhvR0gsUUFBdUIsRzhFaW9HOUI7O0FBR0gsQUFBQSw0QkFBNEIsQ0FBQztFQUMzQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsNkJBQTZCLENBQUM7RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsR0FBRyxHQW1CakI7RUF0QkQsQUFLRSw2QkFMMkIsQ0FLM0IsMkJBQTJCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUM7SUFDL0UsR0FBRyxFQUFFLElBQUksR0FDVjtFQVBILEFBVUksNkJBVnlCLENBUzNCLHFDQUFxQyxDQUNuQyxrQkFBa0IsQ0FBQztJQUNqQixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFOUV0cEdMLE9BQXVCLEc4RXVwRzVCO0VBZkwsQUFpQkksNkJBakJ5QixDQVMzQixxQ0FBcUMsQ0FRbkMsVUFBVSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFLTCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU0sR0FRcEI7RUFWRCxBQUlFLG9CQUprQixDQUlsQixDQUFDLENBQUM7SUFDQSxPQUFPLEVBQUUsWUFBWTtJQUNyQixTQUFTLEU5RXRxR0gsT0FBdUI7SThFdXFHN0IsWUFBWSxFQUFFLElBQUk7SUFDbEIsY0FBYyxFQUFFLFVBQVUsR0FDM0I7O0FBS0EsQUFBRCxZQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsTUFBTTtFQUNsQixnQkFBZ0IsRU41b0dMLE9BQU87RVYxQnBCLE9BQU8sRWdCdXFHUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7RUFDdEIsT0FBTyxFQUFFLElBQUksR0FLZDtFZDltR0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY3FtR3BDLEFBQUQsWUFBTSxDQUFDO01BT0gsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBRUEsQUFBRCxZQUFNLENBQUM7RUFDTCxLQUFLLEVOanBHQSxJQUFJO0VNa3BHVCxTQUFTLEU5RTNyR0gsT0FBdUI7RThFNHJHN0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBRUEsQUFBRCxXQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxhQUFhO0VoQnpyR2hDLE9BQU8sRWdCMHJHUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FhNUI7RUFYQyxBQUFBLFVBQVUsQ0FOWCxXQUFJLENBTVU7SWhCNXJHZixPQUFPLEVnQjZyR1UsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQzVCO0VkL25HRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ljdW5HckMsQUFBRCxXQUFLLENBQUM7TWhCdHJHTixPQUFPLEVnQmlzR1UsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBTTlCO0VkeG9HQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljdW5HcEMsQUFBRCxXQUFLLENBQUM7TUFlRixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFFQSxBQUFELFlBQU0sQ0FBQztFQUNMLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFQUFFLENBQUMsR0FNZjtFQVJBLEFBSUMsWUFKSSxDQUlKLEdBQUcsQ0FBQztJQUNGLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFHRixBQUFELGVBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFOUUvdEdHLFFBQXVCLEc4RTJ1RzlCO0VkbHFHQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ljb3BHckMsQUFBRCxlQUFTLENBQUM7TUFLTixHQUFHLEU5RWx1R0MsUUFBdUIsRzhFMnVHOUI7RWRscUdDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWNvcEdyQyxBQVFDLGVBUk8sQ0FRUCxJQUFJLENBQUM7TUFFRCxTQUFTLEU5RXZ1R1AsT0FBdUI7TThEVS9CLE9BQU8sRWdCOHRHWSxHQUFHLENBQUMsR0FBRyxHQUV2Qjs7QUFLQSxBQUFELG1CQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEdBQUcsRUFBRSxNQUFNLEdBcUJaO0VkOXJHRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ljc3FHbkMsQUFBRCxtQkFBTSxDQUFDO01BTUgsR0FBRyxFQUFFLEtBQUssR0FrQmI7RUFmRSxBQUFELHlCQUFPLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxDQUFDO0lBQ1IsT0FBTyxFQUFFLEVBQUU7SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixVQUFVLEVBQUUsS0FBSztJQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNWLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsZ0JBQWdCLEVOenRHZixJQUFJO0lNMHRHTCxhQUFhLEVBQUUsR0FBRztJQUNsQixRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQzdDOztBQUdGLEFBQUQsbUJBQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsUUFBUSxFQUFFLFFBQVE7RWhCbHdHdEIsT0FBTyxFZ0Jtd0dVLEdBQUcsQ0FBQyxDQUFDLEdBa0NuQjtFQXRDQSxBQU9HLG1CQVBFLEFBTUgsTUFBTSxDQUNMLHlCQUF5QixDQUFDO0lBQ3hCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsY0FBYyxFQUFFLElBQUksR0FDckI7RUFWSixBQWFDLG1CQWJJLENBYUosQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFQUFFLElBQUksR0FFZDtFQUVBLEFBQUQseUJBQU8sQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJLEdBa0JaO0lBbkJBLEFBR0MseUJBSEssQUFHSixJQUFLLENBQUEsV0FBVyxFQUFFO01BQ2pCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDTnh2R2IsT0FBTyxHTXl2R25CO0lBTEYsQUFPQyx5QkFQSyxDQU9MLENBQUMsQ0FBQztNQUNBLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLEtBQUs7TWhCMXhHcEIsT0FBTyxFZ0IyeEdjLElBQUksQ0FBQyxJQUFJO01BQ3RCLFVBQVUsRUFBRSxJQUFJO01BQ2hCLFNBQVMsRTlFdnlHVCxJQUF1QjtNOEV3eUd2QixVQUFVLEVBQUUsc0JBQXNCLEdBS25DO01BbEJGLEFBZUcseUJBZkcsQ0FPTCxDQUFDLEFBUUUsTUFBTSxDQUFDO1FBQ04sS0FBSyxFTnZ3R0YsT0FBTyxHTXd3R1g7O0FBS04sQUFBRCxtQkFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxPQUFPLEdBT2hCO0VBWEEsQUFNQyxtQkFOSSxDQU1KLEdBQUcsQ0FBQztJQUNGLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUlKLEFBQUQsY0FBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsUUFBUSxHQXVDbkI7RWQveEdDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWNzdkdwQyxBQUFELGNBQVEsQ0FBQztNQUtMLE9BQU8sRUFBRSxLQUFLLEdBb0NqQjtFQXpDQSxBQVNHLGNBVEksQUFRTCxRQUFRLENBQ1AsbUJBQW1CLENBQUM7SUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsT0FBTyxHQUNuQjtFQUdGLEFBQUQsbUJBQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxLQUFLO0lBQ1osbUJBQW1CLEVBQUUsa0JBQWtCO0lBQ3ZDLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsMEJBQTBCLEVBQUUsV0FBVyxHQU14QztJQVZBLEFBTUMsbUJBTkksQ0FNSixHQUFHLENBQUM7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFHRixBQUFELHFCQUFRLENBQUM7SUFDUCxNQUFNLEVBQUUsT0FBTztJQUNmLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsQ0FBQztJQUNSLEdBQUcsRUFBRSxHQUFHO0lBQ1IsU0FBUyxFQUFFLE1BQU07SXRDcjJHZixrQkFBb0IsRXNDczJHRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SXRDajJHcEMsZUFBaUIsRXNDaTJHQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SXRDbDFHcEMsVUFBWSxFc0NrMUdNLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUt2QztJQWJBLEFBVUMscUJBVk0sQUFVTCxRQUFRLENBQUM7TUFDUixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQU1GLEFBQUQsc0JBQVEsQ0FBQztFQUNQLGdCQUFnQixFTnQwR0QsT0FBTztFTXUwR3RCLE9BQU8sRUFBRSxJQUFJLEdBU2Q7O0FBRUEsQUFBRCxxQkFBTyxDQUFDO0VBQ04sVUFBVSxFQUFFLE1BQU07RWhCaDNHdEIsT0FBTyxFZ0JpM0dVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUN6Qjs7QUFFQSxBQUFELG9CQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEU5RWg0R0wsUUFBdUI7RThFaTRHM0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLE1BQU07RUFDZCxLQUFLLEVOLzFHSSxPQUFPO0VNZzJHaEIsUUFBUSxFQUFFLFFBQVEsR0F3Qm5CO0VBOUJBLEFBU0csb0JBVEUsQUFRSCxNQUFNLEFBQ0osUUFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsR0FBRyxHQUNmO0VBWkosQUFlQyxvQkFmSSxBQWVILFFBQVEsQ0FBQztJQUNSLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLE1BQU07SUFDakIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsR0FBRztJQUNYLGdCQUFnQixFTm4zR1QsT0FBTztJTW8zR2QsbUJBQW1CLEVBQUUsa0JBQWtCO0lBQ3ZDLG1CQUFtQixFQUFFLElBQUk7SUFDekIsMEJBQTBCLEVBQUUsV0FBVyxHQUN4Qzs7QUFLUCxBQUFBLGVBQWUsR0FBRyxLQUFLLENBQUE7RUFDckIsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FDLzZHRCxBQUFBLE9BQU8sQ0FBQztFQUNOLGdCQUFnQixFUHFEVCxJQUFJO0VWL0JYLE9BQU8sRWlCckJNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQThMekI7RWYxR0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZXRGdkMsQUFBQSxPQUFPLENBQUM7TWpCdUJOLE9BQU8sRWlCbEJRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQTJMM0I7RUF4TEUsQUFBRCxXQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxPQUFPO0lBQ1osYUFBYSxFQUFFLElBQUksR0FtQnBCO0lmd0RDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWU5RXBDLEFBQUQsV0FBSyxDQUFDO1FBTUYsY0FBYyxFQUFFLE1BQU07UUFDdEIsYUFBYSxFL0VGVCxNQUF1QixHK0VpQjlCO0lBWkUsQUFBRCxnQkFBTSxDQUFDO01BQ0wsT0FBTyxFQUFFLElBQUk7TUFDYixjQUFjLEVBQUUsTUFBTTtNQUN0QixHQUFHLEVBQUUsTUFBTSxHQVFaO01meURELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWVwRWxDLEFBQUQsZ0JBQU0sQ0FBQztVQU1ILGNBQWMsRUFBRSxHQUFHO1VBQ25CLGVBQWUsRUFBRSxhQUFhO1VBQzlCLGFBQWEsRUFBRSxJQUFJO1VBQ25CLFdBQVcsRUFBRSxRQUFRLEdBRXhCO0VBR0YsQUFBRCxXQUFLLENBQUM7SUFDSixVQUFVLEVBQUUsSUFBSSxHQWlFakI7SWZaQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01ldERwQyxBQUFELFdBQUssQ0FBQztRQUlGLFVBQVUsRUFBRSxDQUFDLEdBOERoQjtJQWxFQSxBQU9DLFdBUEcsR0FPRixFQUFFLENBQUM7TUFDRixZQUFZLEVBQUUsQ0FBQztNQUNmLFVBQVUsRUFBRSxLQUFLLEdBdURsQjtNZlZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWV0RHBDLEFBT0MsV0FQRyxHQU9GLEVBQUUsQ0FBQztVQUtBLFVBQVUsRUFBRSxJQUFJLEdBb0RuQjtNQWhFRixBQWVHLFdBZkMsR0FPRixFQUFFLENBUUQsRUFBRSxDQUFDO1FBQ0QsYUFBYSxFQUFFLElBQUk7UUFDbkIsVUFBVSxFQUFFLElBQUksR0FVakI7UWYyQkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztVZXREcEMsQUFlRyxXQWZDLEdBT0YsRUFBRSxDQVFELEVBQUUsQ0FBQztZQUtDLGFBQWEsRUFBRSxHQUFHO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLEdBTWpCO1FmMkJILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7VWV0RHBDLEFBZUcsV0FmQyxHQU9GLEVBQUUsQ0FRRCxFQUFFLENBQUM7WUFVQyxXQUFXLEVBQUUsSUFBSSxHQUVwQjtNQTNCSixBQTZCRyxXQTdCQyxHQU9GLEVBQUUsQ0FzQkQsQ0FBQyxDQUFDO1FBQ0EsU0FBUyxFL0VqRFAsUUFBdUI7UStFa0R6QixXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEVQZkUsT0FBTztRT2dCZCxRQUFRLEVBQUUsUUFBUSxHQThCbkI7UWZUSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1VldERwQyxBQTZCRyxXQTdCQyxHQU9GLEVBQUUsQ0FzQkQsQ0FBQyxDQUFDO1lBT0UsU0FBUyxFL0V2RFQsUUFBdUI7WStFd0R2QixXQUFXLEVBQUUsT0FBTyxHQTBCdkI7UUEvREosQUEwQ08sV0ExQ0gsR0FPRixFQUFFLENBc0JELENBQUMsQUFXRSxPQUFPLEFBRUwsUUFBUSxFQTFDaEIsV0FBSSxHQU9GLEVBQUUsQ0FzQkQsQ0FBQyxBQVlFLE1BQU0sQUFDSixRQUFRLENBQUM7VUFDUixPQUFPLEVBQUUsQ0FBQztVQUNWLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7UUE3Q1IsQUFnREssV0FoREQsR0FPRixFQUFFLENBc0JELENBQUMsQUFtQkUsUUFBUSxDQUFDO1VBQ1IsY0FBYyxFQUFFLElBQUk7VUFDcEIsT0FBTyxFQUFFLENBQUM7VUFDVixPQUFPLEVBQUUsRUFBRTtVQUNYLEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLEdBQUc7VUFDWCxnQkFBZ0IsRVByQ1gsT0FBTztVT3NDWixRQUFRLEVBQUUsUUFBUTtVQUNsQixNQUFNLEVBQUUsR0FBRztVQUNYLElBQUksRUFBRSxDQUFDO1VBQ1AsU0FBUyxFQUFFLEtBQUs7VUFDaEIsbUJBQW1CLEVBQUUsa0JBQWtCO1VBQ3ZDLG1CQUFtQixFQUFFLElBQUk7VUFDekIsMEJBQTBCLEVBQUUsV0FBVyxHQUN4QztFQU1OLEFBQUQsWUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxDQUFDLEdBVWY7SWYzQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZWNwQyxBQUFELFlBQU0sQ0FBQztRQU1ILEtBQUssRUFBRSxLQUFLLEdBT2Y7SUFiQSxBQVNDLFlBVEksQ0FTSixHQUFHLENBQUM7TUFDRixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFHRixBQUVDLGNBRk0sQ0FFTiw4QkFBOEIsQ0FBQztJQUM3QixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBR0YsQUFBRCxvQkFBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsTUFBTTtJQUN2QixHQUFHLEVBQUUsTUFBTTtJQUNYLGFBQWEsRUFBRSxHQUFHLEdBeUNuQjtJZmxGQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01lb0NwQyxBQUFELG9CQUFjLENBQUM7UUFRWCxjQUFjLEVBQUUsTUFBTTtRQUN0QixXQUFXLEVBQUUsVUFBVSxHQXFDMUI7SUFsQ0UsQUFBRCwwQkFBTyxDQUFDO01BQ04sS0FBSyxFUHRGSSxPQUFPO01PdUZoQixXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEUvRTVITCxRQUF1QixHK0U2SDVCO0lBaEJGLEFBa0JDLG9CQWxCWSxDQWtCWixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNO01BQ25CLEdBQUcsRUFBRSxNQUFNLEdBd0JaO01BN0NGLEFBdUJHLG9CQXZCVSxDQWtCWixFQUFFLENBS0EsRUFBRSxDQUFDO1FBQ0QsVUFBVSxFQUFFLElBQUk7UUFDaEIsTUFBTSxFQUFFLENBQUM7UWpCNUhmLE9BQU8sRWlCNkhZLENBQUMsR0FDZjtNQTNCSixBQTZCRyxvQkE3QlUsQ0FrQlosRUFBRSxDQVdBLENBQUMsQ0FBQztRQUNBLEtBQUssRVB2R0UsT0FBTztRT3dHZCxTQUFTLEUvRTVJUCxPQUF1QjtRK0U2SXpCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGVBQWUsRUFBRSxTQUFTLEdBQzNCO01mdEVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWVvQ3BDLEFBa0JDLG9CQWxCWSxDQWtCWixFQUFFLENBQUM7VUFtQkMsY0FBYyxFQUFFLE1BQU07VUFDdEIsV0FBVyxFQUFFLFVBQVU7VUFDdkIsYUFBYSxFL0VwSlgsT0FBdUIsRytFMEo1QjtVQTdDRixBQXVCRyxvQkF2QlUsQ0FrQlosRUFBRSxDQUtBLEVBQUUsQ0FrQkc7WUFDRCxXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBcktULEFBMEtFLE9BMUtLLENBMEtMLHNCQUFzQixDQUFDO0lBQ3JCLFVBQVUsRUFBRSxNQUFNLEdBb0JuQjtJQS9MSCxBQTZLSSxPQTdLRyxDQTBLTCxzQkFBc0IsQ0FHcEIsQ0FBQyxDQUFDO01BQ0EsY0FBYyxFQUFFLFNBQVM7TUFDekIsS0FBSyxFUDlISSxPQUFPO01PK0hoQixTQUFTLEUvRW5LTCxPQUF1QjtNK0VvSzNCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lmNUZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWV0RnZDLEFBMEtFLE9BMUtLLENBMEtMLHNCQUFzQixDQUFDO1FBV25CLFVBQVUsRUFBRSxJQUFJLEdBVW5CO1FBL0xILEFBNktJLE9BN0tHLENBMEtMLHNCQUFzQixDQUdwQixDQUFDLENBVUc7VUFDQSxTQUFTLEUvRTNLUCxRQUF1QixHK0U0SzFCO0lBekxQLEFBNExJLE9BNUxHLENBMEtMLHNCQUFzQixDQWtCcEIsQ0FBQyxDQUFDO01BQ0EsS0FBSyxFUDVJSSxPQUFPLEdPNklqQjs7QUFLTCxBQUFBLGVBQWUsQ0FBQztFeENqTGQsUUFBUSxFd0NrTFUsS0FBSztFeEM5S25CLEdBQVUsRXdDOEtXLENBQUM7RXhDOUt0QixJQUFVLEV3QzhLdUIsQ0FBQztFckN6THBDLE1BQU0sRXFDMExNLElBQUk7RXJDbExoQixLQUFLLEVxQ2tMTyxJQUFJO0VBQ2xCLFVBQVUsRUFBRSxxQkFBcUI7RUFDakMsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSSxHQUNkOztBVnZMRCxBQUFBLElBQUksQ1dsQkM7RUFDSCxXQUFXLEVBQUUsSUFBSTtFeENRWCxrQkFBb0IsRXdDUE4sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0V4Q1k5QixlQUFpQixFd0NaSCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07RXhDMkI5QixVQUFZLEV3QzNCRSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FxQ3JDO0VBdkNELEFBSUUsSUFKRSxBQUlELFFBQVEsQ0FBQztJQUNSLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBTkgsQUFRRSxJQVJFLEFBUUQsbUJBQW1CLENBQUM7SUFDbkIsV0FBVyxFQUFFLElBQUksR0FLbEI7SWhCd0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdCdEZ2QyxBQVFFLElBUkUsQUFRRCxtQkFBbUIsQ0FBQztRQUlqQixXQUFXLEVBQUUsSUFBSSxHQUVwQjtFaEJ3RUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0J0RnZDLEFBa0JJLElBbEJBLEFBa0JDLG1CQUFtQixDQUFDO01BQ25CLFdBQVcsRUFBRSxLQUFLLEdBQ25CO0lBcEJMLEFBc0JJLElBdEJBLEFBc0JDLFFBQVEsQUFBQSxtQkFBbUIsQ0FBQztNQUMzQixXQUFXLEVBQUUsS0FBSyxHQUNuQjtFaEI4REQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJS3BFdkMsQUFBQSxJQUFJLENXbEJDO01BNEJELFdBQVcsRUFBRSxJQUFJLEdBV3BCO01BdkNELEFBSUUsSUFKRSxBQUlELFFBQVEsQ0EwQkc7UUFDUixXQUFXLEVBQUUsSUFBSSxHQUtsQjtRQXBDTCxBQWlDTSxJQWpDRixBQThCQyxRQUFRLENBR1AsWUFBWSxDQUFDLFlBQVksQ0FBQztVbEJWOUIsT0FBTyxFa0JXWSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQy9COztBQU1QLEFBQUEsSUFBSTtBQUNKLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxJQUFJLEdBS2I7RUFQRCxBQUlFLElBSkUsQ0FJRixLQUFLLEdBQUMsS0FBSztFQUhiLElBQUksQ0FHRixLQUFLLEdBQUMsS0FBSyxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBR0gsQUFBQSxVQUFVLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFdEJuQmxCLFNBQVMsRUxkQyxLQUFLO0VLZ0JiLFdBQUksRUFBRSxJQUFJO0VBQ1YsWUFBSyxFQUFFLElBQUksR3NCa0NkO0VBbkJELEEvQzFDRSxVK0MwQ1EsQS9DMUNQLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lnQnBDeEMsQUFBQSxVQUFVLENBQUM7TXRCbEJULFNBQVMsRXNCdUJrQixLQUFLO010QnJCOUIsV0FBSSxFQUFFLElBQUk7TUFDVixZQUFLLEVBQUUsSUFBSSxHc0JrQ2Q7TUFuQkQsQS9DMUNFLFUrQzBDUSxBL0MxQ1AsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWdCcEN4QyxBQUFBLFVBQVUsQ0FBQztNdEJsQlQsU0FBUyxFc0IyQmtCLEtBQUs7TXRCekI5QixXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJLEdzQmtDZDtNQW5CRCxBL0MxQ0UsVStDMENRLEEvQzFDUCxPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0JwQ3ZDLEFBQUEsVUFBVSxDQUFDO010QmxCVCxTQUFTLEVzQitCa0IsS0FBSztNdEI3QjlCLFdBQUksRUFBRSxJQUFJO01BQ1YsWUFBSyxFQUFFLElBQUksR3NCa0NkO01BbkJELEEvQzFDRSxVK0MwQ1EsQS9DMUNQLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQnBDdkMsQUFBQSxVQUFVLENBQUM7TXRCbEJULFNBQVMsRXNCbUNrQixJQUFJO010QmpDN0IsV0FBSSxFQUFFLElBQUk7TUFDVixZQUFLLEVBQUUsSUFBSSxHc0JrQ2Q7TUFuQkQsQS9DMUNFLFUrQzBDUSxBL0MxQ1AsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0ErQzJESCxBQUFBLGlCQUFpQixDQUFDO0VOOUNoQixTQUFTLEVBQUUsTUFBTTtFQUNqQixPQUFPLEVBQUUsTUFBTTtFQUNmLE1BQU0sRUFBRSxNQUFNO0VBQ2QsS0FBSyxFQUFFLElBQUksR002Q1o7RUFGRCxBL0MvREUsaUIrQytEZSxBL0MvRGQsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0ErQytESCxBQUFBLGVBQWUsQ0FBQztFQUVkLGVBQWUsRUFBRSxTQUFTLEdBSzNCO0VBUEQsQUFJRSxlQUphLEFBSVosMEJBQTBCLENBQUM7SUFDMUIsVUFBVSxFQUFFLElBQ2QsR0FBQzs7QUFHSCxBQUFBLGFBQWEsQ0FBQztFdEJwRFosU0FBUyxFc0JxRGdCLE1BQU07RXRCbkQ3QixXQUFJLEVBQUUsSUFBSTtFQUNWLFlBQUssRUFBRSxJQUFJO0VJWmIsT0FBTyxFa0IrRE0sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBcUY5QjtFQXZGRCxBL0M1RUUsYStDNEVXLEEvQzVFVixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0M0RUQsQUFBQSxhQUFhLENBSmYsYUFBYSxDQUlLO0lsQmpFaEIsT0FBTyxFa0JrRVEsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBSzlCO0loQlJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdCRXJDLEFBQUEsYUFBYSxDQUpmLGFBQWEsQ0FJSztRbEJqRWhCLE9BQU8sRWtCcUVVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUV6QjtFQVZILEFBWUUsYUFaVyxBQVlWLHdCQUF3QixDQUFDO0l0QmhFMUIsU0FBUyxFc0JpRWtCLE1BQU07SXRCL0QvQixXQUFJLEVBQUUsSUFBSTtJQUNWLFlBQUssRUFBRSxJQUFJO0lJWmIsT0FBTyxFa0IyRVEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBSzdCO0lBbkJILEEvQzVFRSxhK0M0RVcsQUFZVix3QkFBd0IsQS9DeEZ4QixPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZ0JGdkMsQUFZRSxhQVpXLEFBWVYsd0JBQXdCLENBQUM7UWxCekUxQixPQUFPLEVrQjhFVSxDQUFDLEdBRWpCO0VoQmpCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQkZ2QyxBQUFBLGFBQWEsQ0FBQztNdEJwRFosU0FBUyxFc0JrRmtCLEtBQUs7TXRCaEY5QixXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJO01JWmIsT0FBTyxFa0I0RlEsSUFBSSxDQUFDLENBQUMsR0F3RHRCO01BdkZELEEvQzVFRSxhK0M0RVcsQS9DNUVWLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQkZ2QyxBQUFBLGFBQWEsQ0FBQztNbEI3RFosT0FBTyxFa0JnR1EsQ0FBQztNdEJ2RmhCLFNBQVMsRXNCd0ZrQixJQUFJO010QnRGN0IsV0FBSSxFQUFFLElBQUk7TUFDVixZQUFLLEVBQUUsSUFBSSxHc0J3SWQ7TUF2RkQsQS9DNUVFLGErQzRFVyxBL0M1RVYsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RStDd0VILEFBdUNFLGFBdkNXLENBdUNYLEVBQUUsQ0FBQztJQUNELFNBQVMsRWpGakhILE1BQXNCO0lpRmtINUIsY0FBYyxFQUFFLFNBQVMsR0FDMUI7RUExQ0gsQUE0Q0UsYUE1Q1csQ0E0Q1gsSUFBSSxDQUFDO0lBRUgsYUFBYSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENSbEdYLE9BQU8sR1FnSHRCO0lBNURILEEvQzVFRSxhK0M0RVcsQ0E0Q1gsSUFBSSxBL0N4SEgsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStDd0VILEFBa0RNLGFBbERPLENBNENYLElBQUksQUFJRCxLQUFLLENBRUosVUFBVTtJQWxEaEIsYUFBYSxDQTRDWCxJQUFJLEFBSUQsS0FBSyxDQUdKLGdCQUFnQjtJQW5EdEIsYUFBYSxDQTRDWCxJQUFJLEFBSUQsS0FBSyxDQUlKLGVBQWUsQ0FBQztNQUNkLE1BQU0sRUFBRSxJQUFJLEdBQ2I7SUF0RFAsQUF3RE0sYUF4RE8sQ0E0Q1gsSUFBSSxBQUlELEtBQUssQ0FRSixnQkFBZ0IsQ0FBQztNQUNmLEtBQUssRUFBRSxHQUFHLEdBQ1g7RUExRFAsQUE4REUsYUE5RFcsQ0E4RFgsVUFBVTtFQTlEWixhQUFhLENBK0RYLGdCQUFnQjtFQS9EbEIsYUFBYSxDQWdFWCxlQUFlLENBQUM7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxLQUFLLEdBb0JkO0lBdEZILEFBb0VJLGFBcEVTLENBOERYLFVBQVUsQUFNUCxVQUFVO0lBcEVmLGFBQWEsQ0ErRFgsZ0JBQWdCLEFBS2IsVUFBVTtJQXBFZixhQUFhLENBZ0VYLGVBQWUsQUFJWixVQUFVLENBQUM7TWxCaklkLE9BQU8sRWtCa0lVLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7TUFDNUIsZ0JBQWdCLEVSaElkLElBQUk7TVFpSU4sS0FBSyxFQUFFLEdBQUcsR0FDWDtJQXhFTCxBQTBFSSxhQTFFUyxDQThEWCxVQUFVLEFBWVAsZ0JBQWdCO0lBMUVyQixhQUFhLENBK0RYLGdCQUFnQixBQVdiLGdCQUFnQjtJQTFFckIsYUFBYSxDQWdFWCxlQUFlLEFBVVosZ0JBQWdCLENBQUM7TWxCdklwQixPQUFPLEVrQndJVSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJO01BQy9CLFVBQVUsRVJ0SVIsSUFBSTtNUXVJTixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1JySmhCLElBQUk7TVFzSlYsS0FBSyxFQUFFLEdBQUcsR0FDWDtJQS9FTCxBQWlGSSxhQWpGUyxDQThEWCxVQUFVLEFBbUJQLGVBQWU7SUFqRnBCLGFBQWEsQ0ErRFgsZ0JBQWdCLEFBa0JiLGVBQWU7SUFqRnBCLGFBQWEsQ0FnRVgsZUFBZSxBQWlCWixlQUFlLENBQUM7TWxCOUluQixPQUFPLEVrQitJVSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJO01BQy9CLFVBQVUsRVJoS0csT0FBTztNUWlLcEIsS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUFJTCxBQUFBLFFBQVEsQ0FBQztFekMzSlAsUUFBUSxFeUM0SlUsS0FBSztFekN4Sm5CLEdBQVUsRXlDd0pXLENBQUM7RXpDeEp0QixJQUFVLEV5Q3dKdUIsQ0FBQztFdENuS3BDLE1BQU0sRXNDb0tNLElBQUk7RXRDNUpoQixLQUFLLEVzQzRKTyxJQUFJO0V4Q3RLWixrQkFBb0IsRXdDdUtOLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFeENsS2hDLGVBQWlCLEV3Q2tLSCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RXhDbkpoQyxVQUFZLEV3Q21KRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RUFDdEMsVUFBVSxFQUFFLHFCQUFxQjtFQUNqQyxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE1BQU0sR0FNbkI7RUFiRCxBQVNFLFFBVE0sQUFTTCxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxPQUFPLEdBQ3BCOztBQUdILEFBQUEsY0FBYyxDQUFDO0V6QzFLYixRQUFRLEV5QzJLVSxLQUFLO0V6Q3ZLbkIsS0FBVSxFeUN1S2dCLENBQUM7RXpDdkszQixNQUFVLEV5Q3VLa0IsQ0FBQztFekN2SzdCLElBQVUsRXlDdUtvQixDQUFDO0VBQ25DLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLG9CQUFvQjtFQUNoQyxPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsTUFBTTtFQUNsQixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQUVELEFBQUEsSUFBSSxDQUFDO0V0QzVMRCxNQUFNLEVzQzZMWSxLQUFLO0V0Q3JMdkIsS0FBSyxFc0NxTE8sS0FBSyxHQUNwQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLE9BQU8sRUFBRSxHQUFHLEdBQ2I7O0FBRUQsQUFBQSxxQkFBcUI7QUFDckIsMEJBQTBCLENBQUM7RXpDOUx6QixRQUFRLEV5QytMVSxLQUFLO0V6QzNMbkIsR0FBVSxFeUMyTFcsQ0FBQztFekMzTHRCLE1BQVUsRXlDMkxrQixDQUFDO0V6QzNMN0IsSUFBVSxFeUMyTG9CLENBQUM7RXRDdE1qQyxNQUFNLEVzQ3VNVyxHQUFHO0V0Qy9McEIsS0FBSyxFc0MrTE8sSUFBSTtFQUNsQixVQUFVLEVBQUUsV0FBVztFQUN2QixPQUFPLEVBQUUsR0FBRztFQUNaLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDUCxHQUFHLEVBQUUsS0FBSztFQUNWLFVBQVUsRUFBRSxJQUFJO0VyQnpKZCxLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0VJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd5QnNQOUM7RUF4Q0QsQXJCbElNLFFxQmtJRSxBckJsSUQsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VxQnFJTCxBQUFBLHdCQUF3QixDQUwxQixRQUFRLENBS3FCO0lBQ3pCLEtBQUssRUFBRSxHQUFHLEdBQ1g7RUFQSCxBQVNFLFFBVE0sQUFTTCxJQUFLLENBQUEsV0FBVyxFQUFFO0lBQ2pCLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0VBWEgsQUFhRSxRQWJNLENBYU4sRUFBRSxDQUFDO0lBQ0QsU0FBUyxFaEZ6TkgsU0FBdUI7SWdGME43QixLQUFLLEVSL05lLE9BQU8sR1FnTzVCO0VBaEJILEFBa0JFLFFBbEJNLENBa0JOLGVBQWUsQ0FBQztJQUNkLFNBQVMsRWpGaE9ILFFBQXNCO0lpRmlPNUIsY0FBYyxFQUFFLFNBQVM7SUFDekIsYUFBYSxFQUFFLElBQUk7SUFDbkIsS0FBSyxFUnBPaUIsT0FBTztJUXFPN0IsY0FBYyxFQUFFLEtBQUssR0FDdEI7RWhCMUpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdCa0l2QyxBQUFBLFFBQVEsQ0FBQztNQTJCTCxHQUFHLEVBQUUsSUFBSSxHQWFaO01BeENELEFBYUUsUUFiTSxDQWFOLEVBQUUsQ0FnQkc7UUFDRCxTQUFTLEVoRnpPTCxRQUF1QjtRZ0YwTzNCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0VoQmxLRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQmtJdkMsQUFBQSxRQUFRLENBQUM7TUFvQ0wsS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUseUJBQXlCO0VsQjdPckMsT0FBTyxFa0I4T00sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHO0VBQ3pCLE9BQU8sRUFBRSxFQUFFLEdBeUNaO0VBN0NELEFBTUUsZUFOYSxDQU1iLHNCQUFzQixDQUFDO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRWpGaFFILE1BQXNCO0lpRmlRNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFUm5RaUIsT0FBTztJUW9RN0IsY0FBYyxFQUFFLE9BQU87SUFDdkIsY0FBYyxFQUFFLFVBQVUsR0FRM0I7SUFyQkgsQUFlSSxlQWZXLENBTWIsc0JBQXNCLEFBU25CLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO016Q2hRZixRQUFRLEV5Q2lRYyxRQUFRO016QzdQMUIsTUFBVSxFeUM2UDZCLElBQUc7TXpDN1AxQyxJQUFVLEV5QzZQaUMsQ0FBQztNdEN4UTlDLE1BQU0sRXNDeVFlLEdBQUc7TXRDalF4QixLQUFLLEVzQ2lRVyxJQUFJO01BQ2xCLFVBQVUsRVJ0UEUsT0FBTyxHUXVQcEI7RUFwQkwsQUF1QkUsZUF2QmEsQ0F1QmIsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxVQUFVLEdBVW5CO0lBcENILEFBNEJJLGVBNUJXLENBdUJiLEVBQUUsQ0FLQSxFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsS0FBSztNQUNkLFNBQVMsRWpGclJMLFFBQXNCLEdpRjBSM0I7TUFuQ0wsQUFnQ00sZUFoQ1MsQ0F1QmIsRUFBRSxDQUtBLEVBQUUsQUFJQyxNQUFNLENBQUM7UUFDTixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFaEI5TUgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0I0S3ZDLEFBQUEsZUFBZSxDQUFDO01BdUNaLE9BQU8sRUFBRSxLQUFLLEdBTWpCO01BN0NELEFBeUNJLGVBekNXLENBeUNYLFNBQVMsQ0FBQztRQUNSLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQUlMLEFBQUEsa0JBQWtCLENBQUM7RXJCaFBmLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7RUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3lCaVc5QztFQTFERCxBckIzTk0sa0JxQjJOWSxBckIzTlgsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VxQjROTCxBQUFBLHdCQUF3QixDQUgxQixrQkFBa0IsQ0FHVztJQUN6QixLQUFLLEVBQUUsS0FBSyxHQU1iO0loQnJPQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nQjhOckMsQUFBQSx3QkFBd0IsQ0FIMUIsa0JBQWtCLENBR1c7UUFJdkIsS0FBSyxFQUFFLElBQUk7UWxCalNmLE9BQU8sRWtCa1NVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUU5QjtFaEJyT0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0IyTnZDLEFBQUEsa0JBQWtCLENBQUM7TUFjZixLQUFLLEVBQUUsS0FBSyxHQTRDZjtFQTFERCxBQWlCRSxrQkFqQmdCLENBaUJoQixLQUFLLENBQUM7SUFDSixTQUFTLEVqRnhUSCxPQUFzQjtJaUZ5VDVCLEtBQUssRVIzVGlCLE9BQU8sR1FnVTlCO0lBeEJILEFBcUJJLGtCQXJCYyxDQWlCaEIsS0FBSyxDQUlILENBQUMsQUFBQSxhQUFhLENBQUM7TUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQXZCTCxBQTBCRSxrQkExQmdCLENBMEJoQixFQUFFLENBQUM7SUFDRCxTQUFTLEVoRi9USCxNQUF1QjtJZ0ZnVTdCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBL0JILEEvQ3pTRSxrQitDeVNnQixDQWlDaEIsd0JBQXdCLEEvQzFVdkIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdCMk52QyxBQUFBLGtCQUFrQixDQUFDO01Bc0NmLEtBQUssRUFBRSxJQUFJO01BQ1gsS0FBSyxFQUFFLElBQUk7TWxCalViLE9BQU8sRWtCa1VRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQWtCOUI7TUExREQsQUFpQkUsa0JBakJnQixDQWlCaEIsS0FBSyxDQXlCRztRQUNKLFNBQVMsRWhGL1VMLFNBQXVCLEdnRmdWNUI7TUE1Q0wsQUEwQkUsa0JBMUJnQixDQTBCaEIsRUFBRSxDQW9CRztRQUNELFNBQVMsRWhGblZMLE9BQXVCLEdnRm9WNUI7TUFoREwsQUFrREksa0JBbERjLENBa0RkLFVBQVUsQ0FBQztRbEI1VWIsT0FBTyxFa0I2VVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBS3pCO1FBeERMLEFBcURNLGtCQXJEWSxDQWtEZCxVQUFVLEFBR1AsY0FBYyxDQUFDO1VBQ2QsT0FBTyxFQUFFLFFBQVEsR0FDbEI7O0FBS1AsQUFBQSxZQUFZLENBQUM7RUFDWCxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1I5VkYsT0FBTztFUStWM0IsWUFBWSxFQUFFLElBQUk7RUFDbEIsUUFBUSxFQUFFLFFBQVEsR0FhbkI7RUFoQkQsQUFLRSxZQUxVLEFBS1QsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFUnhWRSxPQUFPO0lReVZuQixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLElBQUksR0FDZDs7QUFJSCxBQUVFLGFBRlcsQ0FFWCxLQUFLLENBQUM7RUFDSixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBdUNYO0VBM0NILEFBTUksYUFOUyxDQUVYLEtBQUssQ0FJSCxFQUFFLENBQUM7SUFDRCxlQUFlLEVBQUUsSUFBSTtJQUNyQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDtFQVhMLEFBYUksYUFiUyxDQUVYLEtBQUssQ0FXSCxFQUFFLENBQUM7SUFDRCxhQUFhLEVBQUUsSUFBSSxHQW9CcEI7SUFsQ0wsQUFpQk0sYUFqQk8sQ0FFWCxLQUFLLENBV0gsRUFBRSxDQUlBLEVBQUUsQ0FBQztNQUdELE1BQU0sRUFBRSxNQUFNO01BQ2QsV0FBVyxFQUFFLEdBQUcsR0FZakI7TUFqQ1AsQUE0QlUsYUE1QkcsQ0FFWCxLQUFLLENBV0gsRUFBRSxDQUlBLEVBQUUsQUFNQyxPQUFPLENBS04sQ0FBQyxFQTVCWCxhQUFhLENBRVgsS0FBSyxDQVdILEVBQUUsQ0FJQSxFQUFFLEFBT0MsYUFBYSxDQUlaLENBQUMsQ0FBQztRQUNBLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLEtBQUssRVJuWlMsT0FBTyxHUW9adEI7RUEvQlgsQUFvQ0ksYUFwQ1MsQ0FFWCxLQUFLLENBa0NILE9BQU8sQ0FBQztJQUNOLFNBQVMsRWhGdlpMLFNBQXVCO0lnRndaM0IsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLEtBQUssR0FDdEI7O0FBS0wsQUFBQSxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVSclpDLElBQUk7RVFzWlYsT0FBTyxFQUFFLE1BQU07RUFDZixlQUFlLEVBQUUsS0FBSztFQUN0QixtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLGlCQUFpQixFQUFFLFNBQVMsR0FjN0I7RUFwQkQsQUFRRSxlQVJhLEFBUVosTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SXpDcGFiLFFBQVEsRXlDcWFZLFFBQVE7SXpDamF4QixHQUFVLEV5Q2lhZ0IsQ0FBQztJekNqYTNCLElBQVUsRXlDaWE0QixDQUFDO0l0QzVhekMsTUFBTSxFc0M2YVEsSUFBSTtJdENyYWxCLEtBQUssRXNDcWFTLElBQUk7SUFDbEIsVUFBVSxFQUFFLHdCQUF3QjtJQUNwQyxPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBZEgsQUFnQkUsZUFoQmEsQ0FnQmIsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFHSCxBQUFBLGdCQUFnQixDQUFDO0VsQjVhZixPQUFPLEVrQjZhTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7RUFDdEIsVUFBVSxFUi9hUSxPQUFPLEdROGIxQjs7QUFFRCxBQUFBLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsQUFBQSxRQUFRLENBQUM7RWxCbmNQLE9BQU8sRWtCb2NNLENBQUMsQ0FBQyxJQUFJO0VBQ25CLFNBQVMsRUFBRSxNQUF3QjtFQUNuQyxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxNQUFNLEdBU2Y7RWhCalpHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdCb1l2QyxBQUFBLFFBQVEsQ0FBQztNbEJuY1AsT0FBTyxFa0IwY1EsQ0FBQyxDQUFDLElBQUksR0FNdEI7RUFIQyxBQUFBLFdBQVcsQ0FWYixRQUFRLENBVVE7SUFDWixTQUFTLEVBQUUsTUFBYSxHQUN6Qjs7QUN0ZUgsQUFHSSxXQUhPLEdBQ1IsRUFBRSxHQUVBLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxrQkFBa0I7RUFDOUIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7O0FBTkwsQUFTTSxXQVRLLEdBQ1IsRUFBRSxBQU9BLGFBQWEsR0FDWCxNQUFNLENBQUM7RUFDTixVQUFVLEVUdUNILE9BQU8sQ1N2Q2lCLFVBQVUsR0FDMUM7O0FBS1AsQUFBQSxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsZUFBZSxHQUN6Qjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLE1BQU0sRUFBRSxrQkFBa0I7RUFDMUIsYUFBYSxFQUFFLENBQUM7RUFDaEIsVUFBVSxFQUFFLEtBQUssR0FDbEI7O0FFeEJELEFBQUEsTUFBTSxDQUFDO0VBQ0wsU0FBUyxFbkZZRCxTQUF1QjtFbUZYL0IsY0FBYyxFQUFFLE1BQU07RUFDdEIsS0FBSyxFWDhDUSxPQUFPO0VXN0NwQixhQUFhLEVBQUUsQ0FBQyxHQUtqQjtFbkI2RUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUJ0RnZDLEFBQUEsTUFBTSxDQUFDO01BT0gsU0FBUyxFbkZNSCxPQUF1QixHbUZKaEM7O0FDVEQsQUFBQSxJQUFJLENBQUM7RUFDSCxLQUFLLEVacURFLElBQUk7RVlwRFgsU0FBUyxFcEZXRCxRQUF1QjtFb0ZWL0IsYUFBYSxFQUFFLElBQUk7RXRCb0JuQixPQUFPLEVzQm5CTSxHQUFHLENBQUMsSUFBSTtFQUNyQixZQUFZLEVBQUUsR0FBRztFQUNqQixZQUFZLEVBQUUsS0FBSztFQUNuQixXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixtQkFBbUIsRUFBRSx1QkFBdUI7RUFDNUMsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QiwwQkFBMEIsRUFBRSxXQUFXLEdBNkV4QztFQXpGRCxBQWNFLElBZEUsQUFjRCxPQUFPLENBQUM7SUFDUCxtQkFBbUIsRUFBRSxVQUFVO0lBQy9CLG1CQUFtQixFQUFFLElBQUk7SUFDekIsMEJBQTBCLEVBQUUsV0FBVyxHQUN4QztFQWxCSCxBQW9CRSxJQXBCRSxBQW9CRCxRQUFRLENBQUM7SUFDUixnQkFBZ0IsRVo0QkwsT0FBTztJWTNCbEIsWUFBWSxFWjJCRCxPQUFPLEdZZm5CO0lwQm9EQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01vQnRGeEMsQUF5Qk0sSUF6QkYsQUFvQkQsUUFBUSxBQUtKLE1BQU0sQ0FBQztRQUNOLGdCQUFnQixFWjRCZixJQUFJO1FZM0JMLEtBQUssRVpzQkUsT0FBTyxHWWpCZjtRQWhDUCxBQTZCUSxJQTdCSixBQW9CRCxRQUFRLEFBS0osTUFBTSxBQUlKLE9BQU8sQ0FBQztVQUNQLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENabUJ2QixPQUFPLEdZbEJiO0VBL0JULEFBb0NFLElBcENFLEFBb0NELFVBQVUsQ0FBQztJQUNWLGdCQUFnQixFWmNILE9BQU87SVlicEIsWUFBWSxFWmFDLE9BQU8sR1lEckI7SXBCb0NDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TW9CdEZ4QyxBQXlDTSxJQXpDRixBQW9DRCxVQUFVLEFBS04sTUFBTSxDQUFDO1FBQ04sZ0JBQWdCLEVaWWYsSUFBSTtRWVhMLEtBQUssRVpRSSxPQUFPLEdZSGpCO1FBaERQLEFBNkNRLElBN0NKLEFBb0NELFVBQVUsQUFLTixNQUFNLEFBSUosT0FBTyxDQUFDO1VBQ1AsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ1pLckIsT0FBTyxHWUpmO0VBL0NULEFBb0RFLElBcERFLEFBb0RELFNBQVMsQ0FBQztJQUNULGdCQUFnQixFWkNYLElBQUk7SVlBVCxLQUFLLEVaTE0sT0FBTztJWU1sQixZQUFZLEVaRFAsSUFBSSxHWWNWO0lwQmtCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01vQnRGeEMsQUEwRE0sSUExREYsQUFvREQsU0FBUyxBQU1MLE1BQU0sQ0FBQztRQUNOLEtBQUssRVpMSixJQUFJO1FZTUwsZ0JBQWdCLEVaWFQsT0FBTztRWVlkLFlBQVksRVpQWCxJQUFJLEdZWU47UUFsRVAsQUErRFEsSUEvREosQUFvREQsU0FBUyxBQU1MLE1BQU0sQUFLSixPQUFPLENBQUM7VUFDUCxVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDWlY3QixJQUFJLEdZV0o7RUFqRVQsQUFzRUUsSUF0RUUsQUFzRUQsaUJBQWlCLENBQUM7SUFDakIsZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixZQUFZLEVackJDLE9BQU87SVlzQnBCLEtBQUssRVp0QlEsT0FBTyxHWW1DckI7SUF0RkgsQUEyRUksSUEzRUEsQUFzRUQsaUJBQWlCLEFBS2YsTUFBTSxDQUFBO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ1p6QmpCLE9BQU8sR1kwQm5CO0lBN0VMLEFBK0VJLElBL0VBLEFBc0VELGlCQUFpQixBQVNmLE1BQU0sQ0FBQTtNQUNMLGdCQUFnQixFWjdCTCxPQUFPO01ZOEJsQixLQUFLLEVaM0JGLElBQUksR1krQlI7TUFyRkwsQUFrRk0sSUFsRkYsQUFzRUQsaUJBQWlCLEFBU2YsTUFBTSxBQUdKLE1BQU0sQ0FBQTtRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENaN0IzQixJQUFJLEdZOEJOOztBQ3BGUCxBQUFBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosR0FBZSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEdBQWdCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsR0FBa0IsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixHQUFnQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWLEdBQWEsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQUFjLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsR0FBYSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEdBQWUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQUFjLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsR0FBa0IsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLGdCQUFnQixBQUFyQixHQUF3QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEdBQWUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQUFjLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVg7QUFDalMsUUFBUTtBQUNSLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0VBQzlDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDYmFHLE9BQU87RWFaM0IsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFYnFCSixJQUFJO0VhcEJWLEtBQUssRWJFaUIsT0FBTztFYUQ3QixPQUFPLEVBQUUsUUFBUTtFQUNqQixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLElBQUk7RTdDRFAsa0JBQW9CLEU2Q0VOLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtFN0NHOUIsZUFBaUIsRTZDSEgsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0U3Q2tCOUIsVUFBWSxFNkNsQkUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBTXJDO0VBakJELEFBYUUsS0FiRyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQWFILE1BQU0sRUFiVCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBY0gsVUFBVSxFQWRRLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FheEIsTUFBTSxFQWJZLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FjeEIsVUFBVSxFQWQ4QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBYTlDLE1BQU0sRUFia0MsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQWM5QyxVQUFVLEVBZHNELEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FhdEUsTUFBTSxFQWIwRCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBY3RFLFVBQVUsRUFkNEUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixDQWE1RixNQUFNLEVBYmdGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsQ0FjNUYsVUFBVSxFQWQrRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBYS9HLE1BQU0sRUFibUcsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQWMvRyxVQUFVLEVBZG1ILEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsQ0FhbkksTUFBTSxFQWJ1SCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWLENBY25JLFVBQVUsRUFkc0ksS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQWF0SixNQUFNLEVBYjBJLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FjdEosVUFBVSxFQWQySixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBYTNLLE1BQU0sRUFiK0osS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQWMzSyxVQUFVLEVBZCtLLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FhL0wsTUFBTSxFQWJtTCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBYy9MLFVBQVUsRUFkdU0sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLGdCQUFnQixBQUFyQixDQWF2TixNQUFNLEVBYjJNLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxnQkFBZ0IsQUFBckIsQ0Fjdk4sVUFBVSxFQWRxTyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBYXJQLE1BQU0sRUFieU8sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQWNyUCxVQUFVLEVBZDBQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FhMVEsTUFBTSxFQWI4UCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBYzFRLFVBQVUsRUFkOFEsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQWE5UixNQUFNLEVBYmtSLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FjOVIsVUFBVTtFQWJiLFFBQVEsQUFZTCxNQUFNO0VBWlQsUUFBUSxBQWFMLFVBQVU7RUFaYixrQkFBa0IsQ0FBQyw0QkFBNEIsQUFXNUMsTUFBTTtFQVhULGtCQUFrQixDQUFDLDRCQUE0QixBQVk1QyxVQUFVLENBQUM7SUFDVixVQUFVLEViT00sT0FBTyxHYU54Qjs7QWhCOFhILEFBQUEsUUFBUSxDZ0IzWEM7RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLFNBQVMsRUFBRSxJQUFJO0V2QkVmLE9BQU8sRXVCRE0sSUFBSSxDQUFDLElBQUk7RUFDdEIsVUFBVSxFYkdKLElBQUk7RWFGVixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2JSRyxPQUFPO0VhUzNCLE9BQU8sRUFBRSxJQUFJO0U3Q2hCUCxrQkFBb0IsRTZDaUJOLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtFN0NaOUIsZUFBaUIsRTZDWUgsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0U3Q0c5QixVQUFZLEU2Q0hFLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUtyQztFQVpELEFBU0UsUUFUTSxBQVNMLE1BQU0sQ0FBQztJQUNOLFVBQVUsRWJQTSxPQUFPLEdhUXhCOztBQUdILEFBQUEsWUFBWSxDQUFDO0VBQ1gsVUFBVSxFQUFFLE1BQU07RUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENiY0osT0FBTztFYWJwQixhQUFhLEVBQUUsSUFBSTtFdkJibkIsT0FBTyxFdUJjTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7RUFDM0IsVUFBVSxFYldHLE9BQU87RWFWcEIsU0FBUyxFdEY1QkQsT0FBc0I7RXNGNkI5QixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEViYUUsSUFBSTtFYVpYLGNBQWMsRUFBRSxPQUFPO0VBQ3ZCLFdBQVcsRUFBRSxDQUFDO0U3Q2xDUixrQkFBb0IsRTZDbUNOLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtFN0M5QjlCLGVBQWlCLEU2QzhCSCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07RTdDZjlCLFVBQVksRTZDZUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBYXJDO0VBeEJELEFBYUUsWUFiVSxBQWFULE1BQU0sQ0FBQztJQUNOLFVBQVUsRWJmSSxPQUFPO0lhZ0JyQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2JoQkgsT0FBTztJYWlCckIsS0FBSyxFYnZCRCxJQUFJO0lhd0JSLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBQzdDO0VyQm1DQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lxQnJEdkMsQUFBQSxZQUFZLENBQUM7TXZCVlgsT0FBTyxFdUIrQlEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO01BQzNCLFNBQVMsRXRGNUNILE1BQXNCLEdzRjhDL0I7O0FBRUQsQUFBQSxNQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QWY3REQsQUFBQSxrQkFBa0IsQ2UrREM7RUFDakIsT0FBTyxFQUFFLHVCQUF1QixHQUtqQztFQU5ELEFBR0Usa0JBSGdCLENBR2hCLGtCQUFrQixDQUFDO0lBQ2pCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBSUgsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEViaERKLElBQUk7RWFpRFYsVUFBVSxFQUFFLFVBQVU7RUFDdEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsU0FBUyxFQUFFLEtBQUs7RXZCdkRoQixPQUFPLEV1QndETSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7RTdDdEVyQixrQkFBb0IsRTZDdUVOLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFN0NsRWhDLGVBQWlCLEU2Q2tFSCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RTdDbkRoQyxVQUFZLEU2Q21ERSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0E4RHZDO0VBdEVELEFBVUUsa0JBVmdCLEFBVWYsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7STlDakViLFFBQVEsRThDa0VZLFFBQVE7STlDOUR4QixHQUFVLEU4QzhEaUIsSUFBRztJOUM5RDlCLElBQVUsRThDOEQrQixDQUFDO0kzQ3pFNUMsTUFBTSxFMkMwRWEsR0FBRztJM0NsRXRCLEtBQUssRTJDa0VTLElBQUk7STdDNUVkLGtCQUFvQixFNkM2RUosR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0k3Q3hFbEMsZUFBaUIsRTZDd0VELEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJN0N6RGxDLFVBQVksRTZDeURJLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJQUN0QyxVQUFVLEVieERJLE9BQU8sR2F5RHRCO0VBaEJILEFBa0JFLGtCQWxCZ0IsQUFrQmYsTUFBTSxDQUFDO0lBQ04sVUFBVSxFYmpFTixJQUFJLENhaUVXLFVBQVUsR0FTOUI7SUE1QkgsQUFxQkksa0JBckJjLEFBa0JmLE1BQU0sQUFHSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsR0FBRyxHQUNUO0lBdkJMLEFBeUJJLGtCQXpCYyxBQWtCZixNQUFNLENBT0wsZUFBZSxDQUFDO01BQ2QsT0FBTyxFQUFFLEdBQUcsR0FDYjtFQTNCTCxBQThCRSxrQkE5QmdCLEFBOEJmLE1BQU0sQ0FBQztJQUNOLFVBQVUsRWJ0Rk0sT0FBTyxHYXVGeEI7RUFoQ0gsQUFrQ0Usa0JBbENnQixDQWtDaEIsTUFBTSxDQUFDO0lBQ0wsU0FBUyxFdEZoR0gsT0FBc0I7SXNGaUc1QixjQUFjLEVBQUUsS0FBSztJQUNyQixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsU0FBUztJQUN6QixNQUFNLEVBQUUsT0FBTyxHQUNoQjtFQXhDSCxBQTBDRSxrQkExQ2dCLENBMENoQixlQUFlLENBQUM7SUFDZCxTQUFTLEV0RnhHSCxRQUFzQjtJc0Z5RzVCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFVBQVUsRUFBRSxpREFBaUQsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU07SUFDcEYsZUFBZSxFQUFFLFVBQVU7SUFDM0IsTUFBTSxFQUFFLE9BQU87SXZCbEdqQixPQUFPLEV1Qm1HUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQzlCO0VBbkRILEFBcURFLGtCQXJEZ0IsQ0FxRGhCLFlBQVksQ0FBQztJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUF4REgsQUEwREUsa0JBMURnQixDQTBEaEIsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQVFWO0lBckVILEFBK0RJLGtCQS9EYyxDQTBEaEIsRUFBRSxDQUtBLEVBQUUsQ0FBQztNQUNELFNBQVMsRXRGN0hMLE1BQXNCO01zRjhIMUIsV0FBVyxFQUFFLElBQUk7TUFDakIsTUFBTSxFQUFFLE1BQU07TUFDZCxNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFLTCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFVBQVUsRWIxSEosSUFBSTtFYTJIVixRQUFRLEVBQUUsTUFBTTtFdkI5SGhCLE9BQU8sRXVCK0hNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7RTdDN0kxQixrQkFBb0IsRTZDOElOLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFN0N6SWhDLGVBQWlCLEU2Q3lJSCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RTdDMUhoQyxVQUFZLEU2QzBIRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0EwQ3ZDO0VBaERELEFBUUUsaUJBUmUsQUFRZCxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJOUN4SWIsUUFBUSxFOEN5SVksUUFBUTtJOUNySXhCLEdBQVUsRThDcUlpQixJQUFHO0k5Q3JJOUIsSUFBVSxFOENxSStCLENBQUM7STNDaEo1QyxNQUFNLEUyQ2lKYSxHQUFHO0kzQ3pJdEIsS0FBSyxFMkN5SVMsSUFBSTtJN0NuSmQsa0JBQW9CLEU2Q29KSixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7STdDL0lsQyxlQUFpQixFNkMrSUQsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0k3Q2hJbEMsVUFBWSxFNkNnSUksR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0lBQ3RDLFVBQVUsRWIvSEksT0FBTyxHYWdJdEI7RUFkSCxBQWdCRSxpQkFoQmUsQUFnQmQsTUFBTSxDQUFDO0lBQ04sVUFBVSxFYnhJTixJQUFJLENhd0lXLFVBQVUsR0FLOUI7SUF0QkgsQUFtQkksaUJBbkJhLEFBZ0JkLE1BQU0sQUFHSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsR0FBRyxHQUNUO0VBckJMLEFBd0JFLGlCQXhCZSxBQXdCZCxNQUFNLENBQUM7SUFDTixVQUFVLEViekpNLE9BQU8sR2EwSnhCO0VBMUJILEFBNEJFLGlCQTVCZSxDQTRCZixLQUFLO0VBNUJQLGlCQUFpQixDQTZCZixPQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQWhDSCxBQWtDRSxpQkFsQ2UsQ0FrQ2YsS0FBSyxDQUFDO0lBQ0osU0FBUyxFdEZ6S0gsUUFBc0I7SXNGMEs1QixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsT0FBTztJQUN2QixTQUFTLEVBQUUsS0FBSyxHQUNqQjtFQXhDSCxBQTBDRSxpQkExQ2UsQ0EwQ2YsT0FBTyxDQUFDO0lBQ04sTUFBTSxFQUFFLE9BQU87STNDakxmLE1BQU0sRTJDa0xRLElBQUk7STNDMUtsQixLQUFLLEUyQzBLUyxJQUFJO0lBQ2xCLFVBQVUsRUFBRSw2Q0FBNkMsQ0FBQyxTQUFTLENBQUMsTUFBTTtJQUMxRSxlQUFlLEVBQUUsSUFBSSxHQUN0Qjs7QUFJSCxBQUFBLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRWJoTFEsT0FBTztFYWlMekIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENieExELE9BQU87RWF5THZCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0V2QmxMckIsT0FBTyxFdUJtTE0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQWdDakM7RUF0Q0QsQUFRRSxhQVJXLENBUVgsS0FBSztFQVJQLGFBQWEsQ0FTWCxPQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQVpILEFBY0UsYUFkVyxDQWNYLEtBQUssQ0FBQztJQUNKLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRXRGMU1ILFFBQXNCO0lzRjJNNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFYi9NZSxPQUFPLEdhcU41QjtJQXpCSCxBM0RqTUksYTJEaU1TLENBY1gsS0FBSyxBM0QvTUYsMkJBQTJCLENBQUU7TTJEdU41QixTQUFTLEV0Ri9NTCxRQUFzQjtNc0ZnTjFCLEtBQUssRWJsTmUsT0FBTyxHOUNKNUI7STJEK0xMLEEzRGpNSSxhMkRpTVMsQ0FjWCxLQUFLLEEzRC9NRixrQkFBa0IsQ0FBVztNMkR1TjVCLFNBQVMsRXRGL01MLFFBQXNCO01zRmdOMUIsS0FBSyxFYmxOZSxPQUFPLEc5Q0o1QjtJMkQrTEwsQTNEak1JLGEyRGlNUyxDQWNYLEtBQUssQTNEL01GLGlCQUFpQixDQUFZO00yRHVONUIsU0FBUyxFdEYvTUwsUUFBc0I7TXNGZ04xQixLQUFLLEVibE5lLE9BQU8sRzlDSjVCO0kyRCtMTCxBM0RqTUksYTJEaU1TLENBY1gsS0FBSyxBM0QvTUYsc0JBQXNCLENBQU87TTJEdU41QixTQUFTLEV0Ri9NTCxRQUFzQjtNc0ZnTjFCLEtBQUssRWJsTmUsT0FBTyxHOUNKNUI7RTJEK0xMLEFBMkJFLGFBM0JXLENBMkJYLE9BQU8sQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFPO0kzQ3JOZixNQUFNLEUyQ3NOUSxJQUFJO0kzQzlNbEIsS0FBSyxFMkM4TVMsSUFBSTtJQUNsQixVQUFVLEVBQUUsNkNBQTZDLENBQUMsU0FBUyxDQUFDLE1BQU07SUFDMUUsZUFBZSxFQUFFLElBQUk7STdDMU5qQixrQkFBb0IsRTZDMk5KLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJN0N0TmxDLGVBQWlCLEU2Q3NORCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7STdDdk1sQyxVQUFZLEU2Q3VNSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FLdkM7SUFyQ0gsQUFrQ0ksYUFsQ1MsQ0EyQlgsT0FBTyxBQU9KLE1BQU0sQ0FBQztNN0M3TkosaUJBQW9CLEU2QzhOSCxVQUFVO003Q3pOM0IsY0FBaUIsRTZDeU5BLFVBQVU7TTdDcE4zQixhQUFnQixFNkNvTkMsVUFBVTtNN0MvTTNCLFlBQWUsRTZDK01FLFVBQVU7TTdDMU0zQixTQUFZLEU2QzBNSyxVQUFVLEdBQzlCOztBQUtMLEFBQUEsV0FBVyxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUksR0E2QmpCO0VBOUJELEFBR0UsV0FIUyxDQUdULEtBQUssQ0FBQztJQUNKLFNBQVMsRXRGdE9ILE1BQXNCO0lzRnVPNUIsS0FBSyxFYjFPZSxPQUFPO0lhMk8zQixZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQVJILEFBVUUsV0FWUyxDQVVULFlBQVksQ0FBQztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsU0FBUyxFdEYvT0gsTUFBc0I7SXNGZ1A1QixLQUFLLEViclBhLE9BQU87SVZpQjNCLE9BQU8sRXVCcU9RLEdBQUcsQ0FBQyxJQUFJO0lBQ3JCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDYjdPQyxPQUFPO0lhOE96QixhQUFhLEVBQUUsSUFBSSxHQUtwQjtJQXRCSCxBQW1CSSxXQW5CTyxDQVVULFlBQVksQUFTVCxhQUFhLENBQUM7TUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQXJCTCxBQXdCRSxXQXhCUyxDQXdCVCxVQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLGNBQWMsR0FDdkI7O0FBSUgsQUFNTSxXQU5LLENBRVQsa0JBQWtCLEFBRWYseUJBQXlCLENBRXhCLGtCQUFrQixDQUFDO0VBQ2pCLFVBQVUsRWIvUEUsT0FBTyxHYWdRcEI7O0FBUlAsQUFXSSxXQVhPLENBRVQsa0JBQWtCLENBU2hCLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0V2Qm5RakIsT0FBTyxFdUJvUVUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtFQUM5QixVQUFVLEVibFFSLElBQUk7RWFtUU4sTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2I5UUQsT0FBTyxHYTJSeEI7RUE3QkwsQUFrQk0sV0FsQkssQ0FFVCxrQkFBa0IsQ0FTaEIsa0JBQWtCLENBT2hCLDRCQUE0QixDQUFDO0lBQzNCLFNBQVMsRXRGdFJQLE9BQXNCO0lzRnVSeEIsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFQUFFLENBQUM7SUFDVixLQUFLLEViM1JhLE9BQU8sR2E0UjFCO0VBdkJQLEFBeUJNLFdBekJLLENBRVQsa0JBQWtCLENBU2hCLGtCQUFrQixDQWNoQix5QkFBeUIsQ0FBQztJOUNyUjlCLFFBQVEsRThDc1JnQixRQUFRO0k5Q2xSNUIsR0FBVSxFOENrUm9CLENBQUM7STlDbFIvQixLQUFVLEU4Q2tSc0IsSUFBSTtJOUNsUnBDLE1BQVUsRThDa1IyQixDQUFDO0lBQ3BDLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBNUJQLEFBZ0NFLFdBaENTLENBZ0NULEtBQUssQ0FBQztFQUNKLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFNBQVMsRXRGclNILFFBQXNCO0VzRnNTNUIsS0FBSyxFYnhTaUIsT0FBTztFYXlTN0IsV0FBVyxFQUFFLE1BQU0sR0FLcEI7RUF6Q0gsQUFzQ0ksV0F0Q08sQ0FnQ1QsS0FBSyxDQU1ILGNBQWMsQ0FBQztJQUNiLEtBQUssRWI1U2UsT0FBTyxHYTZTNUI7O0FBeENMLEFBMkNFLFdBM0NTLENBMkNULFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBN0NILEFBK0NFLFdBL0NTLENBK0NULGFBQWEsQ0FBQztFQUNaLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQUdILEFBQ0UsSUFERSxDQUNGLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDLDBCQUEwQixDQUFDO0VBQ2xGLGdCQUFnQixFYjNTWixJQUFJO0VhNFNSLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE1BQU0sRUFBRSxDQUFDO0VBQ1QsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsU0FBUztFQUN6QixXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsUUFBUTtFQUNqQixZQUFZLEVBQUUsSUFBSTtFQUNsQixjQUFjLEViclFELE1BQU0sR2FzUXBCOztBQUdILEFBQUEsUUFBUSxDQUFDO0VBQ1AsVUFBVSxFQUFFLE1BQU07RUFDbEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsYUFBYSxFQUFFLElBQUksR0FLcEI7RUFSRCxBQUtFLFFBTE0sQ0FLTixZQUFZLENBQUM7SUFDWCxPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUN2VkgsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEV2Rk9ELE9BQXNCO0V1Rk45QixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVkMEJXLE9BQU87RWN6QnZCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsY0FBYyxFQUFFLE9BQU87RUFDdkIsY0FBYyxFQUFFLFVBQVU7RUFDMUIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2RxQlgsT0FBTztFY3BCdkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLEdBQUc7RXhCSVgsT0FBTyxFd0JITSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7RTlDWHJCLGtCQUFvQixFOENZTixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RTlDUGhDLGVBQWlCLEU4Q09ILEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFOUNRaEMsVUFBWSxFOENSRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FxRHZDO0VBekVELEFBc0JFLG9CQXRCa0IsQUFzQmpCLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0kvQ05iLFFBQVEsRStDT1ksUUFBUTtJL0NIeEIsTUFBVSxFK0NHMEIsQ0FBQztJL0NIckMsSUFBVSxFK0NHNkIsR0FBRTtJQUMzQyxhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVkS0ksT0FBTztJOUJyQnJCLE1BQU0sRTRDaUJVLElBQUk7STVDVHBCLEtBQUssRTRDU1MsQ0FBQztJOUNuQlgsa0JBQW9CLEU4Q29CSixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7STlDZmxDLGVBQWlCLEU4Q2VELEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJOUNBbEMsVUFBWSxFOENBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SUFDdEMsT0FBTyxFQUFFLEVBQUUsR0FDWjtFdEJ1REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0JyRnZDLEFBQUEsb0JBQW9CLENBQUM7TXhCc0JuQixPQUFPLEV3QldRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtNQUMzQixTQUFTLEV2RnhCSCxNQUFzQixHdUYrRC9CO0VBekVELEFBcUNFLG9CQXJDa0IsQUFxQ2pCLE1BQU0sQ0FBQztJQUNOLEtBQUssRWRiRCxJQUFJO0ljZVIsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENkZnZCLElBQUksR2NvQlQ7SUE3Q0gsQUEwQ0ksb0JBMUNnQixBQXFDakIsTUFBTSxBQUtKLE9BQU8sQ0FBQztNQUNQLFVBQVUsRWRsQlIsSUFBSSxHY21CUDtFQTVDTCxBQStDRSxvQkEvQ2tCLEFBK0NqQixPQUFPLENBQUM7SUFDUCxVQUFVLEVkbEJJLE9BQU87SWNtQnJCLEtBQUssRWR4QkQsSUFBSSxHY3lCVDtFQWxESCxBQW9ERSxvQkFwRGtCLEFBb0RqQixLQUFLLENBQUM7SUFFTCxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2QzQ25CLElBQUk7SWM0Q1osS0FBSyxFZDVDRyxJQUFJLEdjNkNiO0VBeERILEFBMERFLG9CQTFEa0IsQUEwRGpCLE1BQU0sQ0FBQztJQUNOLEtBQUssRWRsQ0QsSUFBSTtJY29DUixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixHQVc3QztJQXhFSCxBQStESSxvQkEvRGdCLEFBMERqQixNQUFNLEFBS0osTUFBTSxDQUFDO01BRU4sVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7TUFDNUMsS0FBSyxFZG5DTyxPQUFPLEdjb0NwQjtJQW5FTCxBQXFFSSxvQkFyRWdCLEFBMERqQixNQUFNLEFBV0osT0FBTyxDQUFDO001QzNEVCxNQUFNLEU0QzREVSxJQUFJO001Q3BEcEIsS0FBSyxFNENvRFcsSUFBSSxHQUNuQjs7QUFJTCxBQUtJLEtBTEMsQUFBQSxvQkFBb0IsQUFFdEIsTUFBTSxBQUdKLE1BQU0sQ0FBQztFQUNOLFVBQVUsRWR4RFIsSUFBSSxHY3lEUDs7QUFQTCxBQVNJLEtBVEMsQUFBQSxvQkFBb0IsQUFFdEIsTUFBTSxBQU9KLEtBQUssQ0FBQztFQUNMLEtBQUssRWQvRVEsT0FBTztFY2dGcEIsVUFBVSxFZDdEUixJQUFJO0VjK0ROLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBQzdDOztBQUtMLEFBQUEsc0JBQXNCLEVZL0Z0QixlQUFlLENBdU1iLFlBQVksRW1EbEZkLHdCQUF3QixDQWlhdEIsaUJBQWlCLENBUWYsWUFBWTtBQXphaEIsd0JBQXdCLENBa2F0QixvQkFBb0IsQ0FPbEIsWUFBWSxDL0QvYk87RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsU0FBUyxFdkZ2RkQsTUFBc0I7RXVGd0Y5QixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRWRyRVcsT0FBTztFY3NFdkIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsY0FBYyxFQUFFLE9BQU87RUFDdkIsY0FBYyxFQUFFLFVBQVU7RUFFMUIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2QzRVgsT0FBTztFYzRFdkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsT0FBTztFeEIxRmYsT0FBTyxFd0IyRk0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO0U5Q3pHcEIsa0JBQW9CLEU4QzBHTixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RTlDckdoQyxlQUFpQixFOENxR0gsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0U5Q3RGaEMsVUFBWSxFOENzRkUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0VBQ3RDLE1BQU0sRUFBRSxHQUFHLEdBa0RaO0VBdkVELEFBdUJFLHNCQXZCb0IsQUF1Qm5CLE9BQU8sRVl0SFYsZUFBZSxDQXVNYixZQUFZLEFaakZYLE9BQU8sRStERFYsd0JBQXdCLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZLEEvRHhhYixPQUFPO0UrRERWLHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksQS9EeGFiLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0kvQ3JHYixRQUFRLEUrQ3NHWSxRQUFRO0kvQ2xHeEIsTUFBVSxFK0NrRzBCLENBQUM7SS9DbEdyQyxJQUFVLEUrQ2tHNkIsS0FBSTtJQUM3QyxhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVkMUZJLE9BQU87SWMyRnJCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDZDNGSCxPQUFPO0k5QnJCckIsTUFBTSxFNENpSFUsSUFBSTtJNUN6R3BCLEtBQUssRTRDeUdTLENBQUM7STlDbkhYLGtCQUFvQixFOENvSEosR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0k5Qy9HbEMsZUFBaUIsRThDK0dELEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJOUNoR2xDLFVBQVksRThDZ0dJLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJQUN0QyxPQUFPLEVBQUUsRUFBRSxHQUNaO0VBaENILEFBa0NFLHNCQWxDb0IsQUFrQ25CLE1BQU0sRVlqSVQsZUFBZSxDWmlJWixNQUFNLEFZc0VQLFlBQVksRW1EbEZkLHdCQUF3QixDQWlhdEIsaUJBQWlCLEMvRHJaaEIsTUFBTSxBK0Q2WkwsWUFBWTtFQXphaEIsd0JBQXdCLENBa2F0QixvQkFBb0IsQy9EdFpuQixNQUFNLEErRDZaTCxZQUFZLEMvRDdaTjtJQUNOLEtBQUssRWR4R0QsSUFBSTtJY3lHUixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2R6R3ZCLElBQUksR2M4R1Q7SUF6Q0gsQUFzQ0ksc0JBdENrQixBQWtDbkIsTUFBTSxBQUlKLE9BQU8sRVlySVosZUFBZSxDWmlJWixNQUFNLEFZc0VQLFlBQVksQVpsRVQsT0FBTyxFK0RoQlosd0JBQXdCLENBaWF0QixpQkFBaUIsQy9EclpoQixNQUFNLEErRDZaTCxZQUFZLEEvRHpaWCxPQUFPO0krRGhCWix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDL0R0Wm5CLE1BQU0sQStENlpMLFlBQVksQS9EelpYLE9BQU8sQ0FBQztNQUNQLFVBQVUsRWQ1R1IsSUFBSSxHYzZHUDtFQXhDTCxBQTJDRSxzQkEzQ29CLEFBMkNuQixNQUFNLEVZMUlULGVBQWUsQ0F1TWIsWUFBWSxBWjdEWCxNQUFNLEUrRHJCVCx3QkFBd0IsQ0FpYXRCLGlCQUFpQixDQVFmLFlBQVksQS9EcFpiLE1BQU07RStEckJULHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksQS9EcFpiLE1BQU0sQ0FBQztJQUNOLEtBQUssRWRqSEQsSUFBSTtJY2tIUixXQUFXLEVBQUUsR0FBRztJQUVoQixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixHQVc3QztJQTFESCxBQWlESSxzQkFqRGtCLEFBMkNuQixNQUFNLEFBTUosTUFBTSxFWWhKWCxlQUFlLENBdU1iLFlBQVksQVo3RFgsTUFBTSxBQU1KLE1BQU0sRStEM0JYLHdCQUF3QixDQWlhdEIsaUJBQWlCLENBUWYsWUFBWSxBL0RwWmIsTUFBTSxBQU1KLE1BQU07SStEM0JYLHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksQS9EcFpiLE1BQU0sQUFNSixNQUFNLENBQUM7TUFDTixLQUFLLEVkakhPLE9BQU87TWNtSG5CLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBQzdDO0lBckRMLEFBdURJLHNCQXZEa0IsQUEyQ25CLE1BQU0sQUFZSixPQUFPLEVZdEpaLGVBQWUsQ0F1TWIsWUFBWSxBWjdEWCxNQUFNLEFBWUosT0FBTyxFK0RqQ1osd0JBQXdCLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZLEEvRHBaYixNQUFNLEFBWUosT0FBTztJK0RqQ1osd0JBQXdCLENBa2F0QixvQkFBb0IsQ0FPbEIsWUFBWSxBL0RwWmIsTUFBTSxBQVlKLE9BQU8sQ0FBQztNNUMzSVQsTUFBTSxFNEM0STRCLElBQUk7TTVDcEl0QyxLQUFLLEU0Q29JVyxpQkFBaUIsR0FDaEM7RUF6REwsQUE0REUsc0JBNURvQixBQTREbkIsT0FBTyxFWTNKVixlQUFlLENBdU1iLFlBQVksQVo1Q1gsT0FBTyxFK0R0Q1Ysd0JBQXdCLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZLEEvRG5ZYixPQUFPO0UrRHRDVix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQU9sQixZQUFZLEEvRG5ZYixPQUFPLENBQUM7SUFDUCxXQUFXLEVBQUUsR0FBRyxHQVNqQjtJQXRFSCxBQStESSxzQkEvRGtCLEFBNERuQixPQUFPLEFBR0wsTUFBTSxBQUFBLE9BQU8sRVk5SmxCLGVBQWUsQ0F1TWIsWUFBWSxBWjVDWCxPQUFPLEFBR0wsTUFBTSxBQUFBLE9BQU8sRStEekNsQix3QkFBd0IsQ0FpYXRCLGlCQUFpQixDQVFmLFlBQVksQS9EblliLE9BQU8sQUFHTCxNQUFNLEFBQUEsT0FBTztJK0R6Q2xCLHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksQS9EblliLE9BQU8sQUFHTCxNQUFNLEFBQUEsT0FBTyxDQUFDO01BQ2IsVUFBVSxFZHBJTixJQUFJLEdjcUlUO0lBakVMLEFBbUVJLHNCQW5Fa0IsQUE0RG5CLE9BQU8sQUFPTCxPQUFPLEVZbEtaLGVBQWUsQ0F1TWIsWUFBWSxBWjVDWCxPQUFPLEFBT0wsT0FBTyxFK0Q3Q1osd0JBQXdCLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZLEEvRG5ZYixPQUFPLEFBT0wsT0FBTztJK0Q3Q1osd0JBQXdCLENBa2F0QixvQkFBb0IsQ0FPbEIsWUFBWSxBL0RuWWIsT0FBTyxBQU9MLE9BQU8sQ0FBQztNQUNQLFVBQVUsRWRySUEsT0FBTyxHY3NJbEI7O0FBS0wsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEV0Ri9KRCxRQUF1QjtFc0ZnSy9CLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRWQ5SVcsT0FBTztFYytJdkIsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsT0FBTztFQUN2QixjQUFjLEVBQUUsVUFBVTtFQUMxQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2RsSkQsT0FBTztFY21KdkIsWUFBWSxFQUFFLENBQUM7RUFDZixRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxPQUFPO0V4Qi9KZixPQUFPLEV3QmdLTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO0U5QzlLMUIsa0JBQW9CLEU4QytLTixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RTlDMUtoQyxlQUFpQixFOEMwS0gsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0U5QzNKaEMsVUFBWSxFOEMySkUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBa0d2QztFdEJwTUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0JtRnZDLEFBQUEsbUJBQW1CLENBQUM7TUFrQmhCLFNBQVMsRXRGOUtILFNBQXVCO004RFUvQixPQUFPLEV3QnFLUSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBOEZsQztFQWpIRCxBQXNCRSxtQkF0QmlCLEFBc0JoQixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJL0M5S2IsUUFBUSxFK0MrS1ksUUFBUTtJL0MzS3hCLEdBQVUsRStDMktnQixDQUFDO0kvQzNLM0IsS0FBVSxFK0MyS2tCLElBQUk7SUFDbEMsZ0JBQWdCLEVBQUUsaURBQTREO0lBQzlFLG1CQUFtQixFQUFFLFVBQVU7SUFDL0IsZUFBZSxFQUFFLFFBQVE7SUFDekIsaUJBQWlCLEVBQUUsUUFBUTtJNUMxTDNCLE1BQU0sRTRDMkxZLElBQUk7STVDbkx0QixLQUFLLEU0Q21MUyxHQUFHO0lBQ2pCLE9BQU8sRUFBRSxFQUFFLEdBQ1o7RUEvQkgsQUFpQ0UsbUJBakNpQixBQWlDaEIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SS9DekxiLFFBQVEsRStDMExZLFFBQVE7SS9DdEx4QixNQUFVLEUrQ3NMMkIsR0FBRTtJL0N0THZDLElBQVUsRStDc0wrQixHQUFFO0lBQzdDLFVBQVUsRWQ3S0ksT0FBTztJOUJyQnJCLE1BQU0sRTRDbU1VLElBQUk7STVDM0xwQixLQUFLLEU0QzJMUyxDQUFDO0k5Q3JNWCxrQkFBb0IsRThDc01KLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJOUNqTWxDLGVBQWlCLEU4Q2lNRCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7STlDbExsQyxVQUFZLEU4Q2tMSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SUFDdEMsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQXhDSCxBQTBDRSxtQkExQ2lCLENBMENqQixPQUFPLENBQUM7SS9Dak1SLFFBQVEsRStDa01ZLFFBQVE7SS9DOUx4QixHQUFVLEUrQzhMZ0IsQ0FBQztJL0M5TDNCLEtBQVUsRStDOExtQixLQUFJO0kvQzlMakMsTUFBVSxFK0M4THdCLENBQUM7STVDek1yQyxNQUFNLEU0QzBNUSxJQUFJO0k1Q2xNbEIsS0FBSyxFNENrTVMsSUFBSTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDZHhMSCxPQUFPO0ljeUxyQixhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsQ0FBQyxHQWlCWDtJQWxFSCxBQW1ESSxtQkFuRGUsQ0EwQ2pCLE9BQU8sQUFTSixPQUFPLEVBbkRaLG1CQUFtQixDQTBDakIsT0FBTyxBQVVKLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO001Q25OYixNQUFNLEU0Q29OYyxLQUFLO001QzVNekIsS0FBSyxFNEM0TVcsR0FBRztNQUNqQixNQUFNLEVBQUUsSUFBSTtNQUNaLFVBQVUsRWRqTUUsT0FBTyxHY2tNcEI7SUF6REwsQUEyREksbUJBM0RlLENBMENqQixPQUFPLEFBaUJKLE9BQU8sQ0FBQztNL0NsTlgsUUFBUSxFK0NtTmMsUUFBUTtNL0MvTTFCLEdBQVUsRStDK01tQixNQUFLO00vQy9NbEMsSUFBVSxFK0MrTW1DLEdBQUcsR0FDakQ7SUE3REwsQUErREksbUJBL0RlLENBMENqQixPQUFPLEFBcUJKLE1BQU0sQ0FBQztNL0N0TlYsUUFBUSxFK0N1TmMsUUFBUTtNL0NuTjFCLE1BQVUsRStDbU42QixNQUFLO00vQ25ONUMsSUFBVSxFK0NtTm1DLEdBQUcsR0FDakQ7RUFqRUwsQUFvRUUsbUJBcEVpQixBQW9FaEIsTUFBTSxDQUFDO0lBQ04sS0FBSyxFZHBORCxJQUFJO0ljcU5SLFlBQVksRWRyTlIsSUFBSSxHYzJPVDtJQTVGSCxBQXdFSSxtQkF4RWUsQUFvRWhCLE1BQU0sQ0FJTCxPQUFPLENBQUM7TUFDTixVQUFVLEVBQUUsV0FBVztNQUN2QixZQUFZLEVkek5WLElBQUksR2MrTlA7TUFoRkwsQUE0RU0sbUJBNUVhLEFBb0VoQixNQUFNLENBSUwsT0FBTyxBQUlKLE9BQU8sRUE1RWQsbUJBQW1CLEFBb0VoQixNQUFNLENBSUwsT0FBTyxBQUtKLE1BQU0sQ0FBQztRQUNOLFVBQVUsRUFBRSxXQUFXLEdBQ3hCO0lBL0VQLEFBa0ZJLG1CQWxGZSxBQW9FaEIsTUFBTSxBQWNKLE9BQU8sQ0FBQztNQUNQLGdCQUFnQixFQUFFLGlEQUF3RDtNQUMxRSxtQkFBbUIsRUFBRSxVQUFVO01BQy9CLGVBQWUsRUFBRSxRQUFRO01BQ3pCLGlCQUFpQixFQUFFLFFBQVEsR0FDNUI7SUF2RkwsQUF5RkksbUJBekZlLEFBb0VoQixNQUFNLEFBcUJKLE1BQU0sQ0FBQztNQUNOLFVBQVUsRUFBRSxXQUFXLEdBQ3hCO0VBM0ZMLEFBOEZFLG1CQTlGaUIsQUE4RmhCLE1BQU0sQ0FBQztJQUNOLEtBQUssRWQ5T0QsSUFBSSxHYytQVDtJQWhISCxBQWlHSSxtQkFqR2UsQUE4RmhCLE1BQU0sQ0FHTCxPQUFPLENBQUM7TUFDTixVQUFVLEVkalBSLElBQUksQ2NpUGEsVUFBVSxHQUM5QjtJQW5HTCxBQXFHSSxtQkFyR2UsQUE4RmhCLE1BQU0sQUFPSixNQUFNLENBQUM7TUFDTixLQUFLLEVkL09PLE9BQU8sR2NnUHBCO0lBdkdMLEFBeUdJLG1CQXpHZSxBQThGaEIsTUFBTSxBQVdKLFdBQVcsQ0FBQztNQUNYLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBQzdDO0lBM0dMLEFBNkdJLG1CQTdHZSxBQThGaEIsTUFBTSxBQWVKLE1BQU0sQ0FBQztNNUMzUVIsTUFBTSxFNEM0UVUsSUFBSTtNNUNwUXBCLEtBQUssRTRDb1FXLElBQUksR0FDbkI7O0FBS0wsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEV2RnJSRCxNQUFzQjtFdUZzUjlCLEtBQUssRWR6UmlCLE9BQU87RWMwUjdCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxPQUFPO0V4QjVRZixPQUFPLEV3QjZRTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBOEQxQjtFQXJFRCxBQVNFLHFCQVRtQixBQVNsQixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLGlCQUFpQixFQUFFLFNBQVM7SS9DdFI5QixRQUFRLEUrQ3VSWSxRQUFRO0kvQ25SeEIsR0FBVSxFK0NtUmdCLEdBQUc7SS9DblI3QixLQUFVLEUrQ21Sb0IsQ0FBQztJOUNoUzdCLGtCQUFvQixFOENpU0osR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0k5QzVSbEMsZUFBaUIsRThDNFJELEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJOUM3UWxDLFVBQVksRThDNlFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUN2QztFQWRILEFBZ0JFLHFCQWhCbUIsQUFnQmxCLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0kvQzVSYixRQUFRLEUrQzZSWSxRQUFRO0kvQ3pSeEIsR0FBVSxFK0N5UmdCLEdBQUc7SS9DelI3QixJQUFVLEUrQ3lSOEIsQ0FBQztJNUNwUzNDLE1BQU0sRTRDcVNZLElBQUk7STVDN1J0QixLQUFLLEU0QzZSUyxHQUFHO0lBQ2pCLFVBQVUsRWRsUkksT0FBTyxHY21SdEI7RUFyQkgsQUF5QkkscUJBekJpQixBQXVCbEIsU0FBUyxBQUVQLE1BQU0sQ0FBQztJNUMzU1IsTUFBTSxFNEM0U2lCLEdBQUc7STVDcFMxQixLQUFLLEU0Q29TVyxNQUFNO0lBQ3BCLGdCQUFnQixFQUFFLHdDQUF3QztJQUMxRCxtQkFBbUIsRUFBRSxZQUFZO0lBQ2pDLGVBQWUsRUFBRSxXQUFXLEdBQzdCO0VBOUJMLEFBZ0NJLHFCQWhDaUIsQUF1QmxCLFNBQVMsQUFTUCxNQUFNLENBQUM7SUFDTixLQUFLLEVkcFNILElBQUksR2N5U1A7SUF0Q0wsQUFtQ00scUJBbkNlLEFBdUJsQixTQUFTLEFBU1AsTUFBTSxBQUdKLE1BQU0sQ0FBQztNQUNOLGdCQUFnQixFQUFFLDhDQUE4QyxHQUNqRTtFQXJDUCxBQTJDSSxxQkEzQ2lCLEFBeUNsQixTQUFTLEFBRVAsTUFBTSxDQUFDO0k1QzdUUixNQUFNLEU0QzhUYyxNQUFNO0k1Q3RUMUIsS0FBSyxFNENzVFcsR0FBRztJQUNqQixnQkFBZ0IsRUFBRSx3Q0FBd0M7SUFDMUQsbUJBQW1CLEVBQUUsV0FBVztJQUNoQyxlQUFlLEVBQUUsUUFBUSxHQUMxQjtFQWhETCxBQWtESSxxQkFsRGlCLEFBeUNsQixTQUFTLEFBU1AsTUFBTSxDQUFDO0lBQ04sS0FBSyxFZHRUSCxJQUFJLEdjMlRQO0lBeERMLEFBcURNLHFCQXJEZSxBQXlDbEIsU0FBUyxBQVNQLE1BQU0sQUFHSixNQUFNLENBQUM7TUFDTixnQkFBZ0IsRUFBRSw4Q0FBOEMsR0FDakU7RUF2RFAsQUE2REkscUJBN0RpQixBQTJEbEIsTUFBTSxBQUVKLFNBQVMsQUFBQSxNQUFNLENBQUM7SUFDZixtQkFBbUIsRUFBRSxNQUFNLEdBQzVCO0VBL0RMLEFBaUVJLHFCQWpFaUIsQUEyRGxCLE1BQU0sQUFNSixTQUFTLEFBQUEsTUFBTSxDQUFDO0lBQ2YsbUJBQW1CLEVBQUUsV0FBVyxHQUNqQzs7QUFLTCxBQUFBLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFNBQVMsRXRGM1ZELE9BQXVCO0VzRjRWL0IsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVkNVVXLE9BQU87RVZSdkIsT0FBTyxFd0JxVk0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHO0VBQ3RCLGNBQWMsRUFBRSxTQUFTLEdBMkIxQjtFQW5DRCxBQVVFLFlBVlUsQUFVVCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJL0M5VmIsUUFBUSxFK0MrVlksUUFBUTtJL0MzVnhCLEdBQVUsRStDMlZnQixJQUFJO0kvQzNWOUIsSUFBVSxFK0MyVitCLENBQUM7STVDdFc1QyxNQUFNLEU0Q3VXYSxHQUFHO0k1Qy9WdEIsS0FBSyxFNEMrVlMsSUFBSTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRWRyVkksT0FBTztJaEN0QmpCLGlCQUFvQixFOEM0V0wsZ0JBQWdCO0k5Q3ZXL0IsY0FBaUIsRThDdVdGLGdCQUFnQjtJOUNsVy9CLGFBQWdCLEU4Q2tXRCxnQkFBZ0I7STlDN1YvQixZQUFlLEU4QzZWQSxnQkFBZ0I7STlDeFYvQixTQUFZLEU4Q3dWRyxnQkFBZ0I7STlDNVcvQixrQkFBb0IsRThDNldKLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJOUN4V2xDLGVBQWlCLEU4Q3dXRCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7STlDelZsQyxVQUFZLEU4Q3lWSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FDdkM7RUFsQkgsQUFzQkksWUF0QlEsQUFvQlQsTUFBTSxBQUVKLE1BQU0sQ0FBQztJNUNoWFIsTUFBTSxFNENpWGUsR0FBRztJNUN6V3hCLEtBQUssRTRDeVdXLElBQUk7SUFDbEIsVUFBVSxFZC9XQyxPQUFPLEdjZ1huQjtFQXpCTCxBQThCSSxZQTlCUSxBQTRCVCxNQUFNLEFBRUosTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7STlDM1hSLGlCQUFvQixFOEM0WEgsZUFBZTtJOUN2WGhDLGNBQWlCLEU4Q3VYQSxlQUFlO0k5Q2xYaEMsYUFBZ0IsRThDa1hDLGVBQWU7STlDN1doQyxZQUFlLEU4QzZXRSxlQUFlO0k5Q3hXaEMsU0FBWSxFOEN3V0ssZUFBZSxHQUNuQzs7QUFLTCxBQUFBLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRXZGbFlELE1BQXNCO0V1Rm1ZOUIsS0FBSyxFZHZZWSxPQUFPO0Vjd1l4QixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsT0FBTztFQUNmLGNBQWMsRUFBRSxVQUFVO0VBQzFCLHVCQUF1QixFQUFFLElBQUk7RUFDN0IsdUJBQXVCLEVBQUUsV0FBVztFQUNwQyxnQkFBZ0IsRUFBRSw0REFHUTtFQUMxQixlQUFlLEVBQUUsU0FBUztFQUMxQixtQkFBbUIsRUFBRSxJQUFJO0U5Q2habkIsa0JBQW9CLEU4Q2laTixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RTlDNVloQyxlQUFpQixFOEM0WUgsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0U5QzdYaEMsVUFBWSxFOEM2WEUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBcUN2QztFQXBERCxBQWlCRSxlQWpCYSxBQWlCWixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJNUNsWlgsTUFBTSxFNENtWmEsR0FBRztJNUMzWXRCLEtBQUssRTRDMllTLElBQUk7SS9DNVlwQixRQUFRLEUrQzZZWSxRQUFRO0kvQ3pZeEIsTUFBVSxFK0N5WTBCLENBQUM7SS9DellyQyxJQUFVLEUrQ3lZNEIsQ0FBQztJQUN6QyxnQkFBZ0IsRUFBRSw0REFHUTtJQUMxQixlQUFlLEVBQUUsU0FBUztJQUMxQixtQkFBbUIsRUFBRSxLQUFLO0k5QzVadEIsa0JBQW9CLEU4QzZaSixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7STlDeFpsQyxlQUFpQixFOEN3WkQsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0k5Q3pZbEMsVUFBWSxFOEN5WUksR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ3ZDO0VBNUJILEFBOEJFLGVBOUJhLEFBOEJaLE1BQU0sQ0FBQztJQUNOLGdCQUFnQixFQUFFLHlEQUdILEdBUWhCO0lBMUNILEFBb0NJLGVBcENXLEFBOEJaLE1BQU0sQUFNSixNQUFNLENBQUM7TUFDTixnQkFBZ0IsRUFBRSx5REFHSCxHQUNoQjtFQXpDTCxBQTRDRSxlQTVDYSxBQTRDWixNQUFNLEVBNUNULGVBQWUsQUE2Q1osT0FBTyxDQUFDO0lBQ1AsbUJBQW1CLEVBQUUsQ0FBQyxHQUt2QjtJQW5ESCxBQWdESSxlQWhEVyxBQTRDWixNQUFNLEFBSUosTUFBTSxFQWhEWCxlQUFlLEFBNkNaLE9BQU8sQUFHTCxNQUFNLENBQUM7TUFDTixtQkFBbUIsRUFBRSxDQUFDLEdBQ3ZCOztBQUtMLEFBQUEsU0FBUyxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEV2RnpiRCxNQUFzQjtFdUYwYjlCLEtBQUssRWQzYm1CLE9BQU87RWM0Yi9CLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFVBQVUsRUFBRSxpREFBaUQsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU07RUFDbkYsZUFBZSxFQUFFLFVBQVU7RUFDM0IsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsSUFBSSxHQUtkO0V0QjFYRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQjRXdkMsQUFBQSxTQUFTLENBQUM7TUFZTixPQUFPLEVBQUUsWUFBWSxHQUV4Qjs7QUFHRCxBQUFBLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsS0FBSztFQUNqQixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRXZGN2NELE1BQXNCO0V1RjhjOUIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLE9BQU87RUFDdkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLEdBQUc7RUFDZixNQUFNLEVBQUUsT0FBTztFQUNmLFVBQVUsRUFBRSx3Q0FBd0MsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU07RUFDM0UsZUFBZSxFQUFFLFFBQVEsR0FDMUI7O0FqQnhORCxBQUFBLE1BQU0sQ2lCME5DO0VBQ0wsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFNBQVMsRXRGNWRELElBQXVCO0VzRjZkL0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLFVBQVU7RXhCcGQxQixPQUFPLEV3QnFkTSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBWS9CO0VBaEJELEFadGFFLGlCWXNhZSxBWnRhZCxPQUFPLENBQUM7SUFDUCxHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxDQUFDO0lBQ1IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFLEtBQUs7SUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtJRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtFVlVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNCa1p2QyxBQUFBLGlCQUFpQixDQUFDO01BUWQsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLENBQUM7TUFDVCxJQUFJLEVBQUUsQ0FBQyxHQU1WO0VBaEJELEFadGFFLGlCWXNhZSxBWnRhZCxPQUFPLENZbWJDO0lBQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FFdmZILEFBQUEsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLFFBQVE7RTFCc0JsQixPQUFPLEUwQnJCTSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7RUFDekIsVUFBVSxFaEJtQlEsT0FBTyxHZ0JvSDFCO0VBMUlELEFBS0Usa0JBTGdCLENBS2hCLFVBQVUsQ0FBQztJN0I0RFQsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHaUNINUM7SUFQSCxBN0JzRk0sa0I2QnRGWSxDQUtoQixVQUFVLEE3QmlGTCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTZCeEZQLEFBU0Usa0JBVGdCLENBU2hCLGNBQWMsQ0FBQztJM0JvQ2YsV0FBNkIsRUFBUyxTQUFzRjtJRm9CMUgsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHaUNFNUM7SUFaSCxBN0JzRk0sa0I2QnRGWSxDQVNoQixjQUFjLEE3QjZFVCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTZCeEZQLEFBY0Usa0JBZGdCLENBY2hCLGNBQWMsQ0FBQztJQUNiLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUMsR0F3Qlg7SUF4Q0gsQUFrQkksa0JBbEJjLENBY2hCLGNBQWMsQ0FJWixFQUFFLENBQUM7TUFDRCxVQUFVLEVBQUUsSUFBSTtNQUNoQixhQUFhLEVBQUUsSUFBSSxHQUtwQjtNQXpCTCxBQXNCTSxrQkF0QlksQ0FjaEIsY0FBYyxDQUlaLEVBQUUsQUFJQyxhQUFhLENBQUM7UUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQXhCUCxBQTJCSSxrQkEzQmMsQ0FjaEIsY0FBYyxDQWFaLE1BQU0sQ0FBQztNQUNMLGFBQWEsRUFBRSxJQUFJLEdBS3BCO01BakNMLEFBOEJNLGtCQTlCWSxDQWNoQixjQUFjLENBYVosTUFBTSxDQUdKLEdBQUcsQ0FBQztRQUNGLElBQUksRUFBRSxHQUFHLEdBQ1Y7SUFoQ1AsQUFtQ0ksa0JBbkNjLENBY2hCLGNBQWMsQ0FxQlosS0FBSyxDQUFDO01BQ0osU0FBUyxFQUFFLElBQUk7TUFDZixLQUFLLEVoQjVCZSxPQUFPO01nQjZCM0IsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUF2Q0wsQUEwQ0Usa0JBMUNnQixDQTBDaEIsTUFBTSxDQUFDO0lBQ0wsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVoQnBDZSxPQUFPO0lnQnFDM0IsV0FBVyxFQUFFLElBQUksR0FDbEI7RUE5Q0gsQUFnREUsa0JBaERnQixDQWdEaEIsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVoQnhDaUIsT0FBTztJZ0J5QzdCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCO0VBdkRILEFBeURFLGtCQXpEZ0IsQ0F5RGhCLHNCQUFzQixFQXpEeEIsa0JBQWtCLENVQWxCLGVBQWUsQ0F1TWIsWUFBWSxFQXZNZCxlQUFlLENWQWYsa0JBQWtCLENVdU1oQixZQUFZLEVWdk1kLGtCQUFrQixDNkRxSGxCLHdCQUF3QixDQWlhdEIsaUJBQWlCLENBUWYsWUFBWSxFQXphaEIsd0JBQXdCLENBaWF0QixpQkFBaUIsQzdEdGhCbkIsa0JBQWtCLEM2RDhoQmQsWUFBWTtFN0Q5aEJoQixrQkFBa0IsQzZEcUhsQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQU9sQixZQUFZLEVBemFoQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDN0R2aEJ0QixrQkFBa0IsQzZEOGhCZCxZQUFZLEM3RHJlUztJQUNyQixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFeEIyQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0J0RnZDLEFBQUEsa0JBQWtCLENBQUM7TTFCdUJqQixPQUFPLEUwQnVDUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0E0RTNCO01BMUlELEFBS0Usa0JBTGdCLENBS2hCLFVBQVUsQ0EyREc7UTdCQ1gsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKcEVoQixRQUFzQztRSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztRaUN3RHpDLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO1FBbkVMLEE3QnNGTSxrQjZCdEZZLENBS2hCLFVBQVUsQTdCaUZMLFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNNkJ4RlAsQUFTRSxrQkFUZ0IsQ0FTaEIsY0FBYyxDQTRERztRM0J4QmpCLFdBQTZCLEVBQVMsRUFBc0Y7UUZvQjFILEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR2lDOEQxQztRQXhFTCxBN0JzRk0sa0I2QnRGWSxDQVNoQixjQUFjLEE3QjZFVCxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TTZCeEZQLEFBa0JJLGtCQWxCYyxDQWNoQixjQUFjLENBSVosRUFBRSxDQTBERztRQUNELFFBQVEsRUFBRSxRQUFRO1E3Qlp0QixLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELFFBQXFDLEdpQ3FFeEM7UUEvRVAsQTdCc0ZNLGtCNkJ0RlksQ0EwRWQsY0FBYyxDQUVaLEVBQUUsQTdCVUQsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO002QnhGUCxBQTJCSSxrQkEzQmMsQ0FjaEIsY0FBYyxDQWFaLE1BQU0sQ0FzREc7UUFDTCxNQUFNLEVBQUUsSUFBSSxHQUNiO01BbkZQLEFBc0ZJLGtCQXRGYyxDQXNGZCxDQUFDLENBQUM7UUFDQSxhQUFhLEVBQUUsR0FBRyxHQUNuQjtNQXhGTCxBQWdERSxrQkFoRGdCLENBZ0RoQixFQUFFLENBMENHO1FBQ0QsYUFBYSxFQUFFLElBQUksR0FDcEI7RXhCTkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0J0RnZDLEFBQUEsa0JBQWtCLENBQUM7TTFCdUJqQixPQUFPLEUwQnlFUSxJQUFJLENBQUMsSUFBSSxHQTBDekI7TUExSUQsQUFrR0ksa0JBbEdjLEFBa0diLE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxFQUFFO1E5Q3hGYixNQUFNLEU4Q3lGVSxJQUFJO1E5Q2pGcEIsS0FBSyxFOENpRlcsSUFBSTtRakRsRnRCLFFBQVEsRWlEbUZjLFFBQVE7UWpEL0UxQixHQUFVLEVpRCtFbUIsS0FBSTtRakQvRWpDLEtBQVUsRWlEK0V5QixLQUFJO1FBQ3ZDLFVBQVUsRUFBRSx3QkFBd0I7UUFDcEMsYUFBYSxFQUFFLEdBQUcsR0FDbkI7TUF4R0wsQUFLRSxrQkFMZ0IsQ0FLaEIsVUFBVSxDQXFHRztRQUNULEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsUUFBUSxHQUNqQjtNQTlHTCxBQVNFLGtCQVRnQixDQVNoQixjQUFjLENBdUdHO1FBQ2IsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSSxHQUNaO01BbkhMLEFBa0JJLGtCQWxCYyxDQWNoQixjQUFjLENBSVosRUFBRSxDQXFHRztRQUNELE9BQU8sRUFBRSxZQUFZO1FBQ3JCLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLFVBQVUsR0FLbkI7UUEvSFAsQUE0SFEsa0JBNUhVLENBcUhkLGNBQWMsQ0FFWixFQUFFLEFBS0MsY0FBYyxDQUFDO1VBQ2QsV0FBVyxFQUFFLEdBQUcsR0FDakI7TUE5SFQsQUEyQkksa0JBM0JjLENBY2hCLGNBQWMsQ0FhWixNQUFNLENBc0dHO1FBQ0wsYUFBYSxFQUFFLENBQUMsR0FDakI7TUFuSVAsQUFtQ0ksa0JBbkNjLENBY2hCLGNBQWMsQ0FxQlosS0FBSyxDQWtHRztRQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FDdElQLEFBQUEsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVEsR0FnRW5CO0VBN0RDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJQUoxQixBQUFBLFdBQVcsQ0FBQztNQUtSLFVBQVUsRUFBRSxtQkFBbUI7TUFDL0IsUUFBUSxFQUFFLElBQUksR0EyRGpCO0VBakVELEFBU0UsV0FUUyxDQVNULEVBQUUsQ0FBQztJQUNELFNBQVMsRTFGQUgsUUFBc0I7STBGQzVCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRWpCSmlCLE9BQU87SWlCSzdCLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCO0VBaEJILEFBa0JFLFdBbEJTLENBa0JULEVBQUUsQ0FBQztJQUNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEVBQUUsVUFBVSxHQWlDdkI7SUF2REgsQUEyQk0sV0EzQkssQ0FrQlQsRUFBRSxBQU9DLE1BQU0sQ0FFTCxFQUFFLENBQUM7TUFDRCxLQUFLLEVqQmpCRCxJQUFJLEdpQnNCVDtNQWpDUCxBQThCUSxXQTlCRyxDQWtCVCxFQUFFLEFBT0MsTUFBTSxDQUVMLEVBQUUsQUFHQyxPQUFPLENBQUM7UUFDUCxLQUFLLEVqQnRCVyxPQUFPLEdpQnVCeEI7SUFoQ1QsQUFvQ0ksV0FwQ08sQ0FrQlQsRUFBRSxDQWtCQSxFQUFFLENBQUM7TUFDRCxRQUFRLEVBQUUsUUFBUTtNQUNsQixTQUFTLEV6RjFCTCxTQUF1QjtNeUYyQjNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGNBQWMsRUFBRSxVQUFVO01BQzFCLEtBQUssRWpCbENhLE9BQU87TWlCbUN6QixNQUFNLEVBQUUsT0FBTztNM0JwQm5CLE9BQU8sRTJCcUJVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7TWpEbkNyQixrQkFBb0IsRWlEb0NGLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNakQvQmxDLGVBQWlCLEVpRCtCQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TWpEaEJsQyxVQUFZLEVpRGdCTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FVckM7TUF0REwsQUE4Q00sV0E5Q0ssQ0FrQlQsRUFBRSxDQWtCQSxFQUFFLEFBVUMsYUFBYSxDQUFDO1FBQ2IsY0FBYyxFQUFFLENBQUMsR0FDbEI7TUFoRFAsQUFrRE0sV0FsREssQ0FrQlQsRUFBRSxDQWtCQSxFQUFFLEFBY0MsT0FBTyxDQUFDO1FBQ1AsV0FBVyxFQUFFLEdBQUc7UUFDaEIsS0FBSyxFakIzQ2EsT0FBTyxHaUI0QzFCO0VBckRQLEFBeURFLFdBekRTLENBeURULFdBQVcsQ0FBQztJbER4Q1osUUFBUSxFa0R5Q1ksUUFBUTtJbERyQ3hCLEdBQVUsRWtEcUNnQixDQUFDO0lsRHJDM0IsSUFBVSxFa0RxQzRCLENBQUM7SUFDekMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRWpCL0JJLE9BQU87SWhDdEJqQixrQkFBb0IsRWlEc0RKLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJakRqRGxDLGVBQWlCLEVpRGlERCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SWpEbENsQyxVQUFZLEVpRGtDSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SUFDdEMsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFJSCxBQUNFLFVBRFEsQ0FDUixFQUFFLENBQUM7RUFDRCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFHSCxBQUVFLFVBRlEsQ0FBQyxNQUFNLENBRWYsRUFBRSxDQUFDO0VBQ0QsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsS0FBSztFQUNiLEtBQUssRWpCcEVHLElBQUk7RWlCcUVaLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFNBQVMsRXpGckVILFNBQXVCO0UwQ0Y3QixNQUFNLEUrQ3dFUSxJQUFJO0UvQ2hFbEIsS0FBSyxFK0NnRVMsSUFBSTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTSxHQVl2QjtFQXRCSCxBQVlJLFVBWk0sQ0FBQyxNQUFNLENBRWYsRUFBRSxDQVVBLENBQUMsQ0FBQztJQUNBLEtBQUssRWpCNUVDLElBQUk7SWhDSFIsa0JBQW9CLEVpRGdGRixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SWpEM0VsQyxlQUFpQixFaUQyRUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0lqRDVEbEMsVUFBWSxFaUQ0RE0sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQ3JDO0VBZkwsQUFpQkksVUFqQk0sQ0FBQyxNQUFNLENBRWYsRUFBRSxBQWVDLGNBQWM7RUFqQm5CLFVBQVUsQ0FBQyxNQUFNLENBRWYsRUFBRSxBQWdCQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ1IsS0FBSyxFakIvRE8sT0FBTztJaUJnRW5CLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQXJCTCxBQXdCRSxVQXhCUSxDQUFDLE1BQU0sQ0F3QmYsV0FBVztBQXhCYixVQUFVLENBQUMsTUFBTSxDQXlCZixjQUFjLENBQUM7RUFDYixVQUFVLEVBQUUsR0FBRyxHQUNoQjs7QUEzQkgsQUE2QkUsVUE3QlEsQ0FBQyxNQUFNLENBNkJmLFlBQVk7QUE3QmQsVUFBVSxDQUFDLE1BQU0sQ0E4QmYsZUFBZTtBQTlCakIsVUFBVSxDQUFDLE1BQU0sQ0ErQmYsZUFBZTtBQS9CakIsVUFBVSxDQUFDLE1BQU0sQ0FnQ2YsV0FBVztBQWhDYixVQUFVLENBQUMsTUFBTSxDQWlDZixXQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsV0FBVyxHQVluQjtFQTlDSCxBQW9DSSxVQXBDTSxDQUFDLE1BQU0sQ0E2QmYsWUFBWSxDQU9WLENBQUM7RUFwQ0wsVUFBVSxDQUFDLE1BQU0sQ0E4QmYsZUFBZSxDQU1iLENBQUM7RUFwQ0wsVUFBVSxDQUFDLE1BQU0sQ0ErQmYsZUFBZSxDQUtiLENBQUM7RUFwQ0wsVUFBVSxDQUFDLE1BQU0sQ0FnQ2YsV0FBVyxDQUlULENBQUM7RUFwQ0wsVUFBVSxDQUFDLE1BQU0sQ0FpQ2YsV0FBVyxDQUdULENBQUMsQ0FBQztJQUNBLE1BQU0sRUFBRSxDQUFDO0lBQ1QsUUFBUSxFQUFFLE1BQU07SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQXpDTCxBQTJDSSxVQTNDTSxDQUFDLE1BQU0sQ0E2QmYsWUFBWSxBQWNULElBQUssQ0FBQSxlQUFlO0VBM0N6QixVQUFVLENBQUMsTUFBTSxDQThCZixlQUFlLEFBYVosSUFBSyxDQUFBLGVBQWU7RUEzQ3pCLFVBQVUsQ0FBQyxNQUFNLENBK0JmLGVBQWUsQUFZWixJQUFLLENBQUEsZUFBZTtFQTNDekIsVUFBVSxDQUFDLE1BQU0sQ0FnQ2YsV0FBVyxBQVdSLElBQUssQ0FBQSxlQUFlO0VBM0N6QixVQUFVLENBQUMsTUFBTSxDQWlDZixXQUFXLEFBVVIsSUFBSyxDQUFBLGVBQWUsRUFBRTtJQUNyQixNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUE3Q0wsQUFnREUsVUFoRFEsQ0FBQyxNQUFNLENBZ0RmLFlBQVksQ0FBQztFQUNYLFVBQVUsRUFBRSw0Q0FBNEMsQ0FBQyxTQUFTLENBQUMsTUFBTTtFQUN6RSxlQUFlLEVBQUUsU0FBUyxHQUMzQjs7QUFuREgsQUFxREUsVUFyRFEsQ0FBQyxNQUFNLENBcURmLGVBQWUsQ0FBQztFQUNkLFVBQVUsRUFBRSwyQ0FBMkMsQ0FBQyxTQUFTLENBQUMsTUFBTTtFQUN4RSxlQUFlLEVBQUUsUUFBUSxHQUMxQjs7QUF4REgsQUEwREUsVUExRFEsQ0FBQyxNQUFNLENBMERmLGVBQWUsQ0FBQztFQUNkLFVBQVUsRUFBRSw0Q0FBNEMsQ0FBQyxTQUFTLENBQUMsTUFBTTtFQUN6RSxlQUFlLEVBQUUsUUFBUSxHQUMxQjs7QUE3REgsQUErREUsVUEvRFEsQ0FBQyxNQUFNLENBK0RmLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSwyQ0FBMkMsQ0FBQyxTQUFTLENBQUMsTUFBTTtFQUN4RSxlQUFlLEVBQUUsUUFBUSxHQUMxQjs7QUFsRUgsQUFvRUUsVUFwRVEsQ0FBQyxNQUFNLENBb0VmLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSwyQ0FBMkMsQ0FBQyxTQUFTLENBQUMsTUFBTTtFQUN4RSxlQUFlLEVBQUUsU0FBUyxHQUMzQjs7QXpCNURDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXlCWHZDLEFBQUEsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQTBFZCxNQUFNLEVBQUUsUUFBUSxHQVduQjtJQXJGRCxBQUVFLFVBRlEsQ0FBQyxNQUFNLENBRWYsRUFBRSxDQTBFRztNQUNELE1BQU0sRUFBRSxLQUFLLEdBQ2Q7SUE5RUwsQUFnRkksVUFoRk0sQ0FBQyxNQUFNLENBZ0ZiLFlBQVk7SUFoRmhCLFVBQVUsQ0FBQyxNQUFNLENBaUZiLFdBQVcsQ0FBQztNQUNWLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FDN0pMLEFBQUEsS0FBSyxDQUFDO0VBQ0osTUFBTSxFQUFFLE9BQU87RUFDZixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLGdCQUFnQixFbEJnRFQsSUFBSTtFa0IvQ1gsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsR0FxSzdEO0VBOUtELEFBV0UsS0FYRyxBQVdGLE1BQU0sQ0FBQztJQUNOLFNBQVMsRUFBRSxPQUFPLEdBS25CO0lBakJILEFBY0ksS0FkQyxBQVdGLE1BQU0sQ0FHTCxhQUFhLENBQUM7TUFDWixLQUFLLEVBQUUsQ0FBQyxHQUNUO0VBR0YsQUFBRCxhQUFTLENBQUM7STVCR1YsT0FBTyxFNEJGUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDM0IsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsVUFBVTtJQUN2QixNQUFNLEVBQUUsSUFBSSxHQUNiO0VBRUEsQUFBRCxXQUFPLENBQUM7SUFDTixRQUFRLEVBQUUsTUFBTTtJQUNoQixXQUFXLEVBQUUsQ0FBQztJQUNkLFFBQVEsRUFBRSxRQUFRLEdBd0JuQjtJQTNCQSxBQUtDLFdBTEssQ0FLTCxNQUFNLENBQUM7TUFDTCxRQUFRLEVBQUUsUUFBUTtNQUNsQixlQUFlLEVBQUUsS0FBSztNQUN0QixtQkFBbUIsRUFBRSxNQUFNO01BQzNCLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsVUFBVSxFQUFFLEtBQUssR0FDbEI7SUFYRixBQWFDLFdBYkssQ0FhTCxNQUFNLENBQUM7TUFDTCxRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLEtBQUssRUFBRSxDQUFDO01BQ1IsVUFBVSxFbEJmQSxPQUFPO01rQmdCakIsS0FBSyxFbEJwQkgsSUFBSTtNa0JxQk4sT0FBTyxFQUFFLENBQUM7TUFDVixTQUFTLEUxRm5DTCxPQUF1QjtNMEZvQzNCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxVQUFVLEdBQzNCO0VBR0YsQUFBRCxhQUFTLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixlQUFlLEVBQUUsS0FBSztJQUN0QixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsVUFBVSxFQUFFLEtBQUs7SUFDakIsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsR0FDekQ7RUFoRUgsQUFrRUUsS0FsRUcsQ0FrRUgsTUFBTSxDQUFDO0lBQ0wsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsQ0FBQztJQUNSLFVBQVUsRWxCekNFLE9BQU87SWtCMENuQixLQUFLLEVsQjlDRCxJQUFJO0lrQitDUixPQUFPLEVBQUUsUUFBUTtJQUNqQixTQUFTLEUxRjdESCxRQUF1QjtJMEY4RDdCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1Ysc0JBQXNCLEVBQUUsR0FBRztJQUMzQix5QkFBeUIsRUFBRSxHQUFHO0lBQzlCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBRUEsQUFBRCxXQUFPLENBQUM7SUFDTixTQUFTLEUxRnZFSCxTQUF1QjtJMEZ3RTdCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLEtBQUssRWxCeENNLE9BQU8sR2tCeUNuQjtFQUVBLEFBQUQsVUFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEUxRmpGSCxPQUF1QjtJMEZrRjdCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRWxCcENrQixPQUFPO0lrQnFDOUIsY0FBYyxFQUFFLFNBQVM7SUFDekIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUFwR0gsQUFzR0UsS0F0R0csQ0FzR0gsYUFBYSxDQUFDO0lBQ1osU0FBUyxFM0Y3RkgsUUFBc0I7STJGOEY1QixXQUFXLEVBQUUsTUFBTTtJQUNuQixhQUFhLEVBQUUsR0FBRztJQUNsQixLQUFLLEVsQmxHaUIsT0FBTyxHa0JtRzlCO0VBM0dILEFBNkdFLEtBN0dHLENBNkdILGlCQUFpQixDQUFDO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFoSEgsQUFrSEUsS0FsSEcsQ0FrSEgsU0FBUyxDQUFDO0lBQ1IsU0FBUyxFQUFFLENBQUM7SUFDWixhQUFhLEVBQUUsR0FBRyxHQXNCbkI7SUExSUgsQUFzSEksS0F0SEMsQ0FrSEgsU0FBUyxDQUlQLElBQUksQ0FBQztNQUNILFNBQVMsRTFGM0dMLFNBQXVCO00wRjRHM0IsY0FBYyxFQUFFLFNBQVM7TUFDekIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFbEI5RGdCLE9BQU87TWtCK0Q1QixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsWUFBWTtNQUNyQixXQUFXLEVBQUUsR0FBRyxHQVlqQjtNQXpJTCxBQStITSxLQS9IRCxDQWtISCxTQUFTLENBSVAsSUFBSSxBQVNELElBQUssQ0FBQSxhQUFhLEVBQUU7UUFDbkIsWUFBWSxFQUFFLElBQUksR0FRbkI7UUF4SVAsQUFrSVEsS0FsSUgsQ0FrSEgsU0FBUyxDQUlQLElBQUksQUFTRCxJQUFLLENBQUEsYUFBYSxDQUdoQixRQUFRLENBQUM7VUFDUixRQUFRLEVBQUUsUUFBUTtVQUNsQixHQUFHLEVBQUUsQ0FBQztVQUNOLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEdBQUcsR0FDYjtFQXZJVCxBQTRJRSxLQTVJRyxDQTRJSCxjQUFjLENBQUM7SUFDYixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRTNGcElILE9BQXNCO0kyRnFJNUIsY0FBYyxFQUFFLEtBQUs7SUFDckIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLFdBQVc7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFbEJ4SUcsSUFBSSxHa0J5SWI7RUFFQSxBQUFELFVBQU0sQ0FBQztJQUNMLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRTFGNUlILE9BQXVCO0kwRjZJN0IsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLElBQUk7SUFDakIsS0FBSyxFbEIvRmtCLE9BQU87SWtCZ0c5QixPQUFPLEVBQUUsV0FBVztJQUNwQixrQkFBa0IsRUFBRSxDQUFDO0lBQ3JCLGtCQUFrQixFQUFFLFFBQVE7SUFDNUIsUUFBUSxFQUFFLE1BQU0sR0FDakI7RUFFQSxBQUFELFNBQUssQ0FBQztJQUNKLFNBQVMsRTFGdkpILElBQXVCO0kwRndKN0IsV0FBVyxFQUFFLEdBQUc7STVCOUlsQixPQUFPLEU0QitJUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO0lBRTlCLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0lBVkEsQWhCakdELFNnQmlHSyxBaEJqR0osT0FBTyxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBQztNQUNSLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0ZwQnZCLElBQUk7TUVxQlQsT0FBTyxFQUFFLFlBQVksR0FDdEI7SWdCdUZBLEFoQmpHRCxTZ0JpR0ssQWhCakdKLE9BQU8sQ2dCd0dHO01BQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FBTUwsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE1BQU0sRUFBRSxPQUFPO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsTUFBTTtFQUNkLFVBQVUsRWxCaktVLE9BQU87RWhDZHJCLGtCQUFvQixFa0RnTE4sR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0VsRDNLaEMsZUFBaUIsRWtEMktILEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFbEQ1SmhDLFVBQVksRWtENEpFLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQXNIdkM7RUE3SEQsQUFTRSxnQkFUYyxDQVNkLGFBQWEsQ0FBQztJQUNaLFFBQVEsRUFBRSxNQUFNO0luRDFLbEIsUUFBUSxFbUQyS1ksUUFBUTtJbkR2S3hCLEdBQVUsRW1EdUtnQixDQUFDO0luRHZLM0IsSUFBVSxFbUR1SzRCLENBQUM7SWhEbEx6QyxNQUFNLEVnRG1MYSxJQUFJO0loRDNLdkIsS0FBSyxFZ0QyS1MsSUFBSSxHQWNuQjtJQTFCSCxBQWNJLGdCQWRZLENBU2QsYUFBYSxDQUtYLEtBQUssQ0FBQztNQUNKLFNBQVMsRTNGdExMLE9BQXNCO00yRnVMMUIsV0FBVyxFQUFFLEdBQUc7TWxEekxkLGlCQUFvQixFa0QwTEgsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsY0FBYztNbERyTGpFLGNBQWlCLEVrRHFMQSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjO01sRGhMakUsYUFBZ0IsRWtEZ0xDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLGNBQWM7TWxEM0tqRSxZQUFlLEVrRDJLRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjO01sRHRLakUsU0FBWSxFa0RzS0ssZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsY0FBYztNQUNuRSxNQUFNLEVBQUUsVUFBVTtNQUNsQixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsR0FBRztNQUNSLFVBQVUsRUFBRSxNQUFNO01BQ2xCLEtBQUssRWxCNUxDLElBQUk7TWtCNkxWLFNBQVMsRUFBRSxLQUFLO01BQ2hCLGNBQWMsRUFBRSxTQUFTLEdBQzFCO0VBekJMLEFBNEJFLGdCQTVCYyxDQTRCZCxRQUFRLENBQUM7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsS0FBSztJNUIxTG5CLE9BQU8sRTRCMkxRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDakM7RUFqQ0gsQUFtQ0UsZ0JBbkNjLENBbUNkLGNBQWMsQ0FBQztJQUNiLFFBQVEsRUFBRSxNQUFNO0luRHBNbEIsUUFBUSxFbURxTVksUUFBUTtJbkRqTXhCLEdBQVUsRW1EaU1nQixDQUFDO0luRGpNM0IsSUFBVSxFbURpTTRCLENBQUM7SWhENU16QyxNQUFNLEVnRDZNUSxJQUFJO0loRHJNbEIsS0FBSyxFZ0RxTVMsSUFBSSxHQW1CbkI7SUF6REgsQUF3Q0ksZ0JBeENZLENBbUNkLGNBQWMsQ0FLWixNQUFNLENBQUM7TUFDTCxRQUFRLEVBQUUsUUFBUTtNaERoTnBCLE1BQU0sRWdEaU5VLElBQUk7TWhEek1wQixLQUFLLEVnRHlNVyxJQUFJO01BQ2xCLGVBQWUsRUFBRSxLQUFLO01BQ3RCLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsaUJBQWlCLEVBQUUsU0FBUztNbER0TjFCLGtCQUFvQixFa0R1TkYsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO01sRGxOcEMsZUFBaUIsRWtEa05DLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtNbERuTXBDLFVBQVksRWtEbU1NLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQVV2QztNQXhETCxBQWdETSxnQkFoRFUsQ0FtQ2QsY0FBYyxDQUtaLE1BQU0sQUFRSCxNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsRUFBRTtRbkRqTmpCLFFBQVEsRW1Ea05nQixRQUFRO1FuRDlNNUIsR0FBVSxFbUQ4TW9CLENBQUM7UW5EOU0vQixLQUFVLEVtRDhNc0IsQ0FBQztRbkQ5TWpDLE1BQVUsRW1EOE13QixDQUFDO1FuRDlNbkMsSUFBVSxFbUQ4TTBCLENBQUM7UWhEek52QyxNQUFNLEVnRDBOWSxJQUFJO1FoRGxOdEIsS0FBSyxFZ0RrTmEsSUFBSTtRQUNsQixVQUFVLEVsQjVNVixJQUFJO1FrQjZNSixPQUFPLEVBQUUsSUFBSTtRbEQ5TmIsa0JBQW9CLEVrRCtOQSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7UWxEMU50QyxlQUFpQixFa0QwTkcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO1FsRDNNdEMsVUFBWSxFa0QyTVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ3ZDO0VBdkRQLEFBMkRFLGdCQTNEYyxDQTJEZCxRQUFRLENBQUM7SUFDUCxhQUFhLEVBQUUsR0FBRztJQUNsQixTQUFTLEUzRnBPSCxPQUFzQjtJMkZxTzVCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRWxCMU9pQixPQUFPLEdrQjJPOUI7RUFuRUgsQUFxRUUsZ0JBckVjLENBcUVkLE1BQU0sQ0FBQztJQUNMLFNBQVMsRTNGN09ILE9BQXNCO0kyRjhPNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFbEJ2UFUsT0FBTyxHa0J3UHZCO0VBN0VILEFBK0VFLGdCQS9FYyxDQStFZCxDQUFDLENBQUM7SUFDQSxTQUFTLEUzRnZQSCxNQUFzQjtJMkZ3UDVCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRWxCNVBpQixPQUFPO0lrQjZQN0IsYUFBYSxFQUFFLElBQUk7SUFDbkIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7RUF0RkgsQUF3RkUsZ0JBeEZjLEFBd0ZiLE1BQU0sQ0FBQztJbERqUUYsaUJBQW9CLEVrRGtRTCxXQUFXO0lsRDdQMUIsY0FBaUIsRWtENlBGLFdBQVc7SWxEeFAxQixhQUFnQixFa0R3UEQsV0FBVztJbERuUDFCLFlBQWUsRWtEbVBBLFdBQVc7SWxEOU8xQixTQUFZLEVrRDhPRyxXQUFXO0lBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBYTlDO0lBdkdILEFBNEZJLGdCQTVGWSxBQXdGYixNQUFNLENBSUwsQ0FBQyxDQUFDO01BQ0EsZUFBZSxFQUFFLGVBQWUsR0FDakM7SUE5RkwsQUFnR0ksZ0JBaEdZLEFBd0ZiLE1BQU0sQ0FRTCxNQUFNLENBQUM7TWxEelFILGlCQUFvQixFa0QwUUgsVUFBVTtNbERyUTNCLGNBQWlCLEVrRHFRQSxVQUFVO01sRGhRM0IsYUFBZ0IsRWtEZ1FDLFVBQVU7TWxEM1AzQixZQUFlLEVrRDJQRSxVQUFVO01sRHRQM0IsU0FBWSxFa0RzUEssVUFBVSxHQUs5QjtNQXRHTCxBQW1HTSxnQkFuR1UsQUF3RmIsTUFBTSxDQVFMLE1BQU0sQUFHSCxNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsR0FBRyxHQUNiO0UxQmpNSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwQjRGdkMsQUFBQSxnQkFBZ0IsQ0FBQztNQTBHYixNQUFNLEVBQUUsTUFBTSxHQW1CakI7TUE3SEQsQUE0QkUsZ0JBNUJjLENBNEJkLFFBQVEsQ0FnRkc7UTVCdlFYLE9BQU8sRTRCd1FVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUM1QjtNQTlHTCxBQTJERSxnQkEzRGMsQ0EyRGQsUUFBUSxDQXFERztRQUNQLGFBQWEsRUFBRSxHQUFHLEdBQ25CO01BbEhMLEFBcUVFLGdCQXJFYyxDQXFFZCxNQUFNLENBK0NHO1FBQ0wsU0FBUyxFM0Y1UkwsUUFBc0I7UTJGNlIxQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtNQXZITCxBQStFRSxnQkEvRWMsQ0ErRWQsQ0FBQyxDQTBDRztRQUNBLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUtMLEFBQUEsWUFBWSxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RS9CbFBoQixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0VJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0VtQzJTN0MsVUFBVSxFQUFFLE1BQU07RUFHbEIsYUFBYSxFQUFFLElBQUk7RWxEL1NiLGtCQUFvQixFa0RnVE4sR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0VsRDNTaEMsZUFBaUIsRWtEMlNILEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFbEQ1UmhDLFVBQVksRWtENFJFLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFQUN0QyxNQUFNLEVBQUUsT0FBTyxHQTBHaEI7RUFsSEQsQS9CNU5NLFkrQjROTSxBL0I1TkwsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0UrQjBOUCxBQVVFLFlBVlUsQUFVVCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLElBQUk7SUFDakIsVUFBVSxFbEIxU00sT0FBTyxHa0IyU3hCO0VBZkgsQUFpQkUsWUFqQlUsQ0FpQlYsUUFBUSxDQUFDO0k1QjVTVCxPQUFPLEU0QjZTUSxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxJQUFJO0luRG5UZCxRQUFRLEVtRG9UWSxRQUFRO0luRGhUeEIsR0FBVSxFbURnVGdCLEdBQUc7SW5EaFQ3QixLQUFVLEVtRGdUb0IsQ0FBQztJbkRoVC9CLElBQVUsRW1EZ1QyQixDQUFDO0lsRDdUcEMsaUJBQW9CLEVrRDhUTCxnQkFBZ0I7SWxEelQvQixjQUFpQixFa0R5VEYsZ0JBQWdCO0lsRHBUL0IsYUFBZ0IsRWtEb1RELGdCQUFnQjtJbEQvUy9CLFlBQWUsRWtEK1NBLGdCQUFnQjtJbEQxUy9CLFNBQVksRWtEMFNHLGdCQUFnQixHQUNwQztFQXRCSCxBQXdCRSxZQXhCVSxDQXdCVixLQUFLLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxXQUFXLEdBU3BCO0lBbkNILEFBNEJJLFlBNUJRLENBd0JWLEtBQUssQ0FJSCxHQUFHLENBQUM7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsTUFBTTtNbER6VVosa0JBQW9CLEVrRDBVRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7TWxEclVwQyxlQUFpQixFa0RxVUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO01sRHRUcEMsVUFBWSxFa0RzVE0sR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ3ZDO0VBbENMLEFBcUNFLFlBckNVLENBcUNWLE1BQU0sQ0FBQztJQUNMLFNBQVMsRTFGM1VILFFBQXVCO0kwRjRVN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUEzQ0gsQUE2Q0UsWUE3Q1UsQ0E2Q1YsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFMUZuVkgsT0FBdUI7STBGb1Y3QixLQUFLLEVsQnhWaUIsT0FBTztJa0J5VjdCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBbkRILEFBcURFLFlBckRVLEFBcURULE1BQU0sQ0FBQztJbEQ5VkYsaUJBQW9CLEVrRCtWTCxXQUFXO0lsRDFWMUIsY0FBaUIsRWtEMFZGLFdBQVc7SWxEclYxQixhQUFnQixFa0RxVkQsV0FBVztJbERoVjFCLFlBQWUsRWtEZ1ZBLFdBQVc7SWxEM1UxQixTQUFZLEVrRDJVRyxXQUFXO0lBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBQzlDO0UxQnBSQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0kwQjROeEMsQUFpQkUsWUFqQlUsQ0FpQlYsUUFBUSxDQTJDRztNNUJ2VlgsT0FBTyxFNEJ3VlUsSUFBSSxHQUNsQjtJQTlETCxBQXdCRSxZQXhCVSxDQXdCVixLQUFLLENBd0NHO01BQ0osS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsVUFBVSxHQUNuQjtJQW5FTCxBQXFDRSxZQXJDVSxDQXFDVixNQUFNLENBZ0NHO01BQ0wsU0FBUyxFMUYzV0wsU0FBdUI7TTBGNFczQixjQUFjLEVBQUUsT0FBTztNQUN2QixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtJQTFFTCxBQTZDRSxZQTdDVSxDQTZDVixDQUFDLENBK0JHO01BQ0EsU0FBUyxFMUZsWEwsU0FBdUI7TTBGbVgzQixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFMUIzU0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEI0TnZDLEFBaUJFLFlBakJVLENBaUJWLFFBQVEsQ0FtRUc7TTVCL1dYLE9BQU8sRTRCZ1hVLElBQUksR0FDbEI7SUF0RkwsQUF3QkUsWUF4QlUsQ0F3QlYsS0FBSyxDQWdFRztNQUNKLEtBQUssRUFBRSxJQUFJO01BQ1gsYUFBYSxFQUFFLElBQUksR0FDcEI7SUEzRkwsQUFxQ0UsWUFyQ1UsQ0FxQ1YsTUFBTSxDQXdERztNQUNMLFNBQVMsRTNGcllMLFFBQXNCO00yRnNZMUIsYUFBYSxFQUFFLENBQUM7TUFDaEIsTUFBTSxFQUFFLElBQUksR0FDYjtJQWpHTCxBQTZDRSxZQTdDVSxDQTZDVixDQUFDLENBc0RHO01BQ0EsT0FBTyxFQUFFLElBQUksR0FDZDtFMUJqVUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEI0TnZDLEFBQUEsWUFBWSxDQUFDO00vQmpQVCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDO01tQ29aM0MsYUFBYSxFQUFFLElBQUksR0FNdEI7TUFsSEQsQWhCdlNFLFlnQnVTVSxBaEJ2U1QsVUFBVyxDQUFBLEVBQUUsRUFBTztRQUNuQixZQUFZLEVuQkdOLFFBQXNDLEdtQkY3QztNZ0JxU0gsQWhCblNFLFlnQm1TVSxBaEJuU1QsVUFBVyxDQUFBLElBQUksRUFBTztRQUNyQixLQUFLLEVBQUUsSUFDVCxHQUFDO01nQmlTSCxBL0I1Tk0sWStCNE5NLEEvQjVOTCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TStCME5QLEFqQ3JPRSxZaUNxT1UsQWpDck9ULFVBQVcsQ0FBQSxFQUFFLEVBQVM7UUFDckIsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO01pQ21PSCxBakNoT0ksWWlDZ09RLEFqQ2hPUCxVQUFXLENBQUEsSUFBSSxFQUFTO1FBQ3ZCLEtBQUssRVR1QlksSUFBSSxHU3RCdEI7TWlDOE5MLEFBcUNFLFlBckNVLENBcUNWLE1BQU0sQ0F5RUc7UUFDTCxTQUFTLEUxRnBaTCxRQUF1QixHMEZxWjVCOztBQUtMLEFBQUEsV0FBVyxDQUFDO0VBQ1YsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsS0FBSztFQUNaLFFBQVEsRUFBRSxRQUFRO0U1Qm5abEIsT0FBTyxFNEJvWk0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO0VBQzNCLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixPQUFPLEVBQUUsQ0FBQztFbER0YUosa0JBQW9CLEVrRHVhTixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RWxEbGFoQyxlQUFpQixFa0RrYUgsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0VsRG5aaEMsVUFBWSxFa0RtWkUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBNEJ2QztFQXJDRCxBQVdFLFdBWFMsQUFXUixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJbkRqYWIsUUFBUSxFbURrYVksUUFBUTtJbkQ5WnhCLEdBQVUsRW1EOFpnQixDQUFDO0luRDlaM0IsS0FBVSxFbUQ4WmtCLENBQUM7SW5EOVo3QixNQUFVLEVtRDhab0IsQ0FBQztJbkQ5Wi9CLElBQVUsRW1EOFpzQixDQUFDO0lBQ25DLFVBQVUsRWxCdlpFLE9BQU87SWtCd1puQixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxFQUFFLEdBQ1o7RUFqQkgsQUFtQkUsV0FuQlMsQ0FtQlQsTUFBTSxDQUFDO0lBQ0wsU0FBUyxFM0ZoYkgsT0FBc0I7STJGaWI1QixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsT0FBTztJQUN2QixLQUFLLEVsQnJhRCxJQUFJLEdrQnNhVDtFQXpCSCxBQTJCRSxXQTNCUyxDQTJCVCxVQUFVLENBQUM7SUFDVCxTQUFTLEUzRnhiSCxRQUFzQjtJMkZ5YjVCLEtBQUssRWxCMWFELElBQUk7SWtCMmFSLGNBQWMsRUFBRSxTQUFTLEdBQzFCO0VBL0JILEFBaUNFLFdBakNTLEFBaUNSLE1BQU0sQ0FBQztJbEQvYkYsaUJBQW9CLEVrRGdjTCxXQUFXO0lsRDNiMUIsY0FBaUIsRWtEMmJGLFdBQVc7SWxEdGIxQixhQUFnQixFa0RzYkQsV0FBVztJbERqYjFCLFlBQWUsRWtEaWJBLFdBQVc7SWxENWExQixTQUFZLEVrRDRhRyxXQUFXO0lBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBQzlDOztBQUlILEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RTVCemJsQixPQUFPLEU0QjBiTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO0VBQ2pDLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VsRDFjYixrQkFBb0IsRWtEMmNOLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtFbER0Y2hDLGVBQWlCLEVrRHNjSCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RWxEdmJoQyxVQUFZLEVrRHViRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0F3RXZDO0VBN0VELEFBT0UsbUJBUGlCLENBT2pCLFdBQVcsQ0FBQztJbkRwY1osUUFBUSxFbURxY1ksUUFBUTtJbkRqY3hCLEdBQVUsRW1EaWNnQixDQUFDO0luRGpjM0IsS0FBVSxFbURpY2tCLENBQUM7SW5EamM3QixNQUFVLEVtRGljb0IsQ0FBQztJbkRqYy9CLElBQVUsRW1EaWNzQixDQUFDO0loRDVjbkMsTUFBTSxFZ0Q2Y1EsSUFBSTtJaERyY2xCLEtBQUssRWdEcWNTLElBQUk7SUFDbEIsVUFBVSxFQUFFLGdEQUFnRCxDQUFDLFNBQVMsQ0FBQyxNQUFNO0lBQzdFLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLE9BQU8sRUFBRSxDQUFDO0lsRGxkTixrQkFBb0IsRWtEbWRKLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJbEQ5Y2xDLGVBQWlCLEVrRDhjRCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SWxEL2JsQyxVQUFZLEVrRCtiSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FVdkM7SUF2QkgsQUFlSSxtQkFmZSxDQU9qQixXQUFXLEFBUVIsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TW5EN2NmLFFBQVEsRW1EOGNjLFFBQVE7TW5EMWMxQixHQUFVLEVtRDBja0IsQ0FBQztNbkQxYzdCLEtBQVUsRW1EMGNvQixDQUFDO01uRDFjL0IsTUFBVSxFbUQwY3NCLENBQUM7TW5EMWNqQyxJQUFVLEVtRDBjd0IsQ0FBQztNQUNuQyxVQUFVLEVsQm5jQSxPQUFPO01rQm9jakIsT0FBTyxFQUFFLEdBQUc7TUFDWixPQUFPLEVBQUUsRUFBRTtNbEQxZFQsa0JBQW9CLEVrRDJkRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7TWxEdGRwQyxlQUFpQixFa0RzZEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO01sRHZjcEMsVUFBWSxFa0R1Y00sR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ3ZDO0VBdEJMLEFBeUJFLG1CQXpCaUIsQ0F5QmpCLE1BQU0sQ0FBQztJQUNMLFNBQVMsRTNGOWRILFFBQXNCO0kyRitkNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsS0FBSyxFbEJsZEQsSUFBSTtJa0JtZFIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7RUFoQ0gsQUFrQ0UsbUJBbENpQixDQWtDakIsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFM0Z2ZUgsT0FBc0I7STJGd2U1QixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVsQjFkRCxJQUFJO0lrQjJkUixRQUFRLEVBQUUsUUFBUSxHQUNuQjtFQXZDSCxBQXlDRSxtQkF6Q2lCLENBeUNqQixvQkFBb0IsQ0FBQztJQUNuQixPQUFPLEVBQUUsWUFBWTtJbkR2ZXZCLFFBQVEsRW1Ed2VZLFFBQVE7SW5EcGV4QixNQUFVLEVtRG9lMEIsSUFBSTtJbkRwZXhDLElBQVUsRW1Eb2UrQixHQUFHO0lsRGpmMUMsaUJBQW9CLEVrRGtmTCxnQkFBZ0I7SWxEN2UvQixjQUFpQixFa0Q2ZUYsZ0JBQWdCO0lsRHhlL0IsYUFBZ0IsRWtEd2VELGdCQUFnQjtJbERuZS9CLFlBQWUsRWtEbWVBLGdCQUFnQjtJbEQ5ZC9CLFNBQVksRWtEOGRHLGdCQUFnQixHQUNwQztFQTdDSCxBQStDRSxtQkEvQ2lCLEFBK0NoQixNQUFNLENBQUM7SWxEcmZGLGlCQUFvQixFa0RzZkwsV0FBVztJbERqZjFCLGNBQWlCLEVrRGlmRixXQUFXO0lsRDVlMUIsYUFBZ0IsRWtENGVELFdBQVc7SWxEdmUxQixZQUFlLEVrRHVlQSxXQUFXO0lsRGxlMUIsU0FBWSxFa0RrZUcsV0FBVyxHQVMvQjtJQXpESCxBQWtESSxtQkFsRGUsQUErQ2hCLE1BQU0sQ0FHTCxXQUFXLENBQUM7TWxEeGZSLGlCQUFvQixFa0R5ZkgsVUFBVTtNbERwZjNCLGNBQWlCLEVrRG9mQSxVQUFVO01sRC9lM0IsYUFBZ0IsRWtEK2VDLFVBQVU7TWxEMWUzQixZQUFlLEVrRDBlRSxVQUFVO01sRHJlM0IsU0FBWSxFa0RxZUssVUFBVSxHQUs5QjtNQXhETCxBQXFETSxtQkFyRGEsQUErQ2hCLE1BQU0sQ0FHTCxXQUFXLEFBR1IsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLElBQUksR0FDZDtFMUJoYkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEJ5WHZDLEFBQUEsbUJBQW1CLENBQUM7TTVCeGJsQixPQUFPLEU0Qm9mUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FpQjlCO01BN0VELEFBeUJFLG1CQXpCaUIsQ0F5QmpCLE1BQU0sQ0FxQ0c7UUFDTCxLQUFLLEVBQUUsS0FBSyxHQUNiO01BaEVMLEFBa0NFLG1CQWxDaUIsQ0FrQ2pCLENBQUMsQ0FnQ0c7UUFDQSxTQUFTLEUzRnZnQkwsUUFBc0I7UTJGd2dCMUIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7TUF0RUwsQUF5Q0UsbUJBekNpQixDQXlDakIsb0JBQW9CLENBK0JHO1FuRHJnQnZCLFFBQVEsRW1Ec2dCYyxRQUFRO1FuRGxnQjFCLEdBQVUsRW1Ea2dCa0IsT0FBTztRbkRsZ0JuQyxLQUFVLEVtRGtnQmtCLE9BQU87UW5EbGdCbkMsTUFBVSxFbURrZ0JrQixPQUFPO1FuRGxnQm5DLElBQVUsRW1Ea2dCa0IsT0FBTztRbEQvZ0JqQyxpQkFBb0IsRWtEZ2hCSCxhQUFhO1FsRDNnQjlCLGNBQWlCLEVrRDJnQkEsYUFBYTtRbER0Z0I5QixhQUFnQixFa0RzZ0JDLGFBQWE7UWxEamdCOUIsWUFBZSxFa0RpZ0JFLGFBQWE7UWxENWY5QixTQUFZLEVrRDRmSyxhQUFhLEdBQ2pDOztBQUtMLEFBQUEsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFVBQVUsRUFBRSx1REFBdUQsR0FvRnBFO0VBMUZELEFBUUUsVUFSUSxBQVFQLE1BQU0sQ0FBQztJQUNOLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FZaEQ7SUF0QkgsQUFZSSxVQVpNLEFBUVAsTUFBTSxDQUlMLGtCQUFrQixDQUFDO01BQ2pCLGdCQUFnQixFbEIzZlAsT0FBTyxHa0I0ZmpCO0lBZEwsQUFnQkksVUFoQk0sQUFRUCxNQUFNLENBUUwsZUFBZTtJQWhCbkIsVUFBVSxBQVFQLE1BQU0sQ0FTTCxxQkFBcUI7SUFqQnpCLFVBQVUsQUFRUCxNQUFNLENBVUwsbUJBQW1CO0lBbEJ2QixVQUFVLEFBUVAsTUFBTSxDQVdMLGVBQWUsQ0FBQztNQUNkLEtBQUssRWxCN2ZGLElBQUksR2tCOGZSO0VBR0YsQUFBRCxpQkFBUSxDQUFDO0lBQ1AsUUFBUSxFQUFFLE1BQU07SUFDaEIsTUFBTSxFQUFFLEtBQUs7SUFDYixXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBRUEsQUFBRCxnQkFBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsS0FBSyxHQUN2QjtFQUVBLEFBQUQsa0JBQVMsQ0FBQztJNUI5aUJWLE9BQU8sRTRCK2lCUSxJQUFJLENBQUMsSUFBSTtJQUN0QixVQUFVLEVBQUUsaUNBQWlDO0lBQzdDLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQUVBLEFBQUQsbUJBQVUsQ0FBQztJQUNULFNBQVMsRTFGamtCSCxRQUF1QjtJMEZra0I3QixLQUFLLEVsQmpoQmtCLE9BQU87SWtCa2hCOUIsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLEtBQUs7SUFDckIsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsVUFBVSxFQUFFLHNCQUFzQixHQUNuQztFQUVBLEFBQUQsZUFBTSxDQUFDO0lBQ0wsU0FBUyxFMUY1a0JILFNBQXVCO0kwRjZrQjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFVBQVUsRUFBRSxzQkFBc0IsR0FDbkM7RUFFQSxBQUFELGVBQU0sQ0FBQztJQUNMLFNBQVMsRTNGdmxCSCxNQUFzQjtJMkZ3bEI1QixLQUFLLEVsQjFsQmlCLE9BQU87SWtCMmxCN0IsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLHNCQUFzQixHQUNuQztFQUVBLEFBQUQscUJBQVksQ0FBQztJQUNYLFNBQVMsRTNGaG1CSCxNQUFzQjtJMkZpbUI1QixLQUFLLEVsQm5tQmlCLE9BQU87SWtCb21CN0IsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLHNCQUFzQixHQUNuQztFQUVBLEFBQUQsZUFBTSxDQUFDO0lBQ0wsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFMUZ4bUJILE9BQXVCO0kwRnltQjdCLEtBQUssRWxCbmtCUSxPQUFPO0lrQm9rQnBCLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQUlILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsS0FBSyxFQUFFLEdBQUc7RUFDVixTQUFTLEVBQUUsS0FBSztFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU8sRUFBRSxvQkFBb0IsR0FnSTlCO0VBcElELEFBTUUsaUJBTmUsQ0FNZixXQUFXLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtJaER4bkJsQixNQUFNLEVnRHluQlEsS0FBSztJaERqbkJuQixLQUFLLEVnRGluQlMsS0FBSztJQUNuQixZQUFZLEVBQUUsSUFBSTtJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTSxHQXFDdkI7SUFoREgsQUFhSSxpQkFiYSxDQU1mLFdBQVcsQ0FPVCxtQkFBbUIsQ0FBQztNQUNsQixhQUFhLEVBQUUsR0FBRztNaEQvbkJwQixNQUFNLEVnRGdvQlUsSUFBSTtNaER4bkJwQixLQUFLLEVnRHduQlcsSUFBSTtNQUNsQixNQUFNLEVBQUUsTUFBTTtNQUNkLFFBQVEsRUFBRSxNQUFNLEdBOEJqQjtNQS9DTCxBQW1CTSxpQkFuQlcsQ0FNZixXQUFXLENBT1QsbUJBQW1CLEFBTWhCLE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUs7UUFDZCxXQUFXLEVBQUUsSUFBSSxHQUNsQjtNQXZCUCxBQXlCTSxpQkF6QlcsQ0FNZixXQUFXLENBT1QsbUJBQW1CLENBWWpCLE1BQU0sQ0FBQztRbkRub0JYLFFBQVEsRW1Eb29CZ0IsUUFBUTtRbkRob0I1QixHQUFVLEVtRGdvQm9CLENBQUM7UW5EaG9CL0IsSUFBVSxFbURnb0JnQyxDQUFDO1FoRDNvQjdDLE1BQU0sRWdENG9CWSxJQUFJO1FoRHBvQnRCLEtBQUssRWdEb29CYSxJQUFJO1FBQ2xCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLG1CQUFtQixFQUFFLE1BQU07UUFDM0IsaUJBQWlCLEVBQUUsU0FBUztRQUM1QixhQUFhLEVBQUUsR0FBRyxHQWVuQjtRQTlDUCxBQWlDUSxpQkFqQ1MsQ0FNZixXQUFXLENBT1QsbUJBQW1CLENBWWpCLE1BQU0sQUFRSCxNQUFNLENBQUM7VUFDTixPQUFPLEVBQUUsRUFBRTtVaERucEJqQixNQUFNLEVnRG9wQmMsSUFBSTtVaEQ1b0J4QixLQUFLLEVnRDRvQmUsSUFBSTtVQUNsQixhQUFhLEVBQUUsR0FBRztVQUNsQixVQUFVLEVBQUUsd0JBQXdCO1VuRC9vQjVDLFFBQVEsRW1EZ3BCa0IsUUFBUTtVbkQ1b0I5QixLQUFVLEVtRDRvQjJCLElBQUk7VW5ENW9CekMsTUFBVSxFbUQ0b0JnQyxHQUFHLEdBQzFDO1FBRUQsQUFDRSwyQkFEeUIsQ0F6Q25DLGlCQUFpQixDQU1mLFdBQVcsQ0FPVCxtQkFBbUIsQ0FZakIsTUFBTSxBQWlCRCxPQUFPLENBQUM7VUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBNUNYLEFBa0RFLGlCQWxEZSxDQWtEZixRQUFRLENBQUM7SUFDUCxPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTTtJQUN0QixLQUFLLEVBQUUseUJBQXlCLEdBK0JqQztJQXBGSCxBQXVESSxpQkF2RGEsQ0FrRGYsUUFBUSxDQUtOLFdBQVcsQ0FBQztNQUNWLEtBQUssRUFBRSxPQUFPO01BQ2QsU0FBUyxFQUFFLFFBQVE7TUFDbkIsV0FBVyxFQUFFLElBQUk7TUFDakIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUE1REwsQUE4REksaUJBOURhLENBa0RmLFFBQVEsQ0FZTixNQUFNLENBQUM7TUFDTCxLQUFLLEVBQUUsT0FBTztNQUNkLFNBQVMsRUFBRSxRQUFRO01BQ25CLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCO0lBbkVMLEFBcUVJLGlCQXJFYSxDQWtEZixRQUFRLENBbUJOLEtBQUssQ0FBQztNQUNKLFNBQVMsRTNGdnJCTCxRQUFzQjtNMkZ3ckIxQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsT0FBTztNQUN2QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtJQTNFTCxBQTZFSSxpQkE3RWEsQ0FrRGYsUUFBUSxDQTJCTixDQUFDLENBQUM7TUFDQSxTQUFTLEUzRi9yQkwsT0FBc0I7TTJGZ3NCMUIsS0FBSyxFbEJsc0JlLE9BQU87TWtCbXNCM0IsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLE1BQU07TUFDdEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFuRkwsQUFzRkUsaUJBdEZlLENBc0ZmLEtBQUssQ0FBQztJQUNKLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0lBNUZILEFBeUZJLGlCQXpGYSxDQXNGZixLQUFLLENBR0gsQ0FBQyxDQUFDO01BQ0EsYUFBYSxFQUFFLElBQUksR0FDcEI7RUEzRkwsQUE4RkUsaUJBOUZlLENBOEZmLEtBQUssQ0FBQztJQUNKLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0UxQnZvQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEJzaUJ2QyxBQUFBLGlCQUFpQixDQUFDO01Bb0dkLE9BQU8sRUFBRSxlQUFlLEdBZ0MzQjtFMUIxcUJHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STBCc2lCdkMsQUFBQSxpQkFBaUIsQ0FBQztNQXdHZCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxZQUFZO01BQ3BCLE9BQU8sRUFBRSxlQUFlLEdBMEIzQjtNQXBJRCxBQU1FLGlCQU5lLENBTWYsV0FBVyxDQXNHRztRQUNWLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLFFBQVEsR0FPakI7UUFySEwsQUF5Qk0saUJBekJXLENBTWYsV0FBVyxDQU9ULG1CQUFtQixDQVlqQixNQUFNLENBdUZxQjtVaERqdUI3QixNQUFNLEVnRGt1QlksS0FBSztVaEQxdEJ2QixLQUFLLEVnRDB0QmEsS0FBSztVQUNuQixLQUFLLEVBQUUsQ0FBQztVQUNSLE1BQU0sRUFBRSxJQUFJLEdBQ2I7TUFwSFAsQUFrREUsaUJBbERlLENBa0RmLFFBQVEsQ0FxRUc7UUFDUCxLQUFLLEVBQUUsSUFBSSxHQU1aO1FBOUhMLEFBNkVJLGlCQTdFYSxDQWtEZixRQUFRLENBMkJOLENBQUMsQ0E2Q0c7VUFDQSxTQUFTLEUzRjV1QlAsUUFBc0I7VTJGNnVCeEIsYUFBYSxFQUFFLENBQUMsR0FDakI7TUE3SFAsQUFzRkUsaUJBdEZlLENBc0ZmLEtBQUssQ0EwQ0c7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFLTCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0I7RUFDMUIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxDQUFDO0VBQ1IsT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE1BQU07RWxEbHdCWixpQkFBb0IsRWtEbXdCUCxnQkFBZ0I7RWxEOXZCN0IsY0FBaUIsRWtEOHZCSixnQkFBZ0I7RWxEenZCN0IsYUFBZ0IsRWtEeXZCSCxnQkFBZ0I7RWxEcHZCN0IsWUFBZSxFa0RvdkJGLGdCQUFnQjtFbEQvdUI3QixTQUFZLEVrRCt1QkMsZ0JBQWdCO0VoRGp3QmpDLE1BQU0sRWdEa3dCWSxJQUFJO0VoRDF2QnRCLEtBQUssRWdEMHZCTyxLQUFLO0VsRHB3QmIsa0JBQW9CLEVrRHF3Qk4sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0VsRGh3QjlCLGVBQWlCLEVrRGd3QkgsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0VsRGp2QjlCLFVBQVksRWtEaXZCRSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0F5SHJDO0VBcElELEFBYUUsd0JBYnNCLEFBYXJCLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7RUFoQkgsQUFrQkUsd0JBbEJzQixDQWtCdEIsTUFBTSxDQUFDO0lBQ0wsTUFBTSxFQUFFLE9BQU87SUFDZixVQUFVLEVBQUUsNENBQTRDLENBQUMsU0FBUyxDQUFDLE1BQU07SUFDekUsZUFBZSxFQUFFLElBQUk7SWhEN3dCckIsTUFBTSxFZ0Q4d0JRLElBQUk7SWhEdHdCbEIsS0FBSyxFZ0Rzd0JTLElBQUk7SW5EdndCcEIsUUFBUSxFbUR3d0JZLFFBQVE7SW5EcHdCeEIsR0FBVSxFbURvd0JnQixDQUFDO0luRHB3QjNCLEtBQVUsRW1Eb3dCbUIsS0FBSSxHQUNwQztFQXhCSCxBQTRCSSx3QkE1Qm9CLENBMEJ0QixXQUFXLENBRVQsS0FBSyxDQUFDO0k1Qnh3QlIsT0FBTyxFNEJ5d0JVLElBQUksQ0FBQyxJQUFJO0lBQ3RCLFVBQVUsRWxCdndCUixJQUFJLEdrQnd3QlA7RUEvQkwsQUFpQ0ksd0JBakNvQixDQTBCdEIsV0FBVyxDQU9ULFlBQVksQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBbkNMLEFBcUNJLHdCQXJDb0IsQ0EwQnRCLFdBQVcsQ0FXVCxXQUFXO0VBckNmLHdCQUF3QixDQTBCdEIsV0FBVyxDQVlULFFBQVEsQ0FBQztJQUNQLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBekNMLEFBMkNJLHdCQTNDb0IsQ0EwQnRCLFdBQVcsQ0FpQlQsV0FBVyxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SWhEcHlCcEIsTUFBTSxFZ0RxeUJVLEtBQUs7SWhEN3hCckIsS0FBSyxFZ0Q2eEJXLEtBQUs7SUFDbkIsWUFBWSxFQUFFLElBQUksR0F5Qm5CO0lBdkVMLEFBZ0RNLHdCQWhEa0IsQ0EwQnRCLFdBQVcsQ0FpQlQsV0FBVyxBQUtSLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO01oRHp5QmYsTUFBTSxFZ0QweUJZLElBQUk7TWhEbHlCdEIsS0FBSyxFZ0RreUJhLElBQUk7TUFDbEIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsVUFBVSxFQUFFLHdCQUF3QjtNbkRyeUIxQyxRQUFRLEVtRHN5QmdCLFFBQVE7TW5EbHlCNUIsS0FBVSxFbURreUJ5QixJQUFJO01uRGx5QnZDLE1BQVUsRW1Ea3lCOEIsR0FBRyxHQUMxQztJQXREUCxBQXdETSx3QkF4RGtCLENBMEJ0QixXQUFXLENBaUJULFdBQVcsQ0FhVCxtQkFBbUIsQ0FBQztNaERoekJ0QixNQUFNLEVnRGl6QlksSUFBSTtNaER6eUJ0QixLQUFLLEVnRHl5QmEsSUFBSTtNQUNsQixhQUFhLEVBQUUsR0FBRztNQUNsQixNQUFNLEVBQUUsTUFBTTtNQUNkLGdCQUFnQixFQUFFLHlCQUF5QjtNQUMzQyxRQUFRLEVBQUUsTUFBTSxHQVNqQjtNQXRFUCxBQStEUSx3QkEvRGdCLENBMEJ0QixXQUFXLENBaUJULFdBQVcsQ0FhVCxtQkFBbUIsQ0FPakIsTUFBTSxDQUFDO1FoRHZ6QlgsTUFBTSxFZ0R3ekJjLElBQUk7UWhEaHpCeEIsS0FBSyxFZ0RnekJlLElBQUk7UUFDbEIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtRQUMzQixpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBckVULEFBMkVNLHdCQTNFa0IsQ0EwQnRCLFdBQVcsQ0ErQ1QsUUFBUSxDQUVOLE1BQU0sQ0FBQztJQUNMLFNBQVMsRTNGcDBCUCxPQUFzQjtJMkZxMEJ4QixLQUFLLEVsQnQwQmEsT0FBTztJa0J1MEJ6QixjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsS0FBSztJQUNyQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQWxGUCxBQW9GTSx3QkFwRmtCLENBMEJ0QixXQUFXLENBK0NULFFBQVEsQ0FXTixLQUFLLENBQUM7SUFDSixTQUFTLEUzRjcwQlAsUUFBc0I7STJGODBCeEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUExRlAsQUE0Rk0sd0JBNUZrQixDQTBCdEIsV0FBVyxDQStDVCxRQUFRLENBbUJOLENBQUMsQ0FBQztJQUNBLFNBQVMsRTNGcjFCUCxNQUFzQjtJMkZzMUJ4QixLQUFLLEVsQngxQmEsT0FBTztJa0J5MUJ6QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsTUFBTTtJQUN0QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQWxHUCxBQXFHSSx3QkFyR29CLENBMEJ0QixXQUFXLENBMkVULEtBQUssQ0FBQztJQUNKLFNBQVMsRTNGOTFCTCxRQUFzQjtJMkYrMUIxQixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVsQmwyQmUsT0FBTyxHa0JtMkI1QjtFQXpHTCxBQTRHRSx3QkE1R3NCLENBNEd0QixZQUFZLENBQUM7SWhEcDJCWCxNQUFNLEVnRHEyQlEsSUFBSTtJaEQ3MUJsQixLQUFLLEVnRDYxQlMsSUFBSTtJQUNsQixhQUFhLEVBQUUsR0FBRyxHQXFCbkI7SUFuSUgsQUFnSEksd0JBaEhvQixDQTRHdEIsWUFBWSxBQUlULE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFsSEwsQUFvSEksd0JBcEhvQixDQTRHdEIsWUFBWSxBQVFULE1BQU0sQ0FBQztNQUNOLFVBQVUsRWxCOTFCUixJQUFJLEdrQisxQlA7SUF0SEwsQUF3SEksd0JBeEhvQixDQTRHdEIsWUFBWSxBQVlULFdBQVcsQ0FBQztNQUNYLEtBQUssRUFBRSxLQUFLO01BQ1osVUFBVSxFQUFFLHVEQUF1RCxDQUFDLFNBQVMsQ0FBQyxNQUFNLENsQm4yQmxGLElBQUk7TWtCbzJCTixlQUFlLEVBQUUsVUFBVSxHQUM1QjtJQTVITCxBQThISSx3QkE5SG9CLENBNEd0QixZQUFZLEFBa0JULFdBQVcsQ0FBQztNQUNYLElBQUksRUFBRSxLQUFLO01BQ1gsVUFBVSxFQUFFLHVEQUF1RCxDQUFDLFNBQVMsQ0FBQyxNQUFNLENsQnoyQmxGLElBQUk7TWtCMDJCTixlQUFlLEVBQUUsVUFBVSxHQUM1Qjs7QUFLTCxBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRWxCbDNCSixJQUFJO0VrQm0zQlYsTUFBTSxFQUFFLE9BQU87RUFDZixTQUFTLEVBQUUsS0FBSztFNUJ2M0JoQixPQUFPLEU0QnczQk0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSTtFbER0NEJ6QixrQkFBb0IsRWtEdTRCTixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RWxEbDRCaEMsZUFBaUIsRWtEazRCSCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RWxEbjNCaEMsVUFBWSxFa0RtM0JFLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQWdGdkM7RUF0RkQsQUFRRSxXQVJTLENBUVQsQ0FBQyxDQUFDO0lsRHo0Qkksa0JBQW9CLEVrRDA0QkosR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0lsRHI0QmxDLGVBQWlCLEVrRHE0QkQsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0lsRHQzQmxDLFVBQVksRWtEczNCSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FDdkM7RUFWSCxBQVlFLFdBWlMsQUFZUixNQUFNLENBQUM7SWxENzRCRixpQkFBb0IsRWtEODRCTCxXQUFXO0lsRHo0QjFCLGNBQWlCLEVrRHk0QkYsV0FBVztJbERwNEIxQixhQUFnQixFa0RvNEJELFdBQVc7SWxELzNCMUIsWUFBZSxFa0QrM0JBLFdBQVc7SWxEMTNCMUIsU0FBWSxFa0QwM0JHLFdBQVc7SUFDOUIsVUFBVSxFQUFFLHlCQUF5QixHQUN0QztFQWZILEFBaUJFLFdBakJTLEFBaUJSLE9BQU8sQ0FBQztJQUNQLFVBQVUsRWxCNzNCSSxPQUFPLEdrQjg0QnRCO0lBbkNILEFBb0JJLFdBcEJPLEFBaUJSLE9BQU8sQ0FHTixhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsQ0FBQztNQUNWLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0lBdkJMLEFBeUJJLFdBekJPLEFBaUJSLE9BQU8sQ0FRTixNQUFNLENBQUM7TUFDTCxPQUFPLEVBQUUsQ0FBQztNQUNWLFVBQVUsRUFBRSxPQUFPLEdBQ3BCO0lBNUJMLEFBOEJJLFdBOUJPLEFBaUJSLE9BQU8sQ0FhTixFQUFFO0lBOUJOLFdBQVcsQUFpQlIsT0FBTyxDQWNOLFlBQVk7SUEvQmhCLFdBQVcsQUFpQlIsT0FBTyxDQWVOLENBQUMsQ0FBQztNQUNBLEtBQUssRWxCajVCSCxJQUFJLEdrQms1QlA7RUFsQ0wsQUFxQ0UsV0FyQ1MsQ0FxQ1QsYUFBYSxDQUFDO0luRDc1QmQsUUFBUSxFbUQ4NUJZLFFBQVE7SW5EMTVCeEIsR0FBVSxFbUQwNUJnQixJQUFJO0luRDE1QjlCLEtBQVUsRW1EMDVCcUIsR0FBRyxHQVVyQztJQWhESCxBQXdDSSxXQXhDTyxDQXFDVCxhQUFhLENBR1gsQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLFlBQVk7TUFDckIsWUFBWSxFQUFFLElBQUksR0FLbkI7TUEvQ0wsQUE0Q00sV0E1Q0ssQ0FxQ1QsYUFBYSxDQUdYLENBQUMsQUFJRSxhQUFhLENBQUM7UUFDYixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQTlDUCxBQWtERSxXQWxEUyxDQWtEVCxNQUFNLENBQUM7SW5EMTZCUCxRQUFRLEVtRDI2QlksUUFBUTtJbkR2NkJ4QixHQUFVLEVtRHU2QmdCLElBQUk7SW5EdjZCOUIsS0FBVSxFbUR1NkJxQixJQUFJO0loRGw3QnJDLE1BQU0sRWdEbTdCYSxHQUFHO0loRDM2QnRCLEtBQUssRWdEMjZCUyxJQUFJO0lBQ2xCLFVBQVUsRWxCcjZCTixJQUFJO0lrQnM2QlIsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQXhESCxBQTBERSxXQTFEUyxDQTBEVCxFQUFFLENBQUM7SUFDRCxRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEUzRjM3QkgsUUFBc0I7STJGNDdCNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLFlBQVksR0FTdEI7SUF4RUgsQUFpRUksV0FqRU8sQ0EwRFQsRUFBRSxBQU9DLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01uRDE3QmYsUUFBUSxFbUQyN0JjLFFBQVE7TW5EdjdCMUIsR0FBVSxFbUR1N0JrQixDQUFDO01uRHY3QjdCLE1BQVUsRW1EdTdCeUIsQ0FBQztNbkR2N0JwQyxJQUFVLEVtRHU3QjRCLEtBQUk7TWhEbDhCNUMsTUFBTSxFZ0RtOEJjLElBQUk7TWhEMzdCeEIsS0FBSyxFZ0QyN0JXLEdBQUc7TUFDakIsTUFBTSxFQUFFLE1BQU07TUFDZCxVQUFVLEVsQmo3QkUsT0FBTyxHa0JrN0JwQjtFQXZFTCxBQTBFRSxXQTFFUyxDQTBFVCxZQUFZLENBQUM7SUFDWCxTQUFTLEUzRjE4QkgsUUFBc0I7STJGMjhCNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsS0FBSyxFbEI5OEJpQixPQUFPO0lrQis4QjdCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBL0VILEFBaUZFLFdBakZTLENBaUZULENBQUMsQ0FBQztJQUNBLFNBQVMsRTNGajlCSCxRQUFzQjtJMkZrOUI1QixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVsQnI5QmlCLE9BQU8sR2tCczlCOUI7O0FFLzlCSCxBQUFBLFdBQVcsQ0FBQztFQUNWLGFBQWEsRUFBRSxJQUFJLEdBMkZwQjtFQTVGRCxBQUdFLFdBSFMsQ0FHVCxRQUFRLEVBSFYsV0FBVyxDQUdDLEtBQUssQ0FBQztJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBTkgsQUFRRSxXQVJTLENBUVQsUUFBUSxDQUFDO0lBQ1AsU0FBUyxFN0ZFSCxPQUFzQjtJNkZENUIsY0FBYyxFQUFFLFNBQVM7SUFDekIsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsV0FBVyxFQUFFLE1BQU0sR0FPcEI7STVCaUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TTRCdEZ4QyxBQVFFLFdBUlMsQ0FRVCxRQUFRLENBQUM7UUFTTCxPQUFPLEVBQUUsS0FBSztRQUNkLFlBQVksRUFBRSxDQUFDO1FBQ2YsYUFBYSxFQUFFLElBQUksR0FFdEI7RUFyQkgsQUF1QkUsV0F2QlMsQ0F1QlQsS0FBSyxDQUFDO0lBQ0osUUFBUSxFQUFFLFFBQVE7SWxEYmxCLE1BQU0sRWtEY1EsSUFBSTtJbERObEIsS0FBSyxFa0RNUyxJQUFJO0lBQ2xCLFlBQVksRUFBRSxHQUFHO0lBQ2pCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcEJ0QkMsT0FBTztJb0J1QnpCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsbUJBQW1CLEVBQUUsTUFBTTtJcERyQnZCLGtCQUFvQixFb0RzQkosR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0lwRGpCbEMsZUFBaUIsRW9EaUJELEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJcERGbEMsVUFBWSxFb0RFSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0E0RHZDO0lBM0ZILEFBZ0NJLFdBaENPLENBdUJULEtBQUssQ0FTSCxJQUFJLENBQUM7TUFDSCxTQUFTLEU3RnRCTCxRQUFzQjtNNkZ1QjFCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLEtBQUs7TUFDWixVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsR0FBRztNQUNoQixPQUFPLEVBQUUsQ0FBQztNQUNWLFVBQVUsRUFBRSxNQUFNO01wRC9CaEIsaUJBQW9CLEVvRGdDSCxnQkFBZ0I7TXBEM0JqQyxjQUFpQixFb0QyQkEsZ0JBQWdCO01wRHRCakMsYUFBZ0IsRW9Ec0JDLGdCQUFnQjtNcERqQmpDLFlBQWUsRW9EaUJFLGdCQUFnQjtNcERaakMsU0FBWSxFb0RZSyxnQkFBZ0I7TXJEdkJ2QyxRQUFRLEVxRHdCYyxRQUFRO01yRHBCMUIsS0FBVSxFcURvQnVCLENBQUM7TXJEcEJsQyxNQUFVLEVxRG9CeUIsQ0FBQztNckRwQnBDLElBQVUsRXFEb0IyQixDQUFDO01wRGpDcEMsa0JBQW9CLEVvRGtDRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7TXBEN0JwQyxlQUFpQixFb0Q2QkMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO01wRGRwQyxVQUFZLEVvRGNNLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUN2QztJQTVDTCxBQThDSSxXQTlDTyxDQXVCVCxLQUFLLEFBdUJGLGFBQWEsQ0FBQztNQUNiLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lBaERMLEFBa0RJLFdBbERPLENBdUJULEtBQUssQUEyQkYsV0FBVyxDQUFDO01BQ1gsT0FBTyxFQUFFLEdBQUcsR0FDYjtJQXBETCxBQXNESSxXQXRETyxDQXVCVCxLQUFLLEFBK0JGLFNBQVMsQ0FBQztNQUNULGdCQUFnQixFcEJsRGYsSUFBSTtNb0JtREwsWUFBWSxFcEJuRFgsSUFBSSxHb0JzRU47TUEzRUwsQUEwRE0sV0ExREssQ0F1QlQsS0FBSyxBQStCRixTQUFTLENBSVIsSUFBSSxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUM7UUFDVixVQUFVLEVBQUUsT0FBTztRQUNuQixNQUFNLEVBQUUsS0FBSyxHQUNkO01BOURQLEFBZ0VNLFdBaEVLLENBdUJULEtBQUssQUErQkYsU0FBUyxBQVVQLG9CQUFvQixDQUFDO1FBQ3BCLGdCQUFnQixFQUFFLCtEQUErRCxHQUNsRjtNQWxFUCxBQW9FTSxXQXBFSyxDQXVCVCxLQUFLLEFBK0JGLFNBQVMsQUFjUCxpQkFBaUIsQ0FBQztRQUNqQixnQkFBZ0IsRUFBRSw0REFBNEQsR0FDL0U7TUF0RVAsQUF3RU0sV0F4RUssQ0F1QlQsS0FBSyxBQStCRixTQUFTLEFBa0JQLFVBQVUsQ0FBQztRQUNWLGdCQUFnQixFQUFFLHFEQUFxRCxHQUN4RTtJQTFFUCxBQTZFSSxXQTdFTyxDQXVCVCxLQUFLLEFBc0RGLG9CQUFvQixDQUFDO01BQ3BCLGdCQUFnQixFQUFFLDBEQUEwRDtNQUM1RSxlQUFlLEVBQUUsV0FBVyxHQUM3QjtJQWhGTCxBQWtGSSxXQWxGTyxDQXVCVCxLQUFLLEFBMkRGLGlCQUFpQixDQUFDO01BQ2pCLGdCQUFnQixFQUFFLHVEQUF1RDtNQUN6RSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtJQXJGTCxBQXVGSSxXQXZGTyxDQXVCVCxLQUFLLEFBZ0VGLFVBQVUsQ0FBQztNQUNWLGdCQUFnQixFQUFFLGdEQUFnRDtNQUNsRSxlQUFlLEVBQUUsV0FBVyxHQUM3Qjs7QUMxRkwsQUFBQSxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLGNBQWMsR0F3R3RDO0U3QnBCRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2QnRGdkMsQUFBQSxPQUFPLENBQUM7TUFLSixPQUFPLEVBQUUsS0FBSyxHQXFHakI7RUFsR0UsQUFBRCxXQUFLLENBQUM7SUFDSixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLFVBQVUsRUFBRSxLQUFLLEdBV2xCO0k3QjhEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO002QjlFcEMsQUFBRCxXQUFLLENBQUM7US9CZU4sT0FBTyxFK0JQVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBUW5DO0lBaEJBLEFBWUcsV0FaQyxBQVdGLE1BQU0sQ0FDTCxhQUFhLENBQUM7TUFDWixLQUFLLEVBQUUsQ0FBQyxHQUNUO0VBSUosQUFBRCxjQUFRLENBQUM7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsTUFBTSxHQW1CakI7SUF4QkEsQUFPQyxjQVBNLEFBT0wsUUFBUSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxDQUFDLEdBU1g7TUFQQyxBQUFBLGVBQWUsQ0FoQmxCLGNBQU8sQUFPTCxRQUFRLENBU1c7UUFDaEIsZ0JBQWdCLEVyQk1ULHNCQUFPLEdxQkxmO01BRUQsQUFBQSxnQkFBZ0IsQ0FwQm5CLGNBQU8sQUFPTCxRQUFRLENBYVk7UUFDakIsZ0JBQWdCLEVBQU8sd0JBQU8sR0FDL0I7RUFJSixBQUFELGFBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsS0FBSztJQUNiLG1CQUFtQixFQUFFLFVBQVU7SUFDL0IsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsS0FBSztJQUN0QixLQUFLLEVBQUUsR0FBRztJQUNWLFVBQVUsRUFBRSxzQkFBc0IsR0FDbkM7RUFFQSxBQUFELGVBQVMsQ0FBQztJQUNSLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFckJaQSxJQUFJO0lxQmFULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBS1g7STdCYUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNNkJ2QnBDLEFBQUQsZUFBUyxDQUFDO1FBUU4sU0FBUyxFQUFFLE9BQU8sR0FFckI7RUFFQSxBQUFELGFBQU8sQ0FBQztJQUNOLFNBQVMsRTdGL0RILE9BQXVCO0k2RmdFN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxjQUFjLEVBQUUsUUFBUTtJQUN4QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVBLEFBQUQsWUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLE9BQU87SUFDZCxTQUFTLEU3RnhFSCxTQUF1QjtJNkZ5RTdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBTXBCO0k3QlBDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTZCSHBDLEFBQUQsWUFBTSxDQUFDO1FBT0gsU0FBUyxFN0Y3RUwsT0FBdUI7UTZGOEUzQixXQUFXLEVBQUUsSUFBSSxHQUVwQjtFQUVBLEFBQUQsV0FBSyxDQUFDO0lBQ0osV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFN0ZwRkgsSUFBdUI7SThEVS9CLE9BQU8sRStCMkVRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7SUFFOUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyQm5ETixPQUFPLEdxQndEbkI7SUFWQSxBbkI3QkQsV21CNkJLLEFuQjdCSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnpCakIsT0FBTztNRTBCbEIsT0FBTyxFQUFFLFlBQVksR0FDdEI7SW1CbUJBLEFuQjdCRCxXbUI2QkssQW5CN0JKLE9BQU8sQ21Cb0NHO01BQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FBSUwsQUFBQSxZQUFZLENBQUM7RUFFWCxPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVyQnpGUSxPQUFPO0VxQjBGekIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU0sR0FrQ2pCO0VBdkNELEFBT0UsWUFQVSxDQU9WLEVBQUUsQ0FBQztJQUNELFNBQVMsRTdGdkdILFNBQXVCO0k2RndHN0IsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFYSCxBQWFFLFlBYlUsQ0FhVixVQUFVLENBQUM7SUFDVCxTQUFTLEVBQUUsS0FBSyxHQUNqQjtFQWZILEFBaUJFLFlBakJVLENBaUJWLEtBQUssQ0FBQztJQUNKLFNBQVMsRTdGakhILFFBQXVCO0k2RmtIN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFckJ4SGUsT0FBTyxDcUJ3SEcsVUFBVSxHQUN6QztFQXJCSCxBQXVCRSxZQXZCVSxBQXVCVCxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsS0FBSztJQUNiLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLFVBQVUsRXJCMUdJLE9BQU87SXFCMkdyQixPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxNQUFNO0lBQ1gsS0FBSyxFQUFFLEtBQUssR0FDYjtFN0J4REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkJzQnZDLEFBQUEsWUFBWSxDQUFDO01BcUNULE9BQU8sRUFBRSxTQUFTLEdBRXJCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1osZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxDQUFDLEdBeUJYO0VBL0JELEFBUUUsYUFSVyxBQVFWLFFBQVEsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxnQkFBZ0IsRXJCbkhMLHVCQUFPO0lxQm9IbEIsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQUVBLEFBQUQsbUJBQU8sQ0FBQztJL0JqSlIsT0FBTyxFK0JrSlEsSUFBSSxDQUFDLENBQUMsR0FDcEI7RUFFQSxBQUFELG1CQUFPLENBQUM7SUFDTixLQUFLLEVyQnZIQSxJQUFJO0lxQndIVCxTQUFTLEU3RmpLSCxNQUF1QjtJNkZrSzdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQ25MSCxBQUVFLFFBRk0sQ0FFTixLQUFLLENBQUM7RUFDSixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxhQUFhO0VBQ3JCLEtBQUssRUFBRSx1QkFBdUI7RUFDOUIsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLE9BQU8sR0E0QmhCO0VBdkNILEFBYUksUUFiSSxDQUVOLEtBQUssQUFXRixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJdkRJZixRQUFRLEV1REhjLFFBQVE7SXZETzFCLEdBQVUsRXVEUGtCLENBQUM7SXZETzdCLEtBQVUsRXVEUG9CLENBQUM7SXZETy9CLE1BQVUsRXVEUHNCLENBQUM7SXZET2pDLElBQVUsRXVEUHdCLENBQUM7SXBESnJDLE1BQU0sRW9ES1UsSUFBSTtJcERHcEIsS0FBSyxFb0RIVyxJQUFJO0lBQ2xCLFVBQVUsRXRCU1IsSUFBSTtJc0JSTixPQUFPLEVBQUUsR0FBRztJQUNaLE9BQU8sRUFBRSxFQUFFO0l0RFZULGtCQUFvQixFc0RXRixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SXRETmxDLGVBQWlCLEVzRE1DLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJdERTbEMsVUFBWSxFc0RUTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7RUFyQkwsQUF1QkksUUF2QkksQ0FFTixLQUFLLEFBcUJGLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxjQUFjLEVBQUUsSUFBSSxHQUNyQjtFQTNCTCxBQTZCSSxRQTdCSSxDQUVOLEtBQUssQUEyQkYsWUFBYSxDQUFBLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQS9CTCxBQW1DTSxRQW5DRSxDQUVOLEtBQUssQUErQkYsTUFBTSxBQUVKLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBTVAsQUFBQSxzQkFBc0IsQ0FBQztFcENYckIsU0FBUyxFb0NZZ0IsS0FBSztFcENWNUIsV0FBSSxFQUFFLElBQUk7RUFDVixZQUFLLEVBQUUsSUFBSTtFSVpiLE9BQU8sRWdDc0JNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztFdkQzQnhCLFFBQVEsRXVENEJVLEtBQUs7RXZEeEJuQixLQUFVLEV1RHdCZ0IsQ0FBQztFdkR4QjNCLE1BQVUsRXVEd0JrQixDQUFDO0V2RHhCN0IsSUFBVSxFdUR3Qm9CLENBQUM7RXREckM3QixpQkFBb0IsRXNEc0NQLGdCQUFnQjtFdERqQzdCLGNBQWlCLEVzRGlDSixnQkFBZ0I7RXRENUI3QixhQUFnQixFc0Q0QkgsZ0JBQWdCO0V0RHZCN0IsWUFBZSxFc0R1QkYsZ0JBQWdCO0V0RGxCN0IsU0FBWSxFc0RrQkMsZ0JBQWdCO0VBQ25DLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsTUFBTTtFdER6Q1osa0JBQW9CLEVzRDBDTixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07RXREckM5QixlQUFpQixFc0RxQ0gsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0V0RHRCOUIsVUFBWSxFc0RzQkUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBaUhyQztFQXpIRCxBN0RuQ0Usc0I2RG1Db0IsQTdEbkNuQixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFNkQrQkgsQUFVRSxzQkFWb0IsQ0FVcEIsTUFBTSxDQUFDO0lBQ0wsTUFBTSxFQUFFLE9BQU87SUFDZixVQUFVLEVBQUUsNENBQTRDLENBQUMsU0FBUyxDQUFDLE1BQU07SUFDekUsZUFBZSxFQUFFLElBQUk7SXBEN0NyQixNQUFNLEVvRDhDUSxJQUFJO0lwRHRDbEIsS0FBSyxFb0RzQ1MsSUFBSTtJdkR2Q3BCLFFBQVEsRXVEd0NZLFFBQVE7SXZEcEN4QixHQUFVLEV1RG9DZ0IsQ0FBQztJdkRwQzNCLEtBQVUsRXVEb0NrQixDQUFDLEdBQ2hDO0VBaEJILEFBa0JFLHNCQWxCb0IsQ0FrQnBCLGtCQUFrQixDQUFDO0lBQ2pCLGFBQWEsRUFBRSxHQUFHLEdBNkJuQjtJQWhESCxBQXFCSSxzQkFyQmtCLENBa0JwQixrQkFBa0IsQ0FHaEIsS0FBSyxDQUFDO01BQ0osS0FBSyxFQUFFLElBQUk7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUVsQixVQUFVLEV0QnRDQSxPQUFPLEdzQjREbEI7TUEvQ0wsQTdEbkNFLHNCNkRtQ29CLENBa0JwQixrQkFBa0IsQ0FHaEIsS0FBSyxBN0R4RE4sT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TTZEK0JILEFBMkJNLHNCQTNCZ0IsQ0FrQnBCLGtCQUFrQixDQUdoQixLQUFLLENBTUgsR0FBRyxDQUFDO1FuQ0xOLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFRZCxLQUFLLEVBQUUsU0FBeUUsR21DSi9FO1FBN0JQLEFuQ21DTSxzQm1DbkNnQixDQWtCcEIsa0JBQWtCLENBR2hCLEtBQUssQ0FNSCxHQUFHLEFuQ1FGLFdBQVcsQ0FBQztVQUNYLEtBQUssRUpyRUgsU0FBcUMsR0lzRXhDO01tQ3JDUCxBQStCTSxzQkEvQmdCLENBa0JwQixrQkFBa0IsQ0FHaEIsS0FBSyxDQVVILFFBQVEsQ0FBQztRQUNQLFFBQVEsRUFBRSxRQUFRO1FuQ1Z0QixLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBUWQsS0FBSyxFQUFFLFNBQXlFO1FtQ0M5RSxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLElBQUk7UWhDeERsQixPQUFPLEVnQ3lEWSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FTekI7UUE5Q1AsQW5DbUNNLHNCbUNuQ2dCLENBa0JwQixrQkFBa0IsQ0FHaEIsS0FBSyxDQVVILFFBQVEsQW5DSVAsV0FBVyxDQUFDO1VBQ1gsS0FBSyxFSnJFSCxTQUFxQyxHSXNFeEM7UW1DckNQLEFBdUNRLHNCQXZDYyxDQWtCcEIsa0JBQWtCLENBR2hCLEtBQUssQ0FVSCxRQUFRLENBUU4sS0FBSyxDQUFDO1V2RGhFWixRQUFRLEV1RGlFa0IsUUFBUTtVdkQ3RDlCLE1BQVUsRXVENkRnQyxJQUFJO1V2RDdEOUMsSUFBVSxFdUQ2RHFDLElBQUk7VUFDL0MsS0FBSyxFdEIxRFAsSUFBSTtVc0IyREYsU0FBUyxFL0YxRVQsTUFBc0I7VStGMkV0QixXQUFXLEVBQUUsSUFBSTtVQUNqQixLQUFLLEVBQUUsaUJBQWlCLEdBQ3pCO0VBN0NULEFBb0RJLHNCQXBEa0IsQ0FrRHBCLGtCQUFrQixDQUVoQixLQUFLLENBQUM7SUFDSixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSx3QkFBd0I7SUFDL0IsWUFBWSxFQUFFLEdBQUc7SUFDakIsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLE9BQU87SUFDZixPQUFPLEVBQUUsSUFBSSxHQXdCZDtJQXRGTCxBQWdFTSxzQkFoRWdCLENBa0RwQixrQkFBa0IsQ0FFaEIsS0FBSyxBQVlGLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO012RDFGakIsUUFBUSxFdUQyRmdCLFFBQVE7TXZEdkY1QixHQUFVLEV1RHVGb0IsQ0FBQztNdkR2Ri9CLEtBQVUsRXVEdUZzQixDQUFDO012RHZGakMsTUFBVSxFdUR1RndCLENBQUM7TXZEdkZuQyxJQUFVLEV1RHVGMEIsQ0FBQztNcERsR3ZDLE1BQU0sRW9EbUdZLElBQUk7TXBEM0Z0QixLQUFLLEVvRDJGYSxJQUFJO01BQ2xCLFVBQVUsRXRCckZWLElBQUk7TXNCc0ZKLE9BQU8sRUFBRSxHQUFHO01BQ1osT0FBTyxFQUFFLEVBQUU7TXREeEdYLGtCQUFvQixFc0R5R0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO010RHBHcEMsZUFBaUIsRXNEb0dHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNdERyRnBDLFVBQVksRXNEcUZRLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztJQXhFUCxBQTBFTSxzQkExRWdCLENBa0RwQixrQkFBa0IsQ0FFaEIsS0FBSyxBQXNCRixNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLO01BQ2QsY0FBYyxFQUFFLElBQUksR0FDckI7SUE5RVAsQUFrRlEsc0JBbEZjLENBa0RwQixrQkFBa0IsQ0FFaEIsS0FBSyxBQTRCRixjQUFjLEFBRVosT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLENBQUMsR0FDWDtFQXBGVCxBQXlGRSxzQkF6Rm9CLEFBeUZuQixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxPQUFPO0lBQ25CLE9BQU8sRUFBRSxFQUFFO0l2RHJIYixRQUFRLEV1RHNIWSxLQUFLO0l2RGxIckIsR0FBVSxFdURrSGEsR0FBRztJdkRsSDFCLEtBQVUsRXVEa0hpQixDQUFDO0l2RGxINUIsSUFBVSxFdURrSHdCLENBQUMsR0FDdEM7RUE5RkgsQUFnR0Usc0JBaEdvQixDQWdHcEIsWUFBWSxDQUFDO0lwRGhJWCxNQUFNLEVvRGlJUSxJQUFJO0lwRHpIbEIsS0FBSyxFb0R5SFMsSUFBSTtJQUNsQixhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsQ0FBQyxHQXFCWDtJQXhISCxBQXFHSSxzQkFyR2tCLENBZ0dwQixZQUFZLEFBS1QsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLElBQUksR0FDZDtJQXZHTCxBQXlHSSxzQkF6R2tCLENBZ0dwQixZQUFZLEFBU1QsTUFBTSxDQUFDO01BQ04sVUFBVSxFdEIzSFIsSUFBSSxHc0I0SFA7SUEzR0wsQUE2R0ksc0JBN0drQixDQWdHcEIsWUFBWSxBQWFULFdBQVcsQ0FBQztNQUNYLEtBQUssRUFBRSxLQUFLO01BQ1osVUFBVSxFQUFFLHlEQUF5RCxDQUFDLFNBQVMsQ0FBQyxNQUFNLEN0QmhJcEYsSUFBSTtNc0JpSU4sZUFBZSxFQUFFLFVBQVUsR0FDNUI7SUFqSEwsQUFtSEksc0JBbkhrQixDQWdHcEIsWUFBWSxBQW1CVCxXQUFXLENBQUM7TUFDWCxJQUFJLEVBQUUsS0FBSztNQUNYLFVBQVUsRUFBRSx5REFBeUQsQ0FBQyxTQUFTLENBQUMsTUFBTSxDdEJ0SXBGLElBQUk7TXNCdUlOLGVBQWUsRUFBRSxVQUFVLEdBQzVCOztBQ2xLTCxBQUFBLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLGFBQWEsRUFBRSxJQUFJLEdBdUhwQjtFQXpIRCxBQUlFLGNBSlksQUFJWCxZQUFZLENBQUM7SUFDWixXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBTkgsQUFRRSxjQVJZLEFBUVgsYUFBYSxDQUFDO0lBQ2IsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFWSCxBQVlFLGNBWlksQ0FZWixhQUFhLENBQUM7SUFDWixTQUFTLEVoR0ZILEtBQXNCO0lnR0c1QixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSTtJQUNuQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQWxCSCxBQW9CRSxjQXBCWSxDQW9CWixTQUFTLENBQUM7SUFDUixjQUFjLEVBQUUsSUFBSTtJQUNwQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3ZCRmYsT0FBTztJdUJHaEIsYUFBYSxFQUFFLElBQUk7SXZEZGYsa0JBQW9CLEV1RGVKLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJdkRWaEMsZUFBaUIsRXVEVUQsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0l2REtoQyxVQUFZLEV1RExJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQTBCckM7SUFsREgsQUEwQkksY0ExQlUsQ0FvQlosU0FBUyxBQU1OLGFBQWEsQ0FBQztNQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lBNUJMLEFBOEJJLGNBOUJVLENBb0JaLFNBQVMsQUFVTixRQUFRLENBQUM7TWpDUFosT0FBTyxFaUNRVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FrQnpCO01BakRMLEFBaUNNLGNBakNRLENBb0JaLFNBQVMsQUFVTixRQUFRLEFBR04sY0FBYyxDQUFDO1FqQ1ZwQixPQUFPLEVpQ1dZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUN0QjtNQW5DUCxBQXFDTSxjQXJDUSxDQW9CWixTQUFTLEFBVU4sUUFBUSxDQU9QLFNBQVMsQ0FBQztRQUNSLEtBQUssRXZCUEssT0FBTyxHdUJhbEI7UUE1Q1AsQUF3Q1EsY0F4Q00sQ0FvQlosU0FBUyxBQVVOLFFBQVEsQ0FPUCxTQUFTLENBR1AsV0FBVyxDQUFDO1VBQ1YsVUFBVSxFQUFFLG1EQUFtRCxDQUFDLFNBQVMsQ0FBQyxNQUFNO1VBQ2hGLGVBQWUsRUFBRSxJQUFJLEdBQ3RCO01BM0NULEFBOENNLGNBOUNRLENBb0JaLFNBQVMsQUFVTixRQUFRLENBZ0JQLE9BQU8sQ0FBQztRQUNOLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFoRFAsQUFvREUsY0FwRFksQ0FvRFosU0FBUyxDQUFDO0lBQ1IsU0FBUyxFL0Z4Q0gsU0FBdUI7SStGeUM3QixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsT0FBTztJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSTtJQUNuQixNQUFNLEVBQUUsT0FBTztJdkRqRFgsa0JBQW9CLEV1RGtESixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SXZEN0NoQyxlQUFpQixFdUQ2Q0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0l2RDlCaEMsVUFBWSxFdUQ4QkksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBY3JDO0lBekVILEFBNkRJLGNBN0RVLENBb0RaLFNBQVMsQ0FTUCxLQUFLLENBQUM7TUFDSixPQUFPLEVBQUUsWUFBWTtNQUNyQixLQUFLLEVBQUUsaUJBQWlCLEdBQ3pCO0lBaEVMLEFBa0VJLGNBbEVVLENBb0RaLFNBQVMsQ0FjUCxXQUFXLENBQUM7TXJEdkRaLE1BQU0sRXFEd0RVLElBQUk7TXJEaERwQixLQUFLLEVxRGdEVyxJQUFJO012RDFEaEIsa0JBQW9CLEV1RDJERixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07TXZEdERsQyxlQUFpQixFdURzREMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO012RHZDbEMsVUFBWSxFdUR1Q00sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO01BQ3BDLFVBQVUsRUFBRSxrREFBa0QsQ0FBQyxTQUFTLENBQUMsTUFBTTtNQUMvRSxlQUFlLEVBQUUsSUFBSTtNQUNyQixLQUFLLEVBQUUsS0FBSyxHQUNiO0VBeEVMLEFBMkVFLGNBM0VZLENBMkVaLE9BQU8sQ0FBQztJQUNOLFNBQVMsRS9GL0RILFFBQXVCO0krRmdFN0IsS0FBSyxFdkJwRWlCLE9BQU87SXVCcUU3QixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsaUJBQWlCO0lBQ3hCLE9BQU8sRUFBRSxJQUFJLEdBS2Q7SUF0RkgsQUFtRkksY0FuRlUsQ0EyRVosT0FBTyxDQVFMLENBQUMsQUFBQSxhQUFhLENBQUM7TUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFL0JDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krQnRGdkMsQUFBQSxjQUFjLENBQUM7TUF5RlgsT0FBTyxFQUFFLFFBQVEsR0FnQ3BCO01BekhELEFBWUUsY0FaWSxDQVlaLGFBQWEsQ0ErRUc7UUFDWixTQUFTLEUvRi9FTCxRQUF1QjtRK0ZnRjNCLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO01BaEdMLEFBb0JFLGNBcEJZLENBb0JaLFNBQVMsQ0E4RUc7UUFDUixjQUFjLEVBQUUsSUFBSTtRQUNwQixhQUFhLEVBQUUsSUFBSSxHQUtwQjtRQXpHTCxBQThCSSxjQTlCVSxDQW9CWixTQUFTLEFBVU4sUUFBUSxDQXdFRztVakMvRWQsT0FBTyxFaUNnRlksSUFBSSxDQUFDLENBQUMsR0FDcEI7TUF4R1AsQUFvREUsY0FwRFksQ0FvRFosU0FBUyxDQXVERztRQUNSLFNBQVMsRS9GL0ZMLFFBQXVCLEcrRm9HNUI7UUFqSEwsQUE2REksY0E3RFUsQ0FvRFosU0FBUyxDQVNQLEtBQUssQ0FpREc7VUFDSixLQUFLLEVBQUUsaUJBQWlCLEdBQ3pCO01BaEhQLEFBMkVFLGNBM0VZLENBMkVaLE9BQU8sQ0F3Q0c7UUFDTixTQUFTLEUvRnZHTCxTQUF1QjtRK0Z3RzNCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLEtBQUssRUFBRSxpQkFBaUIsR0FDekI7O0FDdkhMLEFBQUEsY0FBYyxDQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxPQUFPO0VBQ25CLE1BQU0sRUFBRSxNQUFNO0V0RE1aLE1BQU0sRXNETFksSUFBSTtFdERhdEIsS0FBSyxFc0RiTyxLQUFLO0V6RFluQixRQUFRLEV5RFhVLEtBQUs7RXpEZW5CLEdBQVUsRXlEZlcsR0FBRztFekRleEIsS0FBVSxFeURmZSxDQUFDO0V6RGUxQixJQUFVLEV5RGZzQixDQUFDO0V4REUvQixpQkFBb0IsRXdERFAsZ0JBQWdCO0V4RE03QixjQUFpQixFd0ROSixnQkFBZ0I7RXhEVzdCLGFBQWdCLEV3RFhILGdCQUFnQjtFeERnQjdCLFlBQWUsRXdEaEJGLGdCQUFnQjtFeERxQjdCLFNBQVksRXdEckJDLGdCQUFnQjtFeERDN0Isa0JBQW9CLEV3REFOLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtFeERLOUIsZUFBaUIsRXdETEgsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0V4RG9COUIsVUFBWSxFd0RwQkUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBZ0lyQztFQXpJRCxBQVdFLGNBWFksQUFXWCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFeEJUUCxJQUFJO0l3QlVQLE9BQU8sRUFBRSxJQUFJO0l4RE5ULGNBQW9CLEV3RE9SLFVBQVU7SXhEYXRCLE1BQVksRXdEYkEsVUFBVTtJdERMMUIsTUFBTSxFc0RNUSxLQUFLO0l0REVuQixLQUFLLEVzREZTLEtBQUs7SXpEQ3JCLFFBQVEsRXlEQVksUUFBUTtJekRJeEIsS0FBVSxFeURKcUIsQ0FBQztJekRJaEMsTUFBVSxFeURKd0IsS0FBSTtJekRJdEMsSUFBVSxFeURKNkIsQ0FBQyxHQUMzQztFQW5CSCxBQXFCRSxjQXJCWSxDQXFCWixNQUFNLENBQUM7SUFDTCxNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSw0Q0FBNEMsQ0FBQyxTQUFTLENBQUMsTUFBTTtJQUN6RSxlQUFlLEVBQUUsSUFBSTtJdERickIsTUFBTSxFc0RjUSxJQUFJO0l0RE5sQixLQUFLLEVzRE1TLElBQUk7SXpEUHBCLFFBQVEsRXlEUVksUUFBUTtJekRKeEIsR0FBVSxFeURJZ0IsQ0FBQztJekRKM0IsS0FBVSxFeURJbUIsS0FBSSxHQUtwQztJQS9CSCxBQTRCSSxjQTVCVSxDQXFCWixNQUFNLENBT0osR0FBRyxDQUFDO01BQ0YsT0FBTyxFQUFFLElBQUksR0FDZDtFQTlCTCxBQWlDRSxjQWpDWSxDQWlDWixRQUFRLENBQUM7SUFDUCxRQUFRLEVBQUUsTUFBTTtJQUNoQixPQUFPLEVBQUUsS0FBSyxHQUNmO0VBcENILEFBc0NFLGNBdENZLENBc0NaLFdBQVcsQ0FBQztJQUNWLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxVQUFVO0l0RDdCbkIsTUFBTSxFc0Q4QlksSUFBSTtJdER0QnRCLEtBQUssRXNEc0JTLEdBQUc7SUFDakIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQixpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLFFBQVEsRUFBRSxNQUFNO0l4RHBDWixjQUFvQixFd0RxQ1IsU0FBUztJeERqQnJCLE1BQVksRXdEaUJBLFNBQVMsR0FTMUI7SUF2REgsQUFnREksY0FoRFUsQ0FzQ1osV0FBVyxBQVVSLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO010RHRDYixNQUFNLEVzRHVDVSxJQUFJO010RC9CcEIsS0FBSyxFc0QrQlcsSUFBSTtNQUNsQixVQUFVLEVBQUUsd0JBQXFCO016RGpDckMsUUFBUSxFeURrQ2MsUUFBUTtNekQ5QjFCLEdBQVUsRXlEOEJrQixDQUFDO016RDlCN0IsSUFBVSxFeUQ4QjhCLENBQUM7TUFDekMsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQXRETCxBQXlERSxjQXpEWSxDQXlEWixVQUFVLENBQUM7SUFDVCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsVUFBVTtJQUNuQixLQUFLLEVBQUUsZ0JBQWdCO0lsQ3JDekIsT0FBTyxFa0NzQ1EsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtJQUNoQyxVQUFVLEV4QnBDTixJQUFJO0l3QnFDUixPQUFPLEVBQUUsQ0FBQyxHQVdYO0lBMUVILEFBaUVJLGNBakVVLENBeURaLFVBQVUsQUFRUCxNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNdER2RGIsTUFBTSxFc0R3RFUsTUFBTTtNdERoRHRCLEtBQUssRXNEZ0RXLE1BQU07TUFDcEIsVUFBVSxFeEIxQ1IsSUFBSTtNd0IyQ04sYUFBYSxFQUFFLEdBQUc7TXpEbkR0QixRQUFRLEV5RG9EYyxRQUFRO016RGhEMUIsR0FBVSxFeURnRGtCLENBQUM7TXpEaEQ3QixNQUFVLEV5RGdEeUIsQ0FBQztNekRoRHBDLElBQVUsRXlEZ0Q0QixLQUFJO01BQzFDLE9BQU8sRUFBRSxFQUFFO01BQ1gsTUFBTSxFQUFFLElBQUksR0FDYjtFQXpFTCxBQTRFRSxjQTVFWSxDQTRFWixJQUFJLENBQUM7SUFDSCxNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxJQUFJLEdBK0NqQjtJQTlISCxBL0RRRSxjK0RSWSxDQTRFWixJQUFJLEEvRHBFSCxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0RaSCxBQWtGSSxjQWxGVSxDQTRFWixJQUFJLENBTUYsRUFBRSxDQUFDO01BQ0QsS0FBSyxFQUFFLEdBQUc7TUFDVixLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxVQUFVO01BQ3RCLGNBQWMsRUFBRSxHQUFHO01BQ25CLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDeEJ2RVIsT0FBTztNd0J3RXZCLE1BQU0sRUFBRSxPQUFPO01BQ2YsT0FBTyxFQUFFLEdBQUc7TXhEaEZWLGtCQUFvQixFd0RpRkYsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO014RDVFbEMsZUFBaUIsRXdENEVDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNeEQ3RGxDLFVBQVksRXdENkRNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQW1DckM7TUE3SEwsQUE0Rk0sY0E1RlEsQ0E0RVosSUFBSSxDQU1GLEVBQUUsQ0FVQSxJQUFJLEVBNUZWLGNBQWMsQ0E0RVosSUFBSSxDQU1GLEVBQUUsQ0FVTSxFQUFFLENBQUM7UXhEbkZQLGtCQUFvQixFd0RvRkEsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1F4RC9FcEMsZUFBaUIsRXdEK0VHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtReERoRXBDLFVBQVksRXdEZ0VRLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztNQTlGUCxBQWdHTSxjQWhHUSxDQTRFWixJQUFJLENBTUYsRUFBRSxDQWNBLElBQUksQ0FBQztRQUNILFNBQVMsRWpHdEZQLE9BQXNCO1FpR3VGeEIsY0FBYyxFQUFFLFNBQVM7UUFDekIsY0FBYyxFQUFFLE1BQU07UUFDdEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsS0FBSyxFeEIzRmEsT0FBTyxHd0I0RjFCO01BdEdQLEFBd0dNLGNBeEdRLENBNEVaLElBQUksQ0FNRixFQUFFLENBc0JBLEVBQUUsQ0FBQztRQUNELFNBQVMsRWpHOUZQLFFBQXNCO1FpRytGeEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLE1BQU07UUFDdEIsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFeEJyR1csT0FBTyxHd0JzR3hCO01BOUdQLEFBZ0hNLGNBaEhRLENBNEVaLElBQUksQ0FNRixFQUFFLEFBOEJDLFFBQVEsRUFoSGYsY0FBYyxDQTRFWixJQUFJLENBTUYsRUFBRSxBQStCQyxNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsQ0FBQztRQUNWLFlBQVksRXhCcEZGLE9BQU8sR3dCeUZsQjtRQXhIUCxBQXFIUSxjQXJITSxDQTRFWixJQUFJLENBTUYsRUFBRSxBQThCQyxRQUFRLENBS1AsSUFBSSxFQXJIWixjQUFjLENBNEVaLElBQUksQ0FNRixFQUFFLEFBOEJDLFFBQVEsQ0FLRCxFQUFFLEVBckhoQixjQUFjLENBNEVaLElBQUksQ0FNRixFQUFFLEFBK0JDLE1BQU0sQ0FJTCxJQUFJLEVBckhaLGNBQWMsQ0E0RVosSUFBSSxDQU1GLEVBQUUsQUErQkMsTUFBTSxDQUlDLEVBQUUsQ0FBQztVQUNQLEtBQUssRXhCdkZHLE9BQU8sR3dCd0ZoQjtNQXZIVCxBQTBITSxjQTFIUSxDQTRFWixJQUFJLENBTUYsRUFBRSxBQXdDQyxhQUFhLENBQUM7UUFDYixZQUFZLEVBQUUsSUFBSSxHQUNuQjtFQTVIUCxBQWdJRSxjQWhJWSxDQWdJWixRQUFRLENBQUM7SWxDekdULE9BQU8sRWtDMEdRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07SUFDOUIsVUFBVSxFQUFFLE1BQU0sR0FNbkI7SUF4SUgsQUFvSUksY0FwSVUsQ0FnSVosUUFBUSxDQUlOLFdBQVcsQ0FBQztNQUNWLFNBQVMsRWpHMUhMLFFBQXNCO01pRzJIMUIsS0FBSyxFeEI1SGUsT0FBTyxHd0I2SDVCOztBQ3ZJTCxBQUFBLEtBQUssQ0FBQztFQUNKLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6QnlCVCxJQUFJO0V5QnhCWixVQUFVLEV6QnVCSixJQUFJO0VWSFYsT0FBTyxFbUNuQk0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQTREakM7RUFoRUQsQUFNRSxLQU5HLENBTUgsS0FBSyxDQUFDO0luQ2lCTixPQUFPLEVtQ2hCUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDeEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6Qk9ILE9BQU87SXlCTnpCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDekJNTixPQUFPLEd5QkwxQjtFQVhILEFBYUUsS0FiRyxDQWFILE1BQU0sQ0FBQztJQUNMLFNBQVMsRWxHSEgsUUFBc0I7SWtHSTVCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEtBQUssRXpCVGlCLE9BQU8sR3lCVTlCO0VBbkJILEFBcUJFLEtBckJHLENBcUJILEtBQUssRUFyQlAsS0FBSyxDQXFCSSxNQUFNO0VBckJmLEtBQUssQ0FzQkgsWUFBWTtFQXRCZCxLQUFLLENBdUJILGVBQWUsQ0FBQztJQUNkLE9BQU8sRUFBRSxLQUFLO0lBQ2QsU0FBUyxFbEdkSCxRQUFzQjtJa0dlNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsS0FBSyxFekJwQmlCLE9BQU8sR3lCMEI5QjtJQXBDSCxBQWdDSSxLQWhDQyxDQXFCSCxLQUFLLEFBV0YsTUFBTSxFQWhDWCxLQUFLLENBcUJJLE1BQU0sQUFXVixNQUFNO0lBaENYLEtBQUssQ0FzQkgsWUFBWSxBQVVULE1BQU07SUFoQ1gsS0FBSyxDQXVCSCxlQUFlLEFBU1osTUFBTSxDQUFDO01BQ04sYUFBYSxFQUFFLElBQUk7TUFDbkIsV0FBVyxFQUFFLENBQUMsR0FDZjtFQW5DTCxBQXNDRSxLQXRDRyxDQXNDSCxTQUFTLENBQUM7SUFDUixTQUFTLEVsRzVCSCxRQUFzQjtJa0c2QjVCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRXpCbkNpQixPQUFPLEd5Qm9DOUI7RUE5Q0gsQUFnREUsS0FoREcsQ0FnREgsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFbEd0Q0gsTUFBc0I7SWtHdUM1QixLQUFLLEV6Qm5CUyxPQUFPLEd5Qm9CdEI7RUFuREgsQUFxREUsS0FyREcsQ0FxREgsU0FBUyxDQUFDO0lBQ1IsYUFBYSxFQUFFLElBQUksR0FDcEI7RUF2REgsQUF5REUsS0F6REcsQ0F5REgsWUFBWSxDQUFDO0lBQ1gsU0FBUyxFbEcvQ0gsR0FBc0I7SWtHZ0Q1QixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsT0FBTztJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsS0FBSyxHQUNsQjs7QUMvREgsQUFBQSxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEUxQitDRyxPQUFPO0UwQjlDcEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLEtBQUssR0FrVWxCO0VsQ2hQRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrQ3RGdkMsQUFBQSxlQUFlLENBQUM7TUFPWixVQUFVLEVBQUUsS0FBSyxHQStUcEI7RUEzVEUsQUFBRCxxQkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJQUM5QixXQUFXLEVBQUUsTUFBTTtJcENTckIsT0FBTyxFb0NSUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FNekI7SWxDaUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWtDM0VwQyxBQUFELHFCQUFPLENBQUM7UUFPSixPQUFPLEVBQUUsS0FBSztRcENLbEIsT0FBTyxFb0NKVSxJQUFJLENBQUMsQ0FBQyxHQUV0QjtFQUVBLEFBQUQscUJBQU8sQ0FBQztJQUNOLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLENBQUMsR0FLZjtJbEN1REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNa0MvRHBDLEFBQUQscUJBQU8sQ0FBQztRQU1KLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0VBRUEsQUFBRCxxQkFBTyxDQUFDO0lBQ04sU0FBUyxFbEdyQkgsU0FBdUI7SWtHc0I3QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsQ0FBQztJQUNoQixLQUFLLEUxQmlCQSxJQUFJO0kwQmhCVCxjQUFjLEVBQUUsT0FBTztJQUN2QixXQUFXLEVBQUUsR0FBRyxHQU9qQjtJbEN3Q0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNa0NyRHBDLEFBQUQscUJBQU8sQ0FBQztRQVNKLFNBQVMsRWxHN0JMLE9BQXVCO1FrRzhCM0IsY0FBYyxFQUFFLE1BQU07UUFDdEIsYUFBYSxFQUFFLElBQUksR0FFdEI7RUFFQSxBQUFELG9CQUFNLENBQUM7SUFDTCxTQUFTLEVsR3BDSCxRQUF1QjtJa0dxQzdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLEtBQUssRTFCQ0EsSUFBSSxHMEJNVjtJbEMwQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNa0N0Q3BDLEFBQUQsb0JBQU0sQ0FBQztRQVFILFNBQVMsRWxHM0NMLE9BQXVCO1FrRzRDM0IsY0FBYyxFQUFFLFFBQVE7UUFDeEIsV0FBVyxFQUFFLEdBQUcsR0FFbkI7RUFFQSxBQUFELHVCQUFTLENBQUM7SUFDUixnQkFBZ0IsRTFCVFgsSUFBSTtJMEJVVCxhQUFhLEVBQUUsSUFBSTtJQUNuQixLQUFLLEVBQUUsS0FBSztJQUNaLFdBQVcsRUFBRSxDQUFDO0lBQ2QsVUFBVSxFQUFFLEtBQUs7SUFDakIsVUFBVSxFQUFFLE1BQU07SUFDbEIsUUFBUSxFQUFFLFFBQVE7SXBDOUNwQixPQUFPLEVvQytDUSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FTekI7SWxDT0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNa0N4QnBDLEFBQUQsdUJBQVMsQ0FBQztRQVdOLE1BQU0sRUFBRSxLQUFLO1FBQ2IsVUFBVSxFQUFFLElBQUk7UUFDaEIsS0FBSyxFQUFFLEtBQUs7UXBDcERoQixPQUFPLEVvQ3FEVSxJQUFJO1FBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0VBRUEsQUFBRCw2QkFBZSxFQUNkLDZCQUFjLENBQUM7SUFDZCxVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRTFCbENRLE9BQU8sRzBCbUNyQjtFQUVBLEFBQUQsNkJBQWUsQ0FBQztJQUNkLFNBQVMsRWxHNUVILFNBQXVCO0lrRzZFN0IsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQTVGSCxBQThGRSxlQTlGYSxDQThGYixVQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQztJQUNWLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFVBQVUsRUFBRSxJQUFJO0l2Q2hDaEIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHMkN5RjVDO0lBbkdILEF2Q3NGTSxldUN0RlMsQ0E4RmIsVUFBVSxBdkNSTCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RUtGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrQ3RGdkMsQUE0R0ksZUE1R1csQ0FxR2IsVUFBVSxDQU9SLG1CQUFtQixDQUFDO01BRWhCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxJQUFJO01BQ1osSUFBSSxFQUFFLENBQUMsR0FFVjtFQWxITCxBQW9ISSxlQXBIVyxDQXFHYixVQUFVLENBZVIsbUJBQW1CO0VBcEh2QixlQUFlLENBcUdiLFVBQVUsQ0FnQlIsMEJBQTBCLENBQUM7SUFDekIsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBekhMLEFBMkhJLGVBM0hXLENBcUdiLFVBQVUsQ0FzQlIsSUFBSTtFQTNIUixlQUFlLENBcUdiLFVBQVUsQ0F1QlIsMEJBQTBCLENBQUM7SUFDekIsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsTUFBTSxHQUNqQjtFQS9ITCxBQWlJSSxlQWpJVyxDQXFHYixVQUFVLENBNEJSLEdBQUcsQ0FBQztJQUNGLE1BQU0sRUFBRSxLQUFLO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsT0FBTztJQUVuQixNQUFNLEVBQUUsSUFBSSxHQU1iO0lsQ3RERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01rQ3RGdkMsQUFpSUksZUFqSVcsQ0FxR2IsVUFBVSxDQTRCUixHQUFHLENBQUM7UUFRQSxNQUFNLEVBQUUsSUFBSSxHQUdmO0VBNUlMLEFBZ0pNLGVBaEpTLENBcUdiLFVBQVUsQUF5Q1AsYUFBYSxDQUVaLElBQUksQ0FBQztJQUdILE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFwSlAsQUFzSk0sZUF0SlMsQ0FxR2IsVUFBVSxBQXlDUCxhQUFhLENBUVosVUFBVSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUMsR0FDVjtFQXhKUCxBQTBKTSxlQTFKUyxDQXFHYixVQUFVLEFBeUNQLGFBQWEsQ0FZWixVQUFVLENBQUM7SUFDVCxTQUFTLEVsRzlJUCxTQUF1QjtJa0crSXpCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBN0pQLEFBK0pNLGVBL0pTLENBcUdiLFVBQVUsQUF5Q1AsYUFBYSxDQWlCWixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsRWxHbkpQLE9BQXVCLEdrR29KMUI7RUFqS1AsQUFtS00sZUFuS1MsQ0FxR2IsVUFBVSxBQXlDUCxhQUFhLENBcUJaLFlBQVksQ0FBQztJQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBcktQLEFBdUtNLGVBdktTLENBcUdiLFVBQVUsQUF5Q1AsYUFBYSxDQXlCWiwwQkFBMEIsQ0FBQztJQUN6QixPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBMUtQLEFBNEtNLGVBNUtTLENBcUdiLFVBQVUsQUF5Q1AsYUFBYSxDQThCWixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssb0JBQW9CLEFBQXpCLEVBQTJCO0lBQy9CLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUE5S1AsQUFnTE0sZUFoTFMsQ0FxR2IsVUFBVSxBQXlDUCxhQUFhLENBa0NaLEdBQUc7RUFoTFQsZUFBZSxDQXFHYixVQUFVLEFBeUNQLGFBQWEsQ0FtQ1osbUJBQW1CLENBQUM7SUFDbEIsT0FBTyxFQUFFLElBQUksR0FDZDtFbEM3RkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0N0RnZDLEFBd0xNLGVBeExTLENBcUdiLFVBQVUsQUFtRkwsYUFBYSxDQUFDO01BQ2IsR0FBRyxFQUFJLEtBQUksR0FDWjtJQTFMUCxBQTRMTSxlQTVMUyxDQXFHYixVQUFVLEFBdUZMLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUE5TFAsQUE0R0ksZUE1R1csQ0FxR2IsVUFBVSxDQU9SLG1CQUFtQixDQW9GRztNQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUVYO0VBbk1QLEFBME1JLGVBMU1XLENBdU1iLFlBQVksQUFHVCxNQUFNLENBQUM7SUFDTixVQUFVLEUxQjVLRSxPQUFPO0kwQjZLbkIsS0FBSyxFMUJsTEgsSUFBSSxHMEJtTFA7RUE3TUwsQUFnTkUsZUFoTmEsQ0FnTmIsb0JBQW9CLENBQUM7SUFDbkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLHlCQUF5QjtJQUNyQyxPQUFPLEVBQUUsVUFBVTtJQUNuQixPQUFPLEVBQUUsQ0FBQyxHQTRGWDtJQW5USCxBakVRRSxlaUVSYSxDQWdOYixvQkFBb0IsQWpFeE1uQixPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJaUVaSCxBQTBOSSxlQTFOVyxDQWdOYixvQkFBb0IsQ0FVbEIsRUFBRSxDQUFDO01BQ0QsZUFBZSxFQUFFLElBQUk7TUFDckIsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBOU5MLEFBZ09JLGVBaE9XLENBZ05iLG9CQUFvQixDQWdCbEIsMkJBQTJCLENBQUM7TUFDMUIsS0FBSyxFQUFFLElBQUk7TUFDWCxXQUFXLEVBQUUsR0FBRyxHQXVCakI7TUF6UEwsQUFvT00sZUFwT1MsQ0FnTmIsb0JBQW9CLENBZ0JsQiwyQkFBMkIsQ0FJekIsRUFBRSxDQUFDO1FBQ0QsWUFBWSxFQUFFLElBQUk7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEUxQmpPUyxPQUFPO1EwQmtPckIsU0FBUyxFbkc3TlAsUUFBc0I7UW1HOE54QixPQUFPLEVBQUUsR0FBRztRQUNaLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGNBQWMsRUFBRSxNQUFNLEdBYXZCO1FBeFBQLEFBNk9RLGVBN09PLENBZ05iLG9CQUFvQixDQWdCbEIsMkJBQTJCLENBSXpCLEVBQUUsQ0FTQSxDQUFDLENBQUM7VUFDQSxLQUFLLEUxQnhPTyxPQUFPLEcwQnlPcEI7UUEvT1QsQUFpUFEsZUFqUE8sQ0FnTmIsb0JBQW9CLENBZ0JsQiwyQkFBMkIsQ0FJekIsRUFBRSxBQWFDLGFBQWEsQ0FBQztVQUNiLFlBQVksRUFBRSxDQUFDLEdBQ2hCO1FBblBULEFBcVBRLGVBclBPLENBZ05iLG9CQUFvQixDQWdCbEIsMkJBQTJCLENBSXpCLEVBQUUsQUFpQkMsTUFBTSxDQUFDO1VBQ04sT0FBTyxFQUFFLENBQUMsR0FDWDtJQXZQVCxBQTJQSSxlQTNQVyxDQWdOYixvQkFBb0IsQ0EyQ2xCLDBCQUEwQixDQUFDO01BQ3pCLEtBQUssRUFBRSxLQUFLO01BQ1osU0FBUyxFbEdoUEwsUUFBdUI7TWtHaVAzQixjQUFjLEVBQUUsU0FBUztNQUN6QixLQUFLLEUxQnJQZSxPQUFPO00wQnNQM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsVUFBVSxFQUFFLEdBQUc7TUFDZixjQUFjLEVBQUUsS0FBSyxHQVd0QjtNQTdRTCxBQW9RTSxlQXBRUyxDQWdOYixvQkFBb0IsQ0EyQ2xCLDBCQUEwQixDQVN4QixFQUFFLENBQUM7UUFDRCxPQUFPLEVBQUUsWUFBWTtRcEM5TzNCLE9BQU8sRW9DK09ZLENBQUMsQ0FBQyxJQUFJO1FBQ25CLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDMUIvUE4sT0FBTyxHMEJvUXhCO1FBNVFQLEFBeVFRLGVBelFPLENBZ05iLG9CQUFvQixDQTJDbEIsMEJBQTBCLENBU3hCLEVBQUUsQUFLQyxjQUFjLENBQUM7VUFDZCxXQUFXLEVBQUUsQ0FBQyxHQUNmO0lsQ3JMTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01rQ3RGdkMsQUFnTkUsZUFoTmEsQ0FnTmIsb0JBQW9CLENBQUM7UUFnRWpCLE9BQU8sRUFBRSxhQUFhLEdBbUN6QjtRQW5USCxBQWtSTSxlQWxSUyxDQWdOYixvQkFBb0IsQ0FrRWhCLDBCQUEwQjtRQWxSaEMsZUFBZSxDQWdOYixvQkFBb0IsQ0FtRWhCLDJCQUEyQixDQUFDO1VBQzFCLEtBQUssRUFBRSxJQUFJO1VBQ1gsS0FBSyxFQUFFLElBQUksR0FLWjtVQTFSUCxBQXVSUSxlQXZSTyxDQWdOYixvQkFBb0IsQ0FrRWhCLDBCQUEwQixDQUt4QixFQUFFO1VBdlJWLGVBQWUsQ0FnTmIsb0JBQW9CLENBbUVoQiwyQkFBMkIsQ0FJekIsRUFBRSxDQUFDO1lBQ0QsS0FBSyxFQUFFLElBQUksR0FDWjtRQXpSVCxBQWdPSSxlQWhPVyxDQWdOYixvQkFBb0IsQ0FnQmxCLDJCQUEyQixDQTRERztVQUMxQixhQUFhLEVBQUUsR0FBRyxHQU9uQjtVQXBTUCxBQTZPUSxlQTdPTyxDQWdOYixvQkFBb0IsQ0FnQmxCLDJCQUEyQixDQUl6QixFQUFFLENBU0EsQ0FBQyxDQWtESTtZQUNILFNBQVMsRWxHblJULFNBQXVCO1lrR29SdkIsS0FBSyxFMUJyUkgsSUFBSTtZMEJzUk4sV0FBVyxFQUFFLEdBQUcsR0FDakI7UUFuU1QsQUEyUEksZUEzUFcsQ0FnTmIsb0JBQW9CLENBMkNsQiwwQkFBMEIsQ0EyQ0c7VUFDekIsVUFBVSxFQUFFLENBQUMsR0FVZDtVQWpUUCxBQW9RTSxlQXBRUyxDQWdOYixvQkFBb0IsQ0EyQ2xCLDBCQUEwQixDQVN4QixFQUFFLENBcUNHO1lBQ0QsY0FBYyxFQUFFLEtBQUs7WUFDckIsT0FBTyxFQUFFLFlBQVksR0FLdEI7WUFoVFQsQUF5UVEsZUF6UU8sQ0FnTmIsb0JBQW9CLENBMkNsQiwwQkFBMEIsQ0FTeEIsRUFBRSxBQUtDLGNBQWMsQ0FvQ0c7Y0FDZCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QUMvU1gsQUFBQSxXQUFXLENBQUM7RUFDVixhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUNoQixNQUFNLEVBQUUsT0FBTyxHQTRLaEI7RUExS0UsQUFBRCxpQkFBTyxDQUFDO0lBQ04sUUFBUSxFQUFFLE1BQU07SUFDaEIsV0FBVyxFQUFFLENBQUM7SUFDZCxLQUFLLEVBQUUsS0FBSyxHQUNiO0VBRUEsQUFBRCxpQkFBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsS0FBSztJQUNqQixpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLG1CQUFtQixFQUFFLE1BQU0sR0FNNUI7SW5DZ0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1DM0VwQyxBQUFELGlCQUFPLENBQUM7UUFTSixVQUFVLEVBQUUsSUFBSSxHQUVuQjtFQUVBLEFBQUQsbUJBQVMsQ0FBQztJQUNSLGdCQUFnQixFM0I2QlgsSUFBSTtJVi9CWCxPQUFPLEVxQ0dRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDaEMsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTSxHQVN2QjtJbkNpREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNbUM5RHJDLEFBQUQsbUJBQVMsQ0FBQztRckNEVixPQUFPLEVxQ1FVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FNbkM7SW5DaURDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1DOURwQyxBQUFELG1CQUFTLENBQUM7UXJDRFYsT0FBTyxFcUNZVSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBRWxDO0VBRUEsQUFBRCxpQkFBTyxDQUFDO0lBQ04sU0FBUyxFbkczQkgsTUFBdUI7SW1HNEI3QixLQUFLLEUzQlFNLE9BQU87STJCUGxCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGFBQWEsRUFBRSxJQUFJLEdBT3BCO0luQ2tDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01tQy9DckMsQUFBRCxpQkFBTyxDQUFDO1FBU0osU0FBUyxFbkduQ0wsUUFBdUI7UW1Hb0MzQixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEVBQUUsR0FBRyxHQUVyQjtFbkNrQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUNoQ3BDLEFBQUQsZ0JBQU0sQ0FBQztNQUVILGFBQWEsRUFBRSxJQUFJLEdBZ0J0QjtFQWxCQSxBQUtDLGdCQUxJLENBS0osQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFbkcvQ0wsT0FBdUI7SW1HZ0QzQixLQUFLLEUzQkFnQixPQUFPO0kyQkM1QixhQUFhLEVBQUUsQ0FBQztJQUNoQixjQUFjLEVBQUUsUUFBUTtJQUN4QixXQUFXLEVBQUUsR0FBRyxHQU9qQjtJbkNlRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01tQ2hDcEMsQUFLQyxnQkFMSSxDQUtKLENBQUMsQ0FBQztRQVFFLFNBQVMsRW5HdERQLFFBQXVCO1FtR3VEekIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FFekI7RUFHRixBQUFELG1CQUFTLENBQUM7SUFDUixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQUVBLEFBQUQsaUJBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsR0FBRyxFQUFFLEtBQUs7SUFDVixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVBLEFBQUQsaUJBQU8sQ0FBQztJQUNOLFNBQVMsRW5HekVILFFBQXVCO0ltRzBFN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsYUFBYSxFQUFFLENBQUM7SUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FLdkI7SW5DVEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUNEcEMsQUFBRCxpQkFBTyxDQUFDO1FBUUosV0FBVyxFQUFFLEdBQUcsR0FFbkI7RUFFQSxBQUFELGdCQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxDQUFDO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDM0I3Q0UsT0FBTztJMkI4QzFCLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsaUJBQWlCLEVBQUUsU0FBUyxHQXNEN0I7SW5DMUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1DV3BDLEFBQUQsZ0JBQU0sQ0FBQztRQVlILEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUksR0FrRGY7SW5DMUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TW1DV3JDLEFBa0JLLGdCQWxCQSxBQWlCRCxNQUFNLENBQ0wsSUFBSSxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUM7UUFDVixTQUFTLEVBQUUsT0FDYixHQUFDO0lBckJOLEFBeUJDLGdCQXpCSSxDQXlCSixJQUFJLENBQUM7TUFDSCxRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsR0FBRztNQUNULEdBQUcsRUFBRSxDQUFDO01BQ04sU0FBUyxFQUFFLGdCQUFnQjtNQUMzQixjQUFjLEVBQUUsSUFBSTtNQUNwQixTQUFTLEVuR25ITCxTQUF1QjtNbUdvSDNCLFdBQVcsRUFBRSxNQUFNO01BQ25CLE9BQU8sRUFBRSxDQUFDO01BQ1YsVUFBVSxFQUFFLDhDQUE4QyxHQUMzRDtJQW5DRixBQXFDQyxnQkFyQ0ksQUFxQ0gsb0JBQW9CLENBQUM7TUFDcEIsZ0JBQWdCLEVBQUUsMERBQTBEO01BQzVFLGVBQWUsRUFBRSxXQUFXLEdBSzdCO01uQ3ZERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FtQ1dwQyxBQXFDQyxnQkFyQ0ksQUFxQ0gsb0JBQW9CLENBQUM7VUFLbEIsZUFBZSxFQUFFLFVBQVUsR0FFOUI7SUE1Q0YsQUE4Q0MsZ0JBOUNJLEFBOENILGlCQUFpQixDQUFDO01BQ2pCLGdCQUFnQixFQUFFLHVEQUF1RDtNQUN6RSxlQUFlLEVBQUUsU0FBUyxHQUszQjtNbkNoRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRbUNXcEMsQUE4Q0MsZ0JBOUNJLEFBOENILGlCQUFpQixDQUFDO1VBS2YsZUFBZSxFQUFFLFNBQVMsR0FFN0I7SUFyREYsQUF1REMsZ0JBdkRJLEFBdURILFVBQVUsQ0FBQztNQUNWLGdCQUFnQixFQUFFLGdEQUFnRDtNQUNsRSxlQUFlLEVBQUUsV0FBVyxHQUs3QjtNbkN6RUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRbUNXcEMsQUF1REMsZ0JBdkRJLEFBdURILFVBQVUsQ0FBQztVQUtSLGVBQWUsRUFBRSxRQUFRLEdBRTVCO0VBR0YsQUFBRCxlQUFLLENBQUM7SXJDM0lOLE9BQU8sRXFDNklRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7SUFDOUIsU0FBUyxFbkd4SkgsSUFBdUIsR21HaUs5QjtJQVpBLEF6QmhHRCxleUJnR0ssQXpCaEdKLE9BQU8sQ0FBQztNQUNQLEdBQUcsRUFBRSxJQUFJO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxHQUFHO01BQ1YsTUFBTSxFQUFFLEdBQUc7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENGcEJ2QixJQUFJO01FcUJULE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lWVUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNbUM0RXJDLEFBQUQsZUFBSyxDQUFDO1FyQzNJTixPQUFPLEVxQ2lKVSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBTWpDO0lBWkEsQXpCaEdELGV5QmdHSyxBekJoR0osT0FBTyxDeUJ5R0c7TUFDUCxXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUM3S0wsQUFBQSxZQUFZLENBQUM7RUFDWCxNQUFNLEVBQUUsT0FBTztFQUNmLFFBQVEsRUFBRSxRQUFRO0U1RE9aLGtCQUFvQixFNERITixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07RTVEUTlCLGVBQWlCLEU0RFJILEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtFNUR1QjlCLFVBQVksRTREdkJFLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQWtIckM7RUF4SEQsQUFRRSxZQVJVLENBUVYsUUFBUSxDQUFDO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFNUJnQk4sSUFBSTtJNEJmUixNQUFNLEVBQUUsSUFBSTtJdENZZCxPQUFPLEVzQ1hRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUU1QjtFQWRILEFBZ0JFLFlBaEJVLENBZ0JWLFdBQVcsQ0FBQztJNURQTixrQkFBb0IsRTREUUosR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0k1REhoQyxlQUFpQixFNERHRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07STVEWWhDLFVBQVksRTREWkksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBUXJDO0lBekJILEFBbUJJLFlBbkJRLENBZ0JWLFdBQVcsQ0FHVCxHQUFHLENBQUM7TUFDRixNQUFNLEVBQUUsS0FBSztNQUNiLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsTUFBTSxHQUNmO0VBeEJMLEFBMkJFLFlBM0JVLENBMkJWLGdCQUFnQixDQUFDO0lBQ2YsTUFBTSxFQUFFLE9BQU87SUFDZixPQUFPLEVBQUUsQ0FBQyxHQVNYO0lBdENILEFBK0JJLFlBL0JRLENBMkJWLGdCQUFnQixDQUlkLEVBQUUsQ0FBQztNQUNELFVBQVUsRUFBRSxJQUFJO01BQ2hCLEtBQUssRTVCdkJlLE9BQU87TTRCd0IzQixTQUFTLEVwR3JCTCxTQUF1QjtNb0dzQjNCLGNBQWMsRUFBRSxLQUFLO01BQ3JCLGNBQWMsRUFBRSxTQUFTLEdBQzFCO0VBckNMLEFBd0NFLFlBeENVLENBd0NWLEVBQUUsQ0FBQztJQUNELFNBQVMsRXBHNUJILFNBQXVCO0lvRzZCN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFNUJwQ1UsT0FBTztJNEJxQ3RCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBN0NILEFBK0NFLFlBL0NVLENBK0NWLEtBQUssQ0FBQztJQUNKLFNBQVMsRXBHbkNILE9BQXVCO0lvR29DN0IsS0FBSyxFNUIxQ1UsT0FBTztJNEIyQ3RCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBckRILEFBdURFLFlBdkRVLENBdURWLFlBQVksQ0FBQztJN0RyQ2IsUUFBUSxFNkRzQ1ksUUFBUTtJN0RsQ3hCLE1BQVUsRTZEa0MwQixJQUFJO0k3RGxDeEMsSUFBVSxFNkRrQytCLElBQUksR0FDaEQ7RUF6REgsQUEyREUsWUEzRFUsQUEyRFQsTUFBTSxDQUFDO0k1RGxERixpQkFBb0IsRTREbURMLFdBQVc7STVEOUMxQixjQUFpQixFNEQ4Q0YsV0FBVztJNUR6QzFCLGFBQWdCLEU0RHlDRCxXQUFXO0k1RHBDMUIsWUFBZSxFNERvQ0EsV0FBVztJNUQvQjFCLFNBQVksRTREK0JHLFdBQVc7SUFDOUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsR0FLOUM7SUFsRUgsQUErREksWUEvRFEsQUEyRFQsTUFBTSxDQUlMLFdBQVcsQ0FBQztNNUR0RFIsaUJBQW9CLEU0RHVESCxVQUFVO001RGxEM0IsY0FBaUIsRTREa0RBLFVBQVU7TTVEN0MzQixhQUFnQixFNEQ2Q0MsVUFBVTtNNUR4QzNCLFlBQWUsRTREd0NFLFVBQVU7TTVEbkMzQixTQUFZLEU0RG1DSyxVQUFVLEdBQzlCO0VwQ3FCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQ3RGdkMsQUFBQSxZQUFZLENBQUM7TXpDaUVULEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7TUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsRzZDOEc5QztNQXhIRCxBekNzRk0sWXlDdEZNLEF6Q3NGTCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RUtGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQ3RGdkMsQUFBQSxZQUFZLENBQUM7TXpDaUVULEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7TUlxRTFDLEtBQUssRUoxRUQsSUFBcUM7TTZDZ0UzQyxZQUFZLEVBQUUsQ0FBQyxHQThDbEI7TUF4SEQsQXpDc0ZNLFl5Q3RGTSxBekNzRkwsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO015Q3hGUCxBQVFFLFlBUlUsQ0FRVixRQUFRLENBb0VHO1F0Q3JEWCxPQUFPLEVzQ3NEVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDNUI7TUE5RUwsQUFnQkUsWUFoQlUsQ0FnQlYsV0FBVyxDQWdFRztRQUNWLEtBQUssRUFBRSxJQUFJLEdBUVo7UUF6RkwsQUFtQkksWUFuQlEsQ0FnQlYsV0FBVyxDQUdULEdBQUcsQ0FrRUc7VUFDRixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7TUF4RlAsQUErQkksWUEvQlEsQ0EyQlYsZ0JBQWdCLENBSWQsRUFBRSxDQXVFRztRQUNELFNBQVMsRXBHMUZQLFFBQXVCLEdvRzJGMUI7TUF4R1AsQUF3Q0UsWUF4Q1UsQ0F3Q1YsRUFBRSxDQW1FRztRQUNELGFBQWEsRUFBRSxJQUFJO1FBQ25CLFNBQVMsRXBHaEdMLFFBQXVCLEdvR2lHNUI7TUE5R0wsQUErQ0UsWUEvQ1UsQ0ErQ1YsS0FBSyxDQWlFRztRQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUFsSEwsQUF1REUsWUF2RFUsQ0F1RFYsWUFBWSxDQTZERztRN0RsR2YsUUFBUSxFNkRtR2MsUUFBUTtRN0QvRjFCLEdBQVUsRTZEK0ZrQixPQUFPO1E3RC9GbkMsS0FBVSxFNkQrRmtCLE9BQU87UTdEL0ZuQyxNQUFVLEU2RCtGa0IsT0FBTztRN0QvRm5DLElBQVUsRTZEK0ZrQixPQUFPLEdBQ3BDOztBQ3RITCxBQUFBLGNBQWMsQ0FBQztFQUNiLE1BQU0sRUFBRSxPQUFPO0VBQ2YsUUFBUSxFQUFFLFFBQVEsR0F1S25CO0VBektELEFBNEJFLGNBNUJZLENBNEJaLFVBQVUsQ0FBQztJN0RuQkwsa0JBQW9CLEU2RG9CSixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7STdEZmxDLGVBQWlCLEU2RGVELEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJN0RBbEMsVUFBWSxFNkRBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FDdkM7RUE5QkgsQUFnQ0UsY0FoQ1ksQ0FnQ1osY0FBYyxDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsS0FBSztJQUNaLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBd0RuQjtJQTVGSCxBQXNDSSxjQXRDVSxDQWdDWixjQUFjLENBTVosTUFBTSxDQUFDO005RHBCVCxRQUFRLEU4RHFCYyxRQUFRO005RGpCMUIsR0FBVSxFOERpQmtCLENBQUM7TTlEakI3QixJQUFVLEU4RGlCOEIsQ0FBQztNM0Q1QjNDLE1BQU0sRTJENkJVLElBQUk7TTNEckJwQixLQUFLLEUyRHFCVyxJQUFJO01BQ2xCLGVBQWUsRUFBRSxLQUFLO01BQ3RCLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsaUJBQWlCLEVBQUUsU0FBUztNN0RsQzFCLGtCQUFvQixFNkRtQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO003RDlCcEMsZUFBaUIsRTZEOEJDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtNN0RmcEMsVUFBWSxFNkRlTSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FrQnZDO01BOURMLEFBOENNLGNBOUNRLENBZ0NaLGNBQWMsQ0FNWixNQUFNLEFBUUgsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UTlEN0JqQixRQUFRLEU4RDhCZ0IsUUFBUTtROUQxQjVCLEdBQVUsRThEMEJvQixDQUFDO1E5RDFCL0IsSUFBVSxFOEQwQmdDLENBQUM7UTdEdkN6QyxrQkFBb0IsRTZEd0NBLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtRN0RuQ3BDLGVBQWlCLEU2RG1DRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07UTdEcEJwQyxVQUFZLEU2RG9CUSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07UTNEdEN4QyxNQUFNLEUyRHVDWSxJQUFJO1EzRC9CdEIsS0FBSyxFMkQrQmEsSUFBSTtRQUNsQixnQkFBZ0IsRUFBRSxrRkFBa0YsR0FDckc7TUFwRFAsQUFzRE0sY0F0RFEsQ0FnQ1osY0FBYyxDQU1aLE1BQU0sQUFnQkgsTUFBTSxDQUFDO1FBQ04sVUFBVSxFQUFFLHlDQUF5QyxDQUFDLFNBQVMsQ0FBQyxNQUFNO1FBQ3RFLGVBQWUsRUFBRSxLQUFLLEdBS3ZCO1FBN0RQLEFBMERRLGNBMURNLENBZ0NaLGNBQWMsQ0FNWixNQUFNLEFBZ0JILE1BQU0sQUFJSixNQUFNLENBQUM7VUFDTixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBNURULEFBZ0VJLGNBaEVVLENBZ0NaLGNBQWMsQ0FnQ1osS0FBSyxDQUFDO01BQ0osS0FBSyxFQUFFLElBQUk7TTlEL0NmLFFBQVEsRThEZ0RjLFFBQVE7TTlENUMxQixHQUFVLEU4RDRDa0IsR0FBRztNOUQ1Qy9CLEtBQVUsRThENENzQixDQUFDO005RDVDakMsSUFBVSxFOEQ0QzZCLENBQUM7TTdEekR0QyxpQkFBb0IsRTZEMERILGdCQUFnQjtNN0RyRGpDLGNBQWlCLEU2RHFEQSxnQkFBZ0I7TTdEaERqQyxhQUFnQixFNkRnREMsZ0JBQWdCO003RDNDakMsWUFBZSxFNkQyQ0UsZ0JBQWdCO003RHRDakMsU0FBWSxFNkRzQ0ssZ0JBQWdCO01BQ25DLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLENBQUM7TTdENURSLGtCQUFvQixFNkQ2REYsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO003RHhEcEMsZUFBaUIsRTZEd0RDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtNN0R6Q3BDLFVBQVksRTZEeUNNLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUt2QztNQTNFTCxBQXdFTSxjQXhFUSxDQWdDWixjQUFjLENBZ0NaLEtBQUssQ0FRSCxHQUFHLENBQUM7UUFDRixLQUFLLEVBQUUsSUFBSSxHQUNaO0lyQ1lILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TXFDdEZ4QyxBQWdDRSxjQWhDWSxDQWdDWixjQUFjLENBQUM7UUE4Q1gsS0FBSyxFQUFFLEtBQUssR0FjZjtJckNOQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xQ3RGdkMsQUFnQ0UsY0FoQ1ksQ0FnQ1osY0FBYyxDQUFDO1FBa0RYLEtBQUssRUFBRSxJQUFJLEdBVWQ7UUE1RkgsQUFnRUksY0FoRVUsQ0FnQ1osY0FBYyxDQWdDWixLQUFLLENBb0JHO1VBQ0osS0FBSyxFQUFFLElBQUksR0FDWjtJckNBSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xQ3RGdkMsQUFnQ0UsY0FoQ1ksQ0FnQ1osY0FBYyxDQUFDO1FBMERYLEtBQUssRUFBRSxHQUFHLEdBRWI7RUE1RkgsQUE4RkUsY0E5RlksQ0E4RlosUUFBUSxDQUFDO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEU3QnhFTixJQUFJO0k2QnlFUixLQUFLLEVBQUUsa0JBQWtCO0l2QzVFM0IsT0FBTyxFdUM2RVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQStEakM7SUFuS0gsQUFzR0ksY0F0R1UsQ0E4RlosUUFBUSxDQVFOLE1BQU0sQ0FBQztNQUNMLFNBQVMsRXRHNUZMLE9BQXNCO01zRzZGMUIsY0FBYyxFQUFFLFNBQVM7TUFDekIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsY0FBYyxFQUFFLEtBQUs7TUFDckIsS0FBSyxFN0JsR2UsT0FBTyxHNkJtRzVCO0lBN0dMLEFBK0dJLGNBL0dVLENBOEZaLFFBQVEsQ0FpQk4sTUFBTSxDQUFDO01BQ0wsU0FBUyxFdEdyR0wsR0FBc0I7TXNHc0cxQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsT0FBTztNQUN2QixLQUFLLEU3QjdHUSxPQUFPO002QjhHcEIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUF0SEwsQUF3SEksY0F4SFUsQ0E4RlosUUFBUSxDQTBCTixRQUFRLENBQUM7TUFDUCxTQUFTLEV0RzlHTCxNQUFzQjtNc0crRzFCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxNQUFNO01BQ3RCLEtBQUssRTdCbkhlLE9BQU87TTZCb0gzQixhQUFhLEVBQUUsSUFBSTtNQUNuQixVQUFVLEVBQUUsS0FBSyxHQUNsQjtJQS9ITCxBQWlJSSxjQWpJVSxDQThGWixRQUFRLENBbUNOLG9CQUFvQixDQUFDO01BQ25CLFNBQVMsRXRHdkhMLE1BQXNCO01zR3dIMUIsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLE9BQU87TUFDdkIsV0FBVyxFQUFFLEdBQUc7TXZDOUdwQixPQUFPLEV1QytHVSxHQUFHLENBQUMsSUFBSTtNOURwSHpCLFFBQVEsRThEcUhjLFFBQVE7TTlEakgxQixNQUFVLEU4RGlINEIsSUFBSTtNOURqSDFDLElBQVUsRThEaUhpQyxJQUFJLEdBQ2hEO0lyQ2xERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01xQ3RGeEMsQUE4RkUsY0E5RlksQ0E4RlosUUFBUSxDQUFDO1FBNkNMLEtBQUssRUFBRSxrQkFBa0IsR0F3QjVCO0lyQzdFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xQ3RGdkMsQUE4RkUsY0E5RlksQ0E4RlosUUFBUSxDQUFDO1FBaURMLEtBQUssRUFBRSxpQkFBaUIsR0FvQjNCO0lyQzdFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xQ3RGdkMsQUE4RkUsY0E5RlksQ0E4RlosUUFBUSxDQUFDO1FBcURMLEtBQUssRUFBRSxnQkFBZ0I7UXZDNUgzQixPQUFPLEV1QzZIVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FlOUI7UUFuS0gsQUErR0ksY0EvR1UsQ0E4RlosUUFBUSxDQWlCTixNQUFNLENBdUNHO1VBQ0wsU0FBUyxFckcxSVAsU0FBdUIsR3FHMkkxQjtRQXhKUCxBQXdISSxjQXhIVSxDQThGWixRQUFRLENBMEJOLFFBQVEsQ0FrQ0c7VUFDUCxTQUFTLEVyRzlJUCxTQUF1QjtVcUcrSXpCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO1FBN0pQLEFBaUlJLGNBaklVLENBOEZaLFFBQVEsQ0FtQ04sb0JBQW9CLENBOEJHO1VBQ25CLElBQUksRUFBRSxJQUFJLEdBQ1g7RXJDM0VILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXFDdEZ2QyxBQUFBLGNBQWMsQ0FBQztNQXNLWCxLQUFLLEVBQUUsSUFBSTtNQUNYLFlBQVksRUFBRSxDQUFDLEdBRWxCOztBQXpLRCxBQUFBLGNBQWMsQ0EyS0M7RUFDYixPQUFPLEVBQUUsS0FBSyxHQTRNZjtFQTFNRSxBQUFELG9CQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFdBQVcsRUFBRSxPQUFPLEdBTXJCO0lyQ25HQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xQ3dGcEMsQUFBRCxvQkFBTyxDQUFDO1FBUUosYUFBYSxFQUFFLElBQUk7UUFDbkIsVUFBVSxFQUFFLEtBQUssR0FFcEI7RUFFQSxBQUFELG1CQUFNLENBQUM7SUFDTCxTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUVYLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsZUFBZSxFQUFFLGFBQWE7SUFDOUIsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQixpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLGdCQUFnQixFQUFFLHFDQUFxQztJdkM5S3pELE9BQU8sRXVDK0tRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtJQUMzQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxJQUFJLEdBeUJqQjtJQXZDQSxBQWdCQyxtQkFoQkksQUFnQkgsUUFBUSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsRUFBRTtNQUNYLGdCQUFnQixFN0J4SkYscUJBQU87TTZCeUpyQixPQUFPLEVBQUUsRUFBRSxHQUNaO0lyQzlIRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01xQ3FHckMsQUFBRCxtQkFBTSxDQUFDO1FBNEJILFNBQVMsRUFBRSxLQUFLO1F2Q2hNcEIsT0FBTyxFdUNpTVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBVTlCO0lyQzVJQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xQ3FHcEMsQUFBRCxtQkFBTSxDQUFDO1FBaUNILFNBQVMsRUFBRSxJQUFJO1FBQ2YsU0FBUyxFQUFFLENBQUM7UUFDWixLQUFLLEVBQUUsR0FBRztRdkN2TWQsT0FBTyxFdUN3TVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBRzlCO0VBRUEsQUFBRCxzQkFBUyxDQUFDO0lBQ1IsS0FBSyxFN0IvS0EsSUFBSTtJNkJnTFQsU0FBUyxFckd6TkgsU0FBdUI7SXFHME43QixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsTUFBTTtJQUN0QixhQUFhLEVBQUUsQ0FBQyxHQU1qQjtJckN6SkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUM4SXBDLEFBQUQsc0JBQVMsQ0FBQztRQVFOLFNBQVMsRXJHL05MLFFBQXVCO1FxR2dPM0IsV0FBVyxFQUFFLElBQUksR0FFcEI7RUFFQSxBQUFELG1CQUFNLENBQUM7SUFDTCxTQUFTLEVyR3JPSCxPQUF1QjtJcUdzTzdCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLEtBQUssRTdCL0xBLElBQUk7STZCZ01ULGFBQWEsRUFBRSxDQUFDLEdBS2pCO0lyQ3JLQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xQzJKcEMsQUFBRCxtQkFBTSxDQUFDO1FBUUgsU0FBUyxFckc1T0wsT0FBdUIsR3FHOE85QjtFQUVBLEFBQUQsb0JBQU8sQ0FBQztJQUNOLFNBQVMsRUFBRSxDQUFDO0lBQ1osZ0JBQWdCLEU3QnpNWCxJQUFJO0lWL0JYLE9BQU8sRXVDeU9RLElBQUksQ0FBQyxJQUFJLEdBYXZCO0lyQ3ZMQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01xQ3VLckMsQUFBRCxvQkFBTyxDQUFDO1F2Q3RPUixPQUFPLEV1QzRPVSxJQUFJLENBQUMsSUFBSTtRQUN0QixTQUFTLEVBQUUsS0FBSyxHQVNuQjtJckN2TEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUN1S3BDLEFBQUQsb0JBQU8sQ0FBQztRdkN0T1IsT0FBTyxFdUNpUFUsSUFBSSxDQUFDLEdBQUc7UUFDckIsU0FBUyxFQUFFLElBQUk7UUFDZixLQUFLLEVBQUUsR0FBRyxHQUdiO0VBRUEsQUFBRCxvQkFBTyxDQUFDO0lBQ04sU0FBUyxFckduUUgsUUFBdUI7SXFHb1E3QixPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTdCbE9NLE9BQU87STZCbU9sQixhQUFhLEVBQUUsSUFBSSxHQVNwQjtJckN2TUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUN5THBDLEFBQUQsb0JBQU8sQ0FBQztRQVFKLFNBQVMsRXJHMVFMLFFBQXVCLEdxR2dSOUI7SXJDdk1DLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXFDeUxwQyxBQUFELG9CQUFPLENBQUM7UUFZSixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQUVBLEFBQUQsMEJBQWEsQ0FBQztJQUNaLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLElBQUksR0FxQ2pCO0lBMUNBLEFBT0MsMEJBUFcsQ0FPWCxDQUFDLENBQUM7TUFDQSxhQUFhLEVBQUUsR0FBRyxHQUNuQjtJQVRGLEFBZUssMEJBZk8sQ0FXWCxRQUFRLENBQ04sRUFBRSxDQUdBLEVBQUUsRUFmUCwwQkFBWSxDQVdYLFFBQVEsQ0FDRixFQUFFLENBR0osRUFBRSxDQUFBO01BQ0EsUUFBUSxFQUFFLFFBQVE7TUFDbEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsU0FBUyxFQUFFLElBQUksR0FxQmhCO01BdkNOLEFBb0JPLDBCQXBCSyxDQVdYLFFBQVEsQ0FDTixFQUFFLENBR0EsRUFBRSxBQUtDLElBQUssQ3ZCdy9GRixXQUFXLEd1QjVnR3RCLDBCQUFZLENBV1gsUUFBUSxDQUNGLEVBQUUsQ0FHSixFQUFFLEFBS0MsSUFBSyxDdkJ3L0ZGLFdBQVcsRXVCeC9GRztRQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQXRCUixBQXdCTywwQkF4QkssQ0FXWCxRQUFRLENBQ04sRUFBRSxDQUdBLEVBQUUsQUFTQyxPQUFPLEVBeEJmLDBCQUFZLENBV1gsUUFBUSxDQUNGLEVBQUUsQ0FHSixFQUFFLEFBU0MsT0FBTyxDQUFBO1FBQ04sT0FBTyxFQUFFLEVBQUU7UUFDWCxVQUFVLEVBQUUsT0FBTztRQUNuQixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO1FBQ1gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsSUFBSSxFQUFFLENBQUM7UUFDUCxHQUFHLEVBQUUsR0FBRztRQUNSLGFBQWEsRUFBRSxHQUFHLEdBQ25CO01BakNSLEFBbUNPLDBCQW5DSyxDQVdYLFFBQVEsQ0FDTixFQUFFLENBR0EsRUFBRSxDQW9CQSxDQUFDLEFBQUEsV0FBVyxFQW5DbkIsMEJBQVksQ0FXWCxRQUFRLENBQ0YsRUFBRSxDQUdKLEVBQUUsQ0FvQkEsQ0FBQyxBQUFBLFdBQVcsQ0FBQTtRQUNWLEtBQUssRTdCbFJGLE9BQU87UTZCbVJWLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBTVIsQUFDQyxtQkFESSxBQUNILElBQUssQ1g1TUUsYUFBYSxFVzRNQTtJQUNuQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUdGLEFBQUQsb0JBQU8sQ0FBQztJQUNOLFNBQVMsRXJHclVILElBQXVCO0lxR3NVN0IsYUFBYSxFQUFFLEdBQUcsR0FRbkI7SXJDclFDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXFDMlBwQyxBQUFELG9CQUFPLENBQUM7UUFLSixTQUFTLEVyR3pVTCxRQUF1QjtRcUcwVTNCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBRW5CO0VBRUEsQUFBRCxrQkFBSyxDQUFDO0lBQ0osU0FBUyxFckdqVkgsTUFBdUI7SXFHa1Y3QixhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsUUFBUSxHQU16QjtJckNqUkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUN1UXBDLEFBQUQsa0JBQUssQ0FBQztRQU9GLFNBQVMsRXJHdlZMLFFBQXVCO1FxR3dWM0IsV0FBVyxFQUFFLEdBQUcsR0FFbkI7RUFFQSxBQUFELGtCQUFLLENBQUM7SUFDSixTQUFTLEVyRzdWSCxJQUF1QjtJOERVL0IsT0FBTyxFdUNvVlEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtJQUU5QixXQUFXLEVBQUUsR0FBRyxHQVVqQjtJQWRBLEEzQnZTRCxrQjJCdVNLLEEzQnZTSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtNRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJVlVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXFDbVJwQyxBQUFELGtCQUFLLENBQUM7UUFPRixTQUFTLEVyR25XTCxTQUF1QjtRcUdvVzNCLFdBQVcsRUFBRSxHQUFHLEdBTW5CO0lBZEEsQTNCdlNELGtCMkJ1U0ssQTNCdlNKLE9BQU8sQzJCa1RHO01BQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FDdFhMLEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUNoQixnQkFBZ0IsRTlCa0RULElBQUksRzhCdUJaO0V0Q1NHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNDdEZ2QyxBQUFBLFdBQVcsQ0FBQztNQU9SLGFBQWEsRUFBRSxJQUFJLEdBc0V0QjtFQW5FRSxBQUFELGlCQUFPLENBQUM7SUFFTixLQUFLLEVBQUUsS0FBSztJQUNaLFdBQVcsRUFBRSxDQUFDLEdBb0JmO0l0Q3FEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zQzVFcEMsQUFBRCxpQkFBTyxDQUFDO1FBTUosS0FBSyxFdEdIRCxVQUF1QixHc0dvQjlCO0lBZEUsQUFBRCxxQkFBSyxDQUFDO01BQ0osT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxLQUFLO01BQ2pCLE1BQU0sRUFBRSxJQUFJO01BQ1osbUJBQW1CLEVBQUUsTUFBTTtNQUMzQixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLGVBQWUsRUFBRSxLQUFLLEdBTXZCO010Q3NERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FzQ25FbEMsQUFBRCxxQkFBSyxDQUFDO1VBVUYsVUFBVSxFQUFFLEtBQUs7VUFDakIsTUFBTSxFQUFFLElBQUksR0FFZjtFQUdGLEFBQUQsbUJBQVMsQ0FBQztJeENaVixPQUFPLEV3Q2FRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDaEMsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsVUFBVSxHQVN4QjtJdENzQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNc0NuRHJDLEFBQUQsbUJBQVMsQ0FBQztReENaVixPQUFPLEV3Q21CVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBTW5DO0l0Q3NDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zQ25EcEMsQUFBRCxtQkFBUyxDQUFDO1F4Q1pWLE9BQU8sRXdDdUJVLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FFakM7RUFFQSxBQUFELGlCQUFPLENBQUM7SUFDTixLQUFLLEVBQUUsT0FBTztJQUNkLFNBQVMsRXRHdkNILFNBQXVCO0lzR3dDN0IsYUFBYSxFQUFFLElBQUksR0FLcEI7SXRDNEJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TXNDcENyQyxBQUFELGlCQUFPLENBQUM7UUFNSixTQUFTLEV0RzNDTCxRQUF1QixHc0c2QzlCO0VBRUEsQUFBRCxnQkFBTSxDQUFDO0lBQ0wsU0FBUyxFdEdoREgsT0FBdUI7SXNHaUQ3QixjQUFjLEVBQUUsUUFBUTtJQUN4QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQUVBLEFBQUQsZUFBSyxDQUFDO0lBQ0osVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFdEd2REgsSUFBdUI7SThEVS9CLE9BQU8sRXdDOENRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7SUFFOUIsY0FBYyxFQUFFLFVBQVUsR0FLM0I7SUFWQSxBNUJBRCxlNEJBSyxBNUJBSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtNRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJNEJWQSxBNUJBRCxlNEJBSyxBNUJBSixPQUFPLEM0Qk9HO01BQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FDM0VMLEFBQUEseUJBQXlCLENBQUM7RUFDeEIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixNQUFNLEVBQUUsTUFBTSxHQStCZjtFQWhDRCxBQUdFLG9CQUhrQixDQUdsQixXQUFXLENBQUM7SUFDVixNQUFNLEVBQUUsS0FBSyxHQWtCZDtJQXRCSCxBQU1JLG9CQU5nQixDQUdsQixXQUFXLENBR1QsRUFBRSxDQUFDO003RENILE1BQU0sRTZEQVUsR0FBRztNN0RRbkIsS0FBSyxFNkRSVyxHQUFHO01BQ2pCLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFVBQVUsRS9CR00sT0FBTztNK0JGdkIsTUFBTSxFQUFFLEtBQUs7TS9ETFgsa0JBQW9CLEUrRE1GLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNL0REbEMsZUFBaUIsRStEQ0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO00vRGNsQyxVQUFZLEUrRGRNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQVVyQztNQXJCTCxBQWFNLG9CQWJjLENBR2xCLFdBQVcsQ0FHVCxFQUFFLEFBT0MsYUFBYSxDQUFDO1E3RE5qQixNQUFNLEU2RE9ZLEdBQUc7UTdEQ3JCLEtBQUssRTZERGEsR0FBRztRQUNqQixVQUFVLEUvQldGLE9BQU8sRytCVmhCO01BaEJQLEFBa0JNLG9CQWxCYyxDQUdsQixXQUFXLENBR1QsRUFBRSxDQVlBLE1BQU0sQ0FBQztRQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RXZDOERILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVDbEZ2QyxBQUFBLG9CQUFvQixDQUFDO01BeUJqQixNQUFNLEVBQUUsTUFBTSxHQU9qQjtFQWhDRCxBQTRCRSxvQkE1QmtCLENBNEJsQixxQkFBcUIsQ0FBQztJQUNwQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUlILEFBQUEseUJBQXlCLEVBQUUseUJBQXlCLENBQUM7RUFDbkQsVUFBVSxFL0JiSixJQUFJO0UrQmNWLE9BQU8sRUFBRSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEdBQUc7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixVQUFVLEVBQUUsS0FBSztFQUNqQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFQUFFLElBQUk7RTdEckNYLE1BQU0sRTZEc0NNLElBQUk7RTdEOUJoQixLQUFLLEU2RDhCTyxJQUFJLEdBVW5CO0VBckJELEFBYUUseUJBYnVCLENBYXZCLEdBQUcsRUFic0IseUJBQXlCLENBYWxELEdBQUcsQ0FBQztJaEVqQ0osUUFBUSxFZ0VrQ1ksUUFBUTtJaEU5QnhCLEdBQVUsRWdFOEJnQixDQUFDO0loRTlCM0IsS0FBVSxFZ0U4QmtCLENBQUM7SWhFOUI3QixNQUFVLEVnRThCb0IsQ0FBQztJaEU5Qi9CLElBQVUsRWdFOEJzQixDQUFDO0lBQ25DLE1BQU0sRUFBRSxJQUFJLEdBQ2I7RXZDZ0NDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVDaER2QyxBQUFBLHlCQUF5QixFQUFFLHlCQUF5QixDQUFDO003RDNCakQsTUFBTSxFNkQ4Q1EsSUFBSTtNN0R0Q2xCLEtBQUssRTZEc0NTLElBQUksR0FFckI7O0FBRUQsQUFBQSx5QkFBeUIsQ0FBQztFQUN4QixJQUFJLEVBQUUsSUFBSSxHQUNYOztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsY0FBYyxHQUMxQjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFVBQVUsRS9CbERRLE9BQU8sRytCa0UxQjtFQWxCRCxBQUlFLG1CQUppQixDQUlqQixFQUFFLENBQUM7SUFDRCxTQUFTLEV2RzlESCxTQUF1QjtJdUcrRDdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBUkgsQUFVRSxtQkFWaUIsQ0FVakIsS0FBSyxDQUFDO0lBQ0osU0FBUyxFdkdwRUgsT0FBdUI7SXVHcUU3QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQWJILEFBZUUsbUJBZmlCLENBZWpCLFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0gsQUFBQSwyQkFBMkIsQ0FBQztFQUMxQixTQUFTLEV2RzlFRCxRQUF1QjtFdUcrRS9CLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRS9CbkZtQixPQUFPO0UrQm9GL0IsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLElBQUksR0FDZDs7QTFCL0ZELEFBQUEsQ0FBQyxDMkJEQztFQUNBLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFaENPbUIsT0FBTztFZ0NOL0IsYUFBYSxFQUFFLElBQUk7RUFDbkIsV0FBVyxFQUFFLElBQUksR0FNbEI7RXhDNEVHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWFyRnZDLEFBQUEsQ0FBQyxDMkJEQztNQU9FLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLElBQUksR0FFcEI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEV6R0ZELFFBQXNCO0V5R0c5QixXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsT0FBTztFQUN2QixhQUFhLEVBQUUsSUFBSSxHQWNwQjtFeEN3REcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0MxRXZDLEFBQUEsRUFBRSxDQUFDO01BT0MsU0FBUyxFekdSSCxRQUFzQjtNeUdTNUIsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLE9BQU87TUFDdkIsYUFBYSxFQUFFLElBQUksR0FRdEI7RXhDd0RHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDMUV2QyxBQUFBLEVBQUUsQ0FBQztNQWNDLFNBQVMsRXpHZkgsT0FBc0I7TXlHZ0I1QixjQUFjLEVBQUUsT0FBTztNQUN2QixhQUFhLEVBQUUsR0FBRyxHQUVyQjs7QUFFRCxBQUFBLE1BQU0sQ0FBQztFQUNMLFNBQVMsRXhHcEJELFNBQXVCO0V3R3FCL0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLElBQUksR0FPbEI7RXhDNENHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDdER2QyxBQUFBLE1BQU0sQ0FBQztNQU1ILFNBQVMsRXhHekJILFFBQXVCO013RzBCN0IsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLE9BQU8sR0FFMUI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RTFDckJULE9BQU8sRTBDc0JNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztFQWlDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFzQkUsRUFDSDtFQXpERCxBQUdFLFVBSFEsQ0FHUixHQUFHLENBQUM7SUFDRixTQUFTLEVBQUUsSUFBSTtJQUNmLE1BQU0sRUFBRSxJQUFJLEdBQ2I7RUFOSCxBQVFFLFVBUlEsQ0FRUixhQUFhLENBQUM7SUFDWixTQUFTLEV4R3hDSCxPQUF1QjtJd0d5QzdCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRWhDTk0sT0FBTztJZ0NPbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLElBQUksR0FlcEI7SUFiQyxBQUFBLDZCQUE2QixDQWZqQyxVQUFVLENBUVIsYUFBYSxDQU9xQjtNQUM5QixLQUFLLEVoQ0ZTLE9BQU8sR2dDR3RCO0lBRUQsQUFBQSxlQUFlLENBbkJuQixVQUFVLENBUVIsYUFBYSxDQVdPO01BQ2hCLEtBQUssRWhDZkksT0FBTyxHZ0NnQmpCO0l4Q3FCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013Q25CbkMsQUFBQSxvQkFBb0IsQ0F2QnhCLFVBQVUsQ0FRUixhQUFhLENBZVk7UUFFbkIsU0FBUyxFeEd4RFAsT0FBdUIsR3dHMEQ1QjtFQTNCTCxBQThCRSxVQTlCUSxBQThCUCxjQUFjLENBQUM7SUFDZCxXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQTJCSCxBQUVFLGVBRmEsQ0FFYixvQkFBb0IsQ0FBQztFQUNuQixVQUFVLEVBQUUsSUFBSSxHQUtqQjtFQVJILEFBS0ksZUFMVyxDQUViLG9CQUFvQixBQUdqQixJQUFLLEMxQityR0ksV0FBVyxFMEIvckdGO0lBQ2pCLFlBQVksRUFBRSxJQUFJLEdBQ25COztBQVBMLEFBVUUsZUFWYSxDQVViLEVBQUUsQ0FBQztFQUNELEtBQUssRWhDM0dVLE9BQU87RWdDNEd0QixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFiSCxBQWVFLGVBZmEsQ0FlYixNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsTUFBTTtFQUNoQixXQUFXLEVBQUUsSUFBSSxHQXVCbEI7RUF4Q0gsQUFtQkksZUFuQlcsQ0FlYixNQUFNLENBSUosQ0FBQyxDQUFDO0lBR0EsZ0JBQWdCLEVoQzVFUCxPQUFPO0lnQzhFaEIsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEV4R3BITCxJQUF1QjtJd0dxSDNCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRWhDN0VGLElBQUk7SWdDOEVQLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsY0FBYyxFQUFFLE1BQU0sR0FTdkI7SUF2Q0wsQTlCckNFLGU4QnFDYSxDQWViLE1BQU0sQ0FJSixDQUFDLEE5QnhERixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtNRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJOEIyQkgsQTlCckNFLGU4QnFDYSxDQWViLE1BQU0sQ0FJSixDQUFDLEE5QnhERixPQUFPLEM4QnFFSztNQUNQLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBbENQLEFBb0NNLGVBcENTLENBZWIsTUFBTSxDQUlKLENBQUMsQUFpQkUsVUFBVyxDQUFBLElBQUksRUFBRTtNQUNoQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQU1QLEFBQUEsZUFBZSxDQUFDO0VBQ2QsTUFBTSxFQUFFLE1BQU07RUFDZCxPQUFPLEVBQUUsQ0FBQztFQUNWLGVBQWUsRUFBRSxJQUFJLEdBYXRCO0VBaEJELEFBS0UsZUFMYSxDQUtiLEVBQUUsQ0FBQztJQUNELFNBQVMsRXhHNUlILFNBQXVCO0l3RzZJN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLElBQUksR0FDbEI7RUFWSCxBQVlFLGVBWmEsQ0FZYixLQUFLLENBQUM7SUFDSixTQUFTLEV4R25KSCxTQUF1QjtJd0dvSjdCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUdILEFBRUUsaUJBRmUsQ0FFZix3QkFBd0IsQ0FBQztFQUN2QixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLHFDQUFxQztFQUM1RCxHQUFHLEVBQUUsU0FBUyxHQUtmO0V4Q3pGQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QytFdkMsQUFFRSxpQkFGZSxDQUVmLHdCQUF3QixDQUFDO01BTXJCLE9BQU8sRUFBRSxLQUFLLEdBRWpCOztBQUVBLEFBQUQsdUJBQU8sQ0FBQztFQUNOLFVBQVUsRUFBRSxLQUFLLEdBWWxCO0V4Q3hHQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QzJGcEMsQUFBRCx1QkFBTyxDQUFDO01BSUosU0FBUyxFQUFFLEtBQUs7TUFDaEIsTUFBTSxFQUFFLE1BQU0sR0FRakI7RXhDeEdDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDMkZwQyxBQVFDLHVCQVJLLENBUUwsWUFBWSxDQUFDO01BRVQsVUFBVSxFQUFFLEtBQUssR0FFcEI7O0FBeEJMLEFBMkJFLGlCQTNCZSxDQTJCZixzQkFBc0IsRUEzQnhCLGlCQUFpQixDTnJLakIsZUFBZSxDQXVNYixZQUFZLEVBdk1kLGVBQWUsQ01xS2YsaUJBQWlCLENOa0NmLFlBQVksRU1sQ2QsaUJBQWlCLEM2Q2hEakIsd0JBQXdCLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZLEVBemFoQix3QkFBd0IsQ0FpYXRCLGlCQUFpQixDN0NqWG5CLGlCQUFpQixDNkN5WGIsWUFBWTtBN0N6WGhCLGlCQUFpQixDNkNoRGpCLHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksRUF6YWhCLHdCQUF3QixDQWthdEIsb0JBQW9CLEM3Q2xYdEIsaUJBQWlCLEM2Q3lYYixZQUFZLEM3QzlWUztFQUNyQixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QXhDNUdDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXdDK0V2QyxBQTJCRSxpQkEzQmUsQ0EyQmYsc0JBQXNCLEVBM0J4QixpQkFBaUIsQ05yS2pCLGVBQWUsQ0F1TWIsWUFBWSxFQXZNZCxlQUFlLENNcUtmLGlCQUFpQixDTmtDZixZQUFZLEVNbENkLGlCQUFpQixDNkNoRGpCLHdCQUF3QixDQWlhdEIsaUJBQWlCLENBUWYsWUFBWSxFQXphaEIsd0JBQXdCLENBaWF0QixpQkFBaUIsQzdDalhuQixpQkFBaUIsQzZDeVhiLFlBQVk7RTdDelhoQixpQkFBaUIsQzZDaERqQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQU9sQixZQUFZLEVBemFoQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDN0NsWHRCLGlCQUFpQixDNkN5WGIsWUFBWSxDN0N4Vlc7SUFDckIsVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFuQ0wsQUFzQ0UsaUJBdENlLENBc0NmLFdBQVcsQ0FBQztFQUNWLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQXhDSCxBQTJDSSxpQkEzQ2EsQ0EwQ2YsV0FBVyxDQUNULE1BQU0sQUFBQSxRQUFRLENBQUM7RUFDYixPQUFPLEVBQUUsRUFBRSxHQUNaOztBQUlMLEFBRUUsa0JBRmdCLENBRWhCLEVBQUUsQ0FBQztFQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUpILEFBTUUsa0JBTmdCLENBTWhCLEVBQUUsQUFBQSxZQUFZLENBQUM7RUFDYixNQUFNLEVBQUUsV0FBVyxHQWdCcEI7RUF2QkgsQUFTSSxrQkFUYyxDQU1oQixFQUFFLEFBQUEsWUFBWSxDQUdaLEVBQUUsQ0FBQztJQUNELFFBQVEsRUFBRSxRQUFRO0k5RHJOcEIsTUFBTSxFOERzTlUsSUFBSTtJOUQ5TXBCLEtBQUssRThEOE1XLElBQUk7SUFDbEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsT0FBTyxFQUFFLFlBQVksR0FTdEI7SUF0QkwsQUFlTSxrQkFmWSxDQU1oQixFQUFFLEFBQUEsWUFBWSxDQUdaLEVBQUUsQ0FNQSxHQUFHLENBQUM7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01qRXJObEIsUUFBUSxFaUVzTmdCLFFBQVE7TWpFbE41QixHQUFVLEVpRWtOb0IsR0FBRztNakVsTmpDLEtBQVUsRWlFa053QixDQUFDO01qRWxObkMsSUFBVSxFaUVrTitCLENBQUM7TWhFL054QyxpQkFBb0IsRWdFZ09ELGdCQUFnQjtNaEUzTm5DLGNBQWlCLEVnRTJORSxnQkFBZ0I7TWhFdE5uQyxhQUFnQixFZ0VzTkcsZ0JBQWdCO01oRWpObkMsWUFBZSxFZ0VpTkksZ0JBQWdCO01oRTVNbkMsU0FBWSxFZ0U0TU8sZ0JBQWdCO01BQ25DLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0F4Q3JKSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V3Q2dJdkMsQUFFRSxrQkFGZ0IsQ0FFaEIsRUFBRSxDQXlCRztJQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBN0JMLEFBTUUsa0JBTmdCLENBTWhCLEVBQUUsQUFBQSxZQUFZLENBeUJHO0lBQ2IsTUFBTSxFQUFFLE1BQU0sR0FlZjtJQS9DTCxBQVNJLGtCQVRjLENBTWhCLEVBQUUsQUFBQSxZQUFZLENBR1osRUFBRSxDQXlCRztNQUNELFFBQVEsRUFBRSxRQUFRO005RDlPdEIsTUFBTSxFOEQrT1ksSUFBSTtNOUR2T3RCLEtBQUssRThEdU9hLElBQUk7TUFDbEIsWUFBWSxFQUFFLElBQUksR0FTbkI7TUE5Q1AsQUFlTSxrQkFmWSxDQU1oQixFQUFFLEFBQUEsWUFBWSxDQUdaLEVBQUUsQ0FNQSxHQUFHLENBd0JHO1FBQ0YsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRakU3T3BCLFFBQVEsRWlFOE9rQixRQUFRO1FqRTFPOUIsR0FBVSxFaUUwT3NCLEdBQUc7UWpFMU9uQyxLQUFVLEVpRTBPMEIsQ0FBQztRakUxT3JDLElBQVUsRWlFME9pQyxDQUFDO1FoRXZQMUMsaUJBQW9CLEVnRXdQQyxnQkFBZ0I7UWhFblByQyxjQUFpQixFZ0VtUEksZ0JBQWdCO1FoRTlPckMsYUFBZ0IsRWdFOE9LLGdCQUFnQjtRaEV6T3JDLFlBQWUsRWdFeU9NLGdCQUFnQjtRaEVwT3JDLFNBQVksRWdFb09TLGdCQUFnQjtRQUNuQyxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQU1ULEFBRUUsdUJBRnFCLENBRXJCLEVBQUUsQ0FBQztFQUNELFNBQVMsRXhHL1BILFNBQXVCO0V3R2dRN0IsTUFBTSxFQUFFLGFBQWE7RUFDckIsY0FBYyxFQUFFLFNBQVM7RUFDekIsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFaEN0UWlCLE9BQU87RWdDdVE3QixjQUFjLEVBQUUsS0FBSyxHQUN0Qjs7QUFUSCxBQVdFLHVCQVhxQixDQVdyQiw0QkFBNEIsQ0FBQztFQUMzQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBOEJYO0VBM0NILEFBZUksdUJBZm1CLENBV3JCLDRCQUE0QixDQUkxQixFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQWxCTCxBQW9CSSx1QkFwQm1CLENBV3JCLDRCQUE0QixDQVMxQixLQUFLLENBQUM7SUFDSixTQUFTLEV4R2pSTCxRQUF1QjtJd0drUjNCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEtBQUssRWhDeFJlLE9BQU87SWdDeVIzQixjQUFjLEVBQUUsS0FBSyxHQUN0QjtFQTNCTCxBQTZCSSx1QkE3Qm1CLENBV3JCLDRCQUE0QixDQWtCMUIsTUFBTSxDQUFDO0lBQ0wsU0FBUyxFeEcxUkwsUUFBdUI7SXdHMlIzQixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVoQ2pTYSxPQUFPO0lnQ2tTekIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFwQ0wsQUFzQ0ksdUJBdENtQixDQVdyQiw0QkFBNEIsQ0EyQjFCLEtBQUssQ0FBQztJQUNKLFNBQVMsRXhHblNMLFNBQXVCO0l3R29TM0IsYUFBYSxFQUFFLElBQUksR0FFcEI7O0F4QzdORCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V3Q21MdkMsQUFFRSx1QkFGcUIsQ0FFckIsRUFBRSxDQTZDRztJQUNELE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBSUwsQUFBQSxrQkFBa0IsQ0FBQztFQUVqQixVQUFVLEVBQUUsTUFBTSxHQWdGbkI7RUFsRkQsQXZFdFRFLGtCdUVzVGdCLEF2RXRUZixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFdUVrVEgsQUFJRSxrQkFKZ0IsQ0FJaEIsS0FBSyxDQUFDO0lBQ0osUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsdUJBQXVCO0lBQzlCLE1BQU0sRUFBRSxhQUFhO0lBQ3JCLFFBQVEsRUFBRSxNQUFNLEdBeUJqQjtJQWxDSCxBQVdJLGtCQVhjLENBSWhCLEtBQUssQUFPRixZQUFhLENBQUEsRUFBRSxFQUFFO01BQ2hCLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lBYkwsQUFlSSxrQkFmYyxDQUloQixLQUFLLEFBV0YsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFVBQVUsRUFBRSx3QkFBd0I7TUFDcEMsT0FBTyxFQUFFLENBQUM7TWhFelVSLGtCQUFvQixFZ0UwVUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO01oRXJVbEMsZUFBaUIsRWdFcVVDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNaEV0VGxDLFVBQVksRWdFc1RNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztJQXRCTCxBQTBCTSxrQkExQlksQ0FJaEIsS0FBSyxBQW9CRixNQUFNLEFBRUosT0FBTyxDQUFDO01BQ1AsVUFBVSxFQUFFLHdCQUF3QixHQUNyQztJQTVCUCxBQThCTSxrQkE5QlksQ0FJaEIsS0FBSyxBQW9CRixNQUFNLENBTUwsSUFBSSxDQUFDO01oRW5WSCxpQkFBb0IsRWdFb1ZELFVBQVU7TWhFL1U3QixjQUFpQixFZ0UrVUUsVUFBVTtNaEUxVTdCLGFBQWdCLEVnRTBVRyxVQUFVO01oRXJVN0IsWUFBZSxFZ0VxVUksVUFBVTtNaEVoVTdCLFNBQVksRWdFZ1VPLFVBQVUsR0FDOUI7RUFoQ1AsQUFvQ0Usa0JBcENnQixDQW9DaEIsSUFBSSxDQUFDO0lqRWhWTCxRQUFRLEVpRWlWWSxRQUFRO0lqRTdVeEIsR0FBVSxFaUU2VWdCLENBQUM7SWpFN1UzQixLQUFVLEVpRTZVa0IsQ0FBQztJakU3VTdCLE1BQVUsRWlFNlVvQixDQUFDO0lqRTdVL0IsSUFBVSxFaUU2VXNCLENBQUM7STlEeFZuQyxNQUFNLEU4RHlWUSxJQUFJO0k5RGpWbEIsS0FBSyxFOERpVlMsSUFBSTtJQUNsQixPQUFPLEVBQUUsRUFBRTtJQUNYLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLG1CQUFtQixFQUFFLE1BQU07SWhFOVZ2QixrQkFBb0IsRWdFK1ZKLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJaEUxVmhDLGVBQWlCLEVnRTBWRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SWhFM1VoQyxVQUFZLEVnRTJVSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7RUEzQ0gsQUE2Q0Usa0JBN0NnQixDQTZDaEIsY0FBYyxDQUFDO0lBQ2IsU0FBUyxFeEcvVkgsU0FBdUIsR3dHZ1c5QjtFQS9DSCxBQWlERSxrQkFqRGdCLENBaURoQixrQkFBa0IsQ0FBQztJQUNqQixLQUFLLEVoQ2pWUyxPQUFPO0lnQ2tWckIsU0FBUyxFeEdwV0gsUUFBdUI7SXdHcVc3QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFeEM3UkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0N3T3ZDLEFBSUUsa0JBSmdCLENBSWhCLEtBQUssQ0FxREc7TUFDSixLQUFLLEVBQUUsdUJBQXVCO01BQzlCLE1BQU0sRUFBRSxhQUFhLEdBU3RCO01BcEVMLEFBV0ksa0JBWGMsQ0FJaEIsS0FBSyxBQU9GLFlBQWEsQ0FBQSxFQUFFLEVBa0RJO1FBQ2hCLFlBQVksRUFBRSxJQUFJLEdBQ25CO01BL0RQLEFBaUVNLGtCQWpFWSxDQXlEZCxLQUFLLEFBUUYsWUFBYSxDQUFBLEVBQUUsRUFBRTtRQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQUlMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJQXZFMUIsQUFJRSxrQkFKZ0IsQ0FJaEIsS0FBSyxDQXFFRztNQUNKLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLFFBQVEsR0FLakI7TUFoRkwsQUE2RU0sa0JBN0VZLENBeUVkLEtBQUssQUFJRixhQUFhLENBQUM7UUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFLUCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDaENwWUYsT0FBTztFZ0NxWTNCLE9BQU8sRUFBRSxVQUFVO0VBQ25CLFNBQVMsRXhHellELFNBQXVCO0V3RzBZL0IsUUFBUSxFQUFFLFFBQVEsR0E4Qm5CO0VBbkNELEFBT0Usa0JBUGdCLEFBT2YsV0FBVyxDQUFDO0lBQ1gsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFUSCxBQVdFLGtCQVhnQixBQVdmLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0lBQ1gsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRWhDbFlJLE9BQU87SWdDbVlyQixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxNQUFNLEdBQ2I7RXhDL1VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDNFR2QyxBQUFBLGtCQUFrQixDQUFDO01Bc0JmLFlBQVksRUFBRSxJQUFJO01BQ2xCLGFBQWEsRUFBRSxJQUFJLEdBWXRCO01BbkNELEFBeUJJLGtCQXpCYyxBQXlCYixhQUFhLENBQUM7UUFDYixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQTNCTCxBQTZCSSxrQkE3QmMsQ0E2QmQsRUFBRSxDQUFDO1FBQ0QsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QUFJTCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFVBQVUsRWhDbGFRLE9BQU87RWdDbWF6QixPQUFPLEVBQUUsU0FBUyxHQXNEbkI7RUF4REQsQUFJRSxzQkFKb0IsQ0FJcEIsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFeEcvYUgsTUFBdUI7SXdHZ2I3QixVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBUEgsQUFTRSxzQkFUb0IsQ0FTcEIsS0FBSyxDQUFDO0lBQ0osU0FBUyxFeEdwYkgsUUFBdUI7SXdHcWI3QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVpILEFBY0Usc0JBZG9CLENBY3BCLEVBQUUsQ0FBQztJQUNELFNBQVMsRXhHemJILFFBQXVCO0l3RzBiN0IsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFaENqWUQsTUFBTTtJZ0NrWW5CLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBcEJILEFBc0JFLHNCQXRCb0IsQ0FzQnBCLEVBQUUsQ0FBQztJQUNELFFBQVEsRUFBRSxNQUFNO0lBQ2hCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDtFQTFCSCxBQTRCRSxzQkE1Qm9CLENBNEJwQixFQUFFLENBQUM7SUFDRCxTQUFTLEV4R3ZjSCxRQUF1QjtJd0d3YzdCLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRWhDemJTLE9BQU87SWdDMGJyQixZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hDMWJULE9BQU87SWdDMmJyQixhQUFhLEVBQUUsR0FBRztJQUNsQixXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBckNILEFBdUNFLHNCQXZDb0IsQ0F1Q3BCLEVBQUUsQ0FBQztJQUNELFNBQVMsRXhHbGRILFNBQXVCO0l3R21kN0IsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsWUFBWTtJQUNyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSTtJQUNuQixXQUFXLEVBQUUsQ0FBQyxHQVVmO0lBdkRILEFBK0NJLHNCQS9Da0IsQ0F1Q3BCLEVBQUUsQ0FRQSxDQUFDLENBQUM7TUFDQSxLQUFLLEVoQ3hjTyxPQUFPLEdnQ3ljcEI7SUFqREwsQUFtREksc0JBbkRrQixDQXVDcEIsRUFBRSxBQVlDLFdBQVcsRUFuRGhCLHNCQUFzQixDQXVDcEIsRUFBRSxBQWFDLGFBQWEsQ0FBQztNQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQUlMLEFBQUEsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7RTlCL2N2QixTQUFTLEUxRXJCRCxRQUF1QjtFMEVzQi9CLE1BQU0sRUFBRSxNQUFNO0VBQ2QsZUFBZSxFQUFFLElBQUk7RUFDckIsZ0JBQWdCLEVBQUUsSUFBSSxHOEI4Y3ZCO0VBRkQsQTlCMWNFLGU4QjBjYSxDQUFDLEtBQUssQ0FBQyxFQUFFLEM5QjFjdEIsRUFBRSxDQUFDO0lBRUQsYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLElBQUk7SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsZUFBZSxFQUFFLElBQUk7SUFDckIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixVQUFVLEVBQUUsSUFBSSxHQWVqQjtJOEJtYkgsQTlCaGNJLGU4QmdjVyxDQUFDLEtBQUssQ0FBQyxFQUFFLEM5QjFjdEIsRUFBRSxBQVVDLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsVUFBVSxFRmpDTSxPQUFPO01Fa0N2QixLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsYUFBYSxFQUFFLEdBQUc7TUFDbEIsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLE1BQU07TUFDdEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSSxHQUNWOztBOEJ3YkwsQUFHRSxZQUhVLENBR1IsRUFBRTtBQUZOLFlBQVksQ0FFUixFQUFFO0FBRE4sWUFBWSxDQUNSLEVBQUUsQ0FBQztFQUNILE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsTUFBTTtFQUNuQixHQUFHLEVBQUUsSUFBSSxHQUNWOztBQVJILEFBVUUsWUFWVSxDQVVSLEVBQUU7QUFUTixZQUFZLENBU1IsRUFBRTtBQVJOLFlBQVksQ0FRUixFQUFFLENBQUM7RUFDSCxPQUFPLEVBQUUsWUFBWTtFMUN6ZXZCLE9BQU8sRTBDMGVRLEdBQUcsQ0FBQyxJQUFJO0VBQ3JCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDaEMvY0EsT0FBTztFZ0NnZHhCLGdCQUFnQixFaEM5Y1gsSUFBSTtFZ0MrY1QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtFQUM1QyxhQUFhLEVBQUUsQ0FBQyxHQUtqQjtFQXRCSCxBQW1CSSxZQW5CUSxDQVVSLEVBQUUsQUFTRCxRQUFRO0VBbEJiLFlBQVksQ0FTUixFQUFFLEFBU0QsUUFBUTtFQWpCYixZQUFZLENBUVIsRUFBRSxBQVNELFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBSUwsQUFFRSxZQUZVLENBRVIsRUFBRSxDQUFDO0VBQ0gsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxjQUFjO0VBQ3JDLEdBQUcsRUFBRSxTQUFTO0VBQ2QsYUFBYSxFQUFFLElBQUksR0FjcEI7RXhDNWNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDd2J2QyxBQUVFLFlBRlUsQ0FFUixFQUFFLENBQUM7TUFPRCxPQUFPLEVBQUUsS0FBSztNQUNkLGFBQWEsRUFBRSxDQUFDLEdBVW5CO01BcEJILEFBWU0sWUFaTSxDQUVSLEVBQUUsQ0FVQSxFQUFFLENBQUM7UUFDRCxhQUFhLEV4RzlnQlgsSUFBdUIsR3dHK2dCMUI7RUFkUCxBQWlCSSxZQWpCUSxDQUVSLEVBQUUsQ0FlRixFQUFFLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQW5CTCxBQXNCRSxZQXRCVSxDQXNCUixFQUFFLENBQUM7RUFDSCxZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxDQUFDLEdBc0JqQjtFQTlDSCxBQTBCSSxZQTFCUSxDQXNCUixFQUFFLENBSUYsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLGVBQWUsR0FDekI7RUE1QkwsQUE4QkksWUE5QlEsQ0FzQlIsRUFBRSxBQVFELFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFoQ0wsQUFrQ0ksWUFsQ1EsQ0FzQlIsRUFBRSxDQVlGLENBQUMsQ0FBQztJQUNBLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFaEM1ZkYsSUFBSTtJZ0M2ZlAsZ0JBQWdCLEVoQ2xnQlAsT0FBTztJZ0NtZ0JoQixVQUFVLEVBQUUsS0FBSztJQUNqQixhQUFhLEVBQUUsSUFBSTtJQUNuQixTQUFTLEV4R3ppQkwsUUFBdUI7SXdHMGlCM0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7STFDamlCcEIsT0FBTyxFMENraUJVLElBQUksQ0FBQyxJQUFJLEdBRXZCOztBQUlMLEFBQUEsVUFBVSxBQUFBLGFBQWEsQ0FBQztFQUN0QixLQUFLLEVoQ3hqQmlCLE9BQU87RWdDeWpCN0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLENBQUM7RUFDaEIsY0FBYyxFQUFFLElBQUk7RUFDcEIsU0FBUyxFeEd2akJELFNBQXVCO0V3R3dqQi9CLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsTUFBTSxFQUFFLE1BQU07RUFDZCxVQUFVLEVoQ3BqQlEsT0FBTztFZ0NxakJ6QixPQUFPLEVBQUUsU0FBUztFQUNsQixRQUFRLEVBQUUsTUFBTSxHQTZCakI7RUFqQ0QsQUFNRSxrQkFOZ0IsQ0FNaEIsRUFBRSxDQUFDO0lBQ0QsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFSSCxBQVVFLGtCQVZnQixDQVVoQixFQUFFLENBQUM7SUFDRCxTQUFTLEV4R3RrQkgsUUFBdUIsR3dHdWtCOUI7RUFaSCxBQWNFLGtCQWRnQixDQWNoQixFQUFFO0VBZEosa0JBQWtCLENBZWhCLEVBQUUsQ0FBQztJQUNELEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQztJQUNWLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBcEJILEFBc0JFLGtCQXRCZ0IsQ0FzQmhCLEVBQUUsQ0FBQztJQUNELEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFQUFFLEtBQUssR0FDYjtFQTFCSCxBQTRCRSxrQkE1QmdCLENBNEJoQixFQUFFLENBQUM7SUFDRCxXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVBQUUsa0JBQWtCLEdBQzFCOztBQUlILEFBRUUsb0JBRmtCLENBRWxCLEVBQUUsQ0FBQztFQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUpILEFBTUUsb0JBTmtCLENBTWxCLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsWUFBWTtFQUNyQixZQUFZLEVBQUUsSUFBSTtFQUNsQixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFaSCxBQWNFLG9CQWRrQixDQWNsQixFQUFFLENBQUM7RUFDRCxhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFoQkgsQUFrQkUsb0JBbEJrQixDQWtCbEIsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFeEdqbkJILFNBQXVCO0V3R2tuQjdCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUdILEFBRUUscUJBRm1CLENBRW5CLEVBQUUsQUFBQSxjQUFjLENBQUM7RUFDZixLQUFLLEVoQzluQmUsT0FBTztFZ0MrbkIzQixTQUFTLEV4RzFuQkgsU0FBdUI7RXdHMm5CN0IsTUFBTSxFQUFFLE1BQU0sR0FDZjs7QUFJSCxBQUVFLG1CQUZpQixDQUVqQixHQUFHLENBQUM7RTlEcG9CRixNQUFNLEU4RHFvQlEsS0FBSztFOUQ3bkJuQixLQUFLLEU4RDZuQlMsS0FBSztFQUNuQixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixhQUFhLEVBQUUsS0FBSyxHQUNyQjs7QUFQSCxBQVNFLG1CQVRpQixDQVNqQixFQUFFLENBQUM7RUFDRCxTQUFTLEV4RzFvQkgsU0FBdUI7RXdHMm9CN0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFoQkgsQUFrQkUsbUJBbEJpQixDQWtCakIsQ0FBQyxBQUFBLFNBQVMsQ0FBQztFQUNULEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFeEdwcEJILE9BQXVCO0V3R3FwQjdCLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDaENwb0JWLE9BQU87RWdDcW9CbkIsWUFBWSxFQUFFLEdBQUc7RUFDakIsV0FBVyxFQUFFLENBQUM7RUFDZCxPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUF6QkgsQUEyQkUsbUJBM0JpQixDQTJCakIsZUFBZSxDQUFDO0VBQ2QsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQTlCSCxBQWdDRSxtQkFoQ2lCLENBZ0NqQixjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsSUFBSTtFMUN4cEJsQixPQUFPLEUwQ3lwQlEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtFQUNoQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hDbHFCVixPQUFPLEdnQ3VxQnRCO0VBekNILEFBc0NJLG1CQXRDZSxDQWdDakIsY0FBYyxBQU1YLGFBQWEsQ0FBQztJQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQXhDTCxBQUVFLG1CQUZpQixDQUVqQixHQUFHLENBeUNDO0VBQ0YsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBN0NILEFBK0NFLG1CQS9DaUIsQ0ErQ2pCLFVBQVUsQ0FBQztFQUNULEtBQUssRUFBRSxrQkFBa0I7RUFDekIsT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7O0FBbkRILEFBcURFLG1CQXJEaUIsQ0FxRGpCLHdCQUF3QixDQUFDO0VBQ3ZCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFaEMzckJpQixPQUFPO0VnQzRyQjdCLFNBQVMsRXhHeHJCSCxRQUF1QjtFd0d5ckI3QixXQUFXLEVBQUUsSUFBSTtFQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUEzREgsQUE2REUsbUJBN0RpQixDQTZEakIsS0FBSyxDQUFDO0VBQ0osU0FBUyxFeEc5ckJILE9BQXVCO0V3RytyQjdCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBeEN2bkJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXdDdWpCdkMsQUFFRSxtQkFGaUIsQ0FFakIsR0FBRyxDQWtFRztJOUR0c0JKLE1BQU0sRThEdXNCVSxJQUFJO0k5RC9yQnBCLEtBQUssRThEK3JCVyxJQUFJLEdBQ25CO0VBdEVMLEFBU0UsbUJBVGlCLENBU2pCLEVBQUUsQ0ErREc7SUFDRCxTQUFTLEV4R3pzQkwsU0FBdUI7SXdHMHNCM0IsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUEzRUwsQUFnQ0UsbUJBaENpQixDQWdDakIsY0FBYyxDQTZDRztJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFVBQVUsRUFBRSxJQUFJO0kxQ3JzQnBCLE9BQU8sRTBDc3NCVSxJQUFJLENBQUMsQ0FBQyxHQUtwQjtJQXJGTCxBQXNDSSxtQkF0Q2UsQ0FnQ2pCLGNBQWMsQUFNWCxhQUFhLENBNENHO01BQ2IsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFwRlAsQUErQ0UsbUJBL0NpQixDQStDakIsVUFBVSxDQXdDRztJQUNULEtBQUssRUFBRSxrQkFBa0I7SUFDekIsWUFBWSxFQUFFLElBQUksR0FDbkI7RUExRkwsQUFxREUsbUJBckRpQixDQXFEakIsd0JBQXdCLENBdUNHO0lBQ3ZCLFNBQVMsRXhHN3RCTCxPQUF1QjtJd0c4dEIzQixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQWhHTCxBQTZERSxtQkE3RGlCLENBNkRqQixLQUFLLENBcUNHO0lBQ0osT0FBTyxFQUFFLElBQUksR0FDZDs7QUFLTCxBQUFBLGtCQUFrQixHQUFDLDhCQUE4QixDQUFDO0VBQ2hELGFBQWEsRUFBRSxLQUFLLEdBS3JCO0V4Q3RxQkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0NncUJ2QyxBQUFBLGtCQUFrQixHQUFDLDhCQUE4QixDQUFDO01BSTlDLGFBQWEsRUFBRSxJQUFJLEdBRXRCOztBQ3B2QkQsQUFFRSxXQUZTLENBRVQsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLEVBQUU7RUFDWCxVQUFVLEVqQ3VDRyxPQUFPO0VpQ3RDcEIsS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsUUFBUSxHQW1abkI7RUF6WkgsQUFVSSxXQVZPLENBRVQsYUFBYSxDQVFYLHNCQUFzQixDQUFDO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFiTCxBQWVJLFdBZk8sQ0FFVCxhQUFhLENBYVgscUJBQXFCLENBQUM7SUFDcEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLElBQUk7STNDRmhCLE9BQU8sRTJDR1UsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtJQUNoQyxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pDWlYsT0FBTztJaUNhbkIsVUFBVSxFakNGUixJQUFJO0lpQ0dOLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLE1BQU0sRUFBRSxPQUFPO0lqRXJCYixrQkFBb0IsRWlFc0JGLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJakVqQnBDLGVBQWlCLEVpRWlCQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SWpFRnBDLFVBQVksRWlFRU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBeUR2QztJQWhGTCxBQU5FLFdBTVMsQ0FFVCxhQUFhLENBYVgscUJBQXFCLEFBckJ0QixZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDO0lBTWhDLFdBQVcsQ0FFVCxhQUFhLENBYVgscUJBQXFCLEFBcEJ0QixZQUFZLEFBQUEsZUFBZ0IsQ0FEQSxDQUFDLElBQ0UscUJBQXFCLENBQUs7TUFnQ3BELEtBQUssRUFBRSxHQUFHLEdBOUJmO0lBR0gsQUFORSxXQU1TLENBRVQsYUFBYSxDQWFYLHFCQUFxQixBQXJCdEIsWUFBWSxBQUFBLGVBQWdCLENBQUEsQ0FBQztJQU1oQyxXQUFXLENBRVQsYUFBYSxDQWFYLHFCQUFxQixBQXBCdEIsWUFBWSxBQUFBLGVBQWdCLENBREEsQ0FBQyxJQUNFLHFCQUFxQixDQUFLO01Bb0NwRCxLQUFLLEVBQUUsS0FBSyxHQWxDakI7SUFHSCxBQU5FLFdBTVMsQ0FFVCxhQUFhLENBYVgscUJBQXFCLEFBckJ0QixZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDO0lBTWhDLFdBQVcsQ0FFVCxhQUFhLENBYVgscUJBQXFCLEFBcEJ0QixZQUFZLEFBQUEsZUFBZ0IsQ0FEQSxDQUFDLElBQ0UscUJBQXFCLENBQUs7TUF3Q3BELEtBQUssRUFBRSxHQUFHLEdBdENmO0lBR0gsQUFORSxXQU1TLENBRVQsYUFBYSxDQWFYLHFCQUFxQixBQXJCdEIsWUFBWSxBQUFBLGVBQWdCLENBQUEsQ0FBQztJQU1oQyxXQUFXLENBRVQsYUFBYSxDQWFYLHFCQUFxQixBQXBCdEIsWUFBWSxBQUFBLGVBQWdCLENBREEsQ0FBQyxJQUNFLHFCQUFxQixDQUFLO01BNENwRCxLQUFLLEVBQUUsR0FBRyxHQTFDZjtJQUdILEFBMENNLFdBMUNLLENBRVQsYUFBYSxDQWFYLHFCQUFxQixBQTJCbEIsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TWxFakNqQixRQUFRLEVrRWtDZ0IsUUFBUTtNbEU5QjVCLEdBQVUsRWtFOEJxQixJQUFHO01sRTlCbEMsSUFBVSxFa0U4Qm1DLENBQUM7TS9EekNoRCxNQUFNLEUrRDBDaUIsR0FBRztNL0RsQzFCLEtBQUssRStEa0NhLElBQUk7TWpFNUNsQixrQkFBb0IsRWlFNkNBLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtNakV4Q3RDLGVBQWlCLEVpRXdDRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7TWpFekJ0QyxVQUFZLEVpRXlCUSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7TUFDdEMsVUFBVSxFakN4QkEsT0FBTztNaUN5QmpCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUFqRFAsQUFtRE0sV0FuREssQ0FFVCxhQUFhLENBYVgscUJBQXFCLEFBb0NsQixjQUFjLENBQUM7TUFDZCxNQUFNLEVBQUUsQ0FBQyxHQUNWO0lBckRQLEFBdURNLFdBdkRLLENBRVQsYUFBYSxDQWFYLHFCQUFxQixBQXdDbEIsTUFBTSxDQUFDO01BQ04sVUFBVSxFakN0Q1YsSUFBSSxDaUNzQ2UsVUFBVSxHQU05QjtNQTlEUCxBQTBEUSxXQTFERyxDQUVULGFBQWEsQ0FhWCxxQkFBcUIsQUF3Q2xCLE1BQU0sQUFHSixPQUFPLENBQUM7UUFDUCxHQUFHLEVBQUUsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUE3RFQsQUFnRU0sV0FoRUssQ0FFVCxhQUFhLENBYVgscUJBQXFCLEFBaURsQixJQUFLLENBQUEsb0JBQW9CLENBQUMsTUFBTSxDQUFDO01BQ2hDLFVBQVUsRWpDeERFLE9BQU8sR2lDeURwQjtJekNZSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015QzlFdkMsQUFzRVEsV0F0RUcsQ0FFVCxhQUFhLENBYVgscUJBQXFCLEFBdURoQixJQUFLLENBQUEsc0NBQXNDLEVBQUU7UUFDNUMsT0FBTyxFQUFFLElBQUksR0FDZDtFQXhFVCxBQWtGSSxXQWxGTyxDQUVULGFBQWEsQ0FnRlgsdUNBQXVDLENBQUE7SUFDckMsT0FBTyxFQUFFLEVBQUUsR0ErRFo7SUFsSkwsQUFxRk0sV0FyRkssQ0FFVCxhQUFhLENBZ0ZYLHVDQUF1QyxDQUdyQyxXQUFXLENBQUE7TUFDVCxTQUFTLEVBQUUsSUFBSTtNQUNmLFVBQVUsRUFBRSxHQUFHO01BQ2YsV0FBVyxFQUFFLE1BQU07TUFDbkIsUUFBUSxFQUFFLE1BQU07TUFDaEIsYUFBYSxFQUFFLFFBQVEsR0FDeEI7SUEzRlAsQUE2Rk0sV0E3RkssQ0FFVCxhQUFhLENBZ0ZYLHVDQUF1QyxDQVdyQyx5QkFBeUIsQ0FBQTtNQUN2QixVQUFVLEVqQzVFVixJQUFJO01pQzZFSixPQUFPLEVBQUUsSUFBSTtNQUNiLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxJQUFJO01BQ1QsS0FBSyxFQUFFLGdCQUFnQjtNQUN2QixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtNQUM1QyxJQUFJLEVBQUUsS0FBSztNQUNYLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLHFCQUFxQixHQThCbkM7TUFwSVAsQUF3R1EsV0F4R0csQ0FFVCxhQUFhLENBZ0ZYLHVDQUF1QyxDQVdyQyx5QkFBeUIsQ0FXdkIsV0FBVyxDQUFBO1FBQ1QsT0FBTyxFQUFFLEtBQUs7UUFDZCxhQUFhLEVBQUUsSUFBSTtRQUNuQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtNQTVHVCxBQThHUSxXQTlHRyxDQUVULGFBQWEsQ0FnRlgsdUNBQXVDLENBV3JDLHlCQUF5QixDQWlCdkIsZUFBZSxDQUFBO1FBQ2IsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLEdBQUcsRUFBRSxTQUFTO1FBQ2QsU0FBUyxFQUFFLElBQUksR0FDaEI7TUFuSFQsQUFxSFEsV0FySEcsQ0FFVCxhQUFhLENBZ0ZYLHVDQUF1QyxDQVdyQyx5QkFBeUIsQ0F3QnZCLFVBQVUsQ0FBQTtRQUNSLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsVUFBVSxFQUFFLElBQUk7UUFDaEIsT0FBTyxFQUFFLElBQUk7UUFDYixHQUFHLEVBQUUsTUFBTTtRQUNYLFdBQVcsRUFBRSxNQUFNLEdBU3BCO1FBbklULEFBNEhVLFdBNUhDLENBRVQsYUFBYSxDQWdGWCx1Q0FBdUMsQ0FXckMseUJBQXlCLENBd0J2QixVQUFVLENBT1IsS0FBSyxDQUFBO1VBQ0gsY0FBYyxFQUFFLElBQUk7VUFDcEIsS0FBSyxFQUFFLE9BQU87VUFDZCxTQUFTLEVBQUUsSUFBSTtVQUNmLGNBQWMsRUFBRSxDQUFDLEdBQ2xCO0lBaklYLEFBc0lNLFdBdElLLENBRVQsYUFBYSxDQWdGWCx1Q0FBdUMsQ0FvRHJDLFFBQVEsQ0FBQTtNQUNOLFVBQVUsRUFBRSxLQUFLO01BQ2pCLE1BQU0sRUFBRSxXQUFXLEdBQ3BCO0lBeklQLEFBMklNLFdBM0lLLENBRVQsYUFBYSxDQWdGWCx1Q0FBdUMsQUF5RHBDLEtBQUssQ0FBQTtNQUNKLFFBQVEsRUFBRSxPQUFPLEdBS2xCO01BakpQLEFBOElRLFdBOUlHLENBRVQsYUFBYSxDQWdGWCx1Q0FBdUMsQUF5RHBDLEtBQUssQ0FHSix5QkFBeUIsQ0FBQTtRQUN2QixPQUFPLEVBQUUsS0FBSyxHQUNmO0VBaEpULEFBb0pJLFdBcEpPLENBRVQsYUFBYSxDQWtKWCxLQUFLLENBQUM7SUFDSixTQUFTLEV6R2hKTCxRQUF1QjtJeUdpSjNCLEtBQUssRWpDcEplLE9BQU87SWlDcUozQixjQUFjLEVBQUUsU0FBUztJQUN6QixjQUFjLEVBQUUsS0FBSztJQUNyQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsTUFBTTtJQUNuQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQTVKTCxBQStKSSxXQS9KTyxDQUVULGFBQWEsQ0E2Slgsc0NBQXNDO0VBL0oxQyxXQUFXLENBRVQsYUFBYSxDQThKWCx5QkFBeUIsQ0FBQztJQUN4QixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsS0FBSyxHQWdFYjtJQWxPTCxBQW9LTSxXQXBLSyxDQUVULGFBQWEsQ0E2Slgsc0NBQXNDLEFBS25DLE1BQU07SUFwS2IsV0FBVyxDQUVULGFBQWEsQ0E4SlgseUJBQXlCLEFBSXRCLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLENBQUM7TS9EbktkLE1BQU0sRStEb0tZLElBQUk7TS9ENUp0QixLQUFLLEUrRDRKYSxJQUFJO01sRTdKeEIsUUFBUSxFa0U4SmdCLFFBQVE7TWxFMUo1QixHQUFVLEVrRTBKb0IsSUFBSTtNbEUxSmxDLEtBQVUsRWtFMEp5QixJQUFJO01BQ3JDLFVBQVUsRUFBRSxvQ0FBb0MsQ0FBQyxTQUFTLENBQUMsTUFBTTtNQUNqRSxlQUFlLEVBQUUsU0FBUztNakV6SzFCLGtCQUFvQixFaUUwS0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO01qRXJLdEMsZUFBaUIsRWlFcUtHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtNakV0SnRDLFVBQVksRWlFc0pRLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUN2QztJQTVLUCxBQThLTSxXQTlLSyxDQUVULGFBQWEsQ0E2Slgsc0NBQXNDLENBZXBDLEtBQUs7SUE5S1gsV0FBVyxDQUVULGFBQWEsQ0E4SlgseUJBQXlCLENBY3ZCLEtBQUssQ0FBQztNQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFoTFAsQUFrTE0sV0FsTEssQ0FFVCxhQUFhLENBNkpYLHNDQUFzQyxDQW1CcEMsVUFBVTtJQWxMaEIsV0FBVyxDQUVULGFBQWEsQ0E4SlgseUJBQXlCLENBa0J2QixVQUFVLENBQUM7TUFDVCxNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxXQUFXO01BQ3ZCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SXpDeEdILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXlDOUV2QyxBQStKSSxXQS9KTyxDQUVULGFBQWEsQ0E2Slgsc0NBQXNDO01BL0oxQyxXQUFXLENBRVQsYUFBYSxDQThKWCx5QkFBeUIsQ0FBQztRQXlCdEIsS0FBSyxFQUFFLGVBQWU7UUFDdEIsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsQ0FBQztRQUNWLFdBQVcsRUFBRSxDQUFDO1FBQ2QsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsR0FxQy9DO1FBbE9MLEFBb0tNLFdBcEtLLENBRVQsYUFBYSxDQTZKWCxzQ0FBc0MsQUFLbkMsTUFBTTtRQXBLYixXQUFXLENBRVQsYUFBYSxDQThKWCx5QkFBeUIsQUFJdEIsTUFBTSxDQTJCRztVQUNOLEdBQUcsRUFBRSxDQUFDO1VBQ04sTUFBTSxFQUFFLENBQUM7VUFDVCxNQUFNLEVBQUUsSUFBSSxHQUNiO1FBbk1ULEFBOEtNLFdBOUtLLENBRVQsYUFBYSxDQTZKWCxzQ0FBc0MsQ0FlcEMsS0FBSztRQTlLWCxXQUFXLENBRVQsYUFBYSxDQThKWCx5QkFBeUIsQ0FjdkIsS0FBSyxDQXVCRztVQUNKLE9BQU8sRUFBRSxLQUFLO1UvRG5NcEIsTUFBTSxFK0RvTWMsSUFBSTtVL0Q1THhCLEtBQUssRStENExlLElBQUk7VUFDbEIsU0FBUyxFQUFFLENBQUM7VUFDWixNQUFNLEVBQUUsQ0FBQztVQUNULE1BQU0sRUFBRSxPQUFPO1VBQ2YsVUFBVSxFQUFFLGtDQUFrQyxDQUFDLFNBQVMsQ0FBQyxNQUFNO1VBQy9ELGVBQWUsRUFBRSxTQUFTO1VsRWxNbEMsUUFBUSxFa0VtTWtCLFFBQVE7VWxFL0w5QixHQUFVLEVrRStMc0IsQ0FBQztVbEUvTGpDLElBQVUsRWtFK0xrQyxDQUFDLEdBQzFDO1FBOU1ULEFBZ05RLFdBaE5HLENBRVQsYUFBYSxDQTZKWCxzQ0FBc0MsQ0FpRGxDLGFBQWE7UUFoTnJCLFdBQVcsQ0FFVCxhQUFhLENBOEpYLHlCQUF5QixDQWdEckIsYUFBYSxDQUFDO1VBQ1osT0FBTyxFQUFFLFlBQVk7VUFDckIsV0FBVyxFQUFFLElBQUk7VUFDakIsS0FBSyxFQUFFLGlCQUFpQixHQWF6QjtVQWhPVCxBQXFOVSxXQXJOQyxDQUVULGFBQWEsQ0E2Slgsc0NBQXNDLENBaURsQyxhQUFhLEFBS1YsT0FBTztVQXJObEIsV0FBVyxDQUVULGFBQWEsQ0E4SlgseUJBQXlCLENBZ0RyQixhQUFhLEFBS1YsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFLEVBQUU7WS9Ebk5uQixNQUFNLEUrRG9Ob0IsSUFBSTtZL0Q1TTlCLEtBQUssRStENE1pQixHQUFHO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQ2xOaEIsT0FBTztZakNHdkIsUUFBUSxFa0VnTm9CLFFBQVE7WWxFNU1oQyxHQUFVLEVrRTRNd0IsQ0FBQztZbEU1TW5DLE1BQVUsRWtFNE0rQixDQUFDO1lsRTVNMUMsSUFBVSxFa0U0TWlDLElBQUksR0FDMUM7VUEzTlgsQUE2TlUsV0E3TkMsQ0FFVCxhQUFhLENBNkpYLHNDQUFzQyxDQWlEbEMsYUFBYSxDQWFYLEtBQUs7VUE3TmYsV0FBVyxDQUVULGFBQWEsQ0E4SlgseUJBQXlCLENBZ0RyQixhQUFhLENBYVgsS0FBSyxDQUFDO1kzQzlNZCxPQUFPLEUyQytNZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUMvQjtFQS9OWCxBQXFPSSxXQXJPTyxDQUVULGFBQWEsQ0FtT1gsb0JBQW9CO0VBck94QixXQUFXLENBRVQsYUFBYSxDQW9PWCx3QkFBd0IsQ0FBQztJQUN2QixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RUExT0wsQUE2T0ksV0E3T08sQ0FFVCxhQUFhLENBMk9YLFFBQVEsQ0FBQztJQUNQLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFakNoUGEsT0FBTyxHaUM4UzFCO0lBOVNMLEFBa1BNLFdBbFBLLENBRVQsYUFBYSxDQTJPWCxRQUFRLENBS04sa0JBQWtCLENBQUM7TUFDakIsTUFBTSxFQUFFLFlBQVk7TUFDcEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsV0FBVztNQUN2QixPQUFPLEVBQUUsSUFBSTtNQUNiLE1BQU0sRUFBRSxPQUFPLEdBcURoQjtNQTdTUCxBQTBQUSxXQTFQRyxDQUVULGFBQWEsQ0EyT1gsUUFBUSxDQUtOLGtCQUFrQixDQVFoQixJQUFJLEFBQUEsNEJBQTRCLENBQUM7UUFDL0IsU0FBUyxFekd0UFQsU0FBdUI7UXlHdVB2QixXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVqQzdQUyxPQUFPO1FpQzhQckIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLE9BQU87UUFDdkIsT0FBTyxFQUFFLENBQUM7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFFBQVEsRUFBRSxNQUFNO1FsRTFQeEIsUUFBUSxFa0UyUGtCLFFBQVE7UWxFdlA5QixHQUFVLEVrRXVQc0IsQ0FBQztRQUM3QixVQUFVLEVBQUUsd0NBQXdDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHO1FBQ3hFLGVBQWUsRUFBRSxVQUFVLEdBQzVCO01BeFFULEFBMFFRLFdBMVFHLENBRVQsYUFBYSxDQTJPWCxRQUFRLENBS04sa0JBQWtCLENBd0JoQixFQUFFLEFBQUEsNEJBQTRCLENBQUM7UUFDN0IsS0FBSyxFQUFFLE1BQU07UUFDYixPQUFPLEVBQUUsQ0FBQyxHQWtCWDtRQTlSVCxBQThRVSxXQTlRQyxDQUVULGFBQWEsQ0EyT1gsUUFBUSxDQUtOLGtCQUFrQixDQXdCaEIsRUFBRSxBQUFBLDRCQUE0QixDQUk1QiwwQkFBMEIsQ0FBQztVQUN6QixRQUFRLEVBQUUsUUFBUTtVQUNsQixTQUFTLEV6RzNRWCxTQUF1QjtVeUc0UXJCLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLFdBQVcsRUFBRSxJQUFJO1VBQ2pCLGNBQWMsRUFBRSxPQUFPO1VBQ3ZCLEtBQUssRWpDcFJPLE9BQU87VWlDcVJuQixNQUFNLEVBQUUsQ0FBQztVQUNULE1BQU0sRUFBRSxVQUFVO1VBQ2xCLE9BQU8sRUFBRSxDQUFDO1VBQ1YsVUFBVSxFQUFFLFdBQVc7VUFDdkIsY0FBYyxFQUFFLFVBQVU7VUFDMUIsVUFBVSxFQUFFLElBQUk7VUFDaEIsUUFBUSxFQUFFLE1BQU07VUFDaEIsS0FBSyxFQUFFLElBQUksR0FDWjtNQTdSWCxBQWdTUSxXQWhTRyxDQUVULGFBQWEsQ0EyT1gsUUFBUSxDQUtOLGtCQUFrQixDQThDaEIsc0JBQXNCLENBQUM7UUFDckIsVUFBVSxFQUFFLENBQUM7UUFDYixPQUFPLEVBQUUsR0FBRztRQUNaLEtBQUssRWpDblNTLE9BQU87UWlDb1NyQixTQUFTLEV6Ry9SVCxTQUF1QjtReUdnU3ZCLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO01BdFNULEFBd1NRLFdBeFNHLENBRVQsYUFBYSxDQTJPWCxRQUFRLENBS04sa0JBQWtCLENBc0RoQix5QkFBeUI7TUF4U2pDLFdBQVcsQ0FFVCxhQUFhLENBMk9YLFFBQVEsQ0FLTixrQkFBa0IsQ0F1RGhCLGVBQWUsQUFBQSx1QkFBdUIsQUFBQSxJQUFLLENBQUEsV0FBVztNQXpTOUQsV0FBVyxDQUVULGFBQWEsQ0EyT1gsUUFBUSxDQUtOLGtCQUFrQixDQXdEaEIsa0NBQWtDLENBQUM7UUFDakMsT0FBTyxFQUFFLElBQUksR0FDZDtFekM5TkwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUM5RXZDLEFBRUUsV0FGUyxDQUVULGFBQWEsQ0FBQztNbEVRZCxRQUFRLEVrRXVTYyxRQUFRO01sRW5TMUIsR0FBVSxFa0VtU2tCLENBQUM7TWxFblM3QixJQUFVLEVrRW1TOEIsQ0FBQyxHQXdHNUM7TUF6WkgsQUFtVE0sV0FuVEssQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQ0FBQztRQUNmLFFBQVEsRUFBRSxLQUFLO1FBQ2YsR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLElBQUk7UUFDWixTQUFTLEVBQUUsS0FBSyxHQThFakI7UUF2WVAsQUEyVFEsV0EzVEcsQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQUFRYixNQUFNLENBQUM7VUFDTixPQUFPLEVBQUUsRUFBRTtVbEVsVG5CLFFBQVEsRWtFbVRrQixLQUFLO1VsRS9TM0IsR0FBVSxFa0UrU21CLENBQUM7VWxFL1M5QixJQUFVLEVrRStTK0IsQ0FBQztVL0QxVDVDLE1BQU0sRStEMlRjLElBQUk7VS9EblR4QixLQUFLLEUrRG1UZSxJQUFJO1VBQ2xCLFVBQVUsRUFBRSxxQkFBcUIsR0FDbEM7UUFoVVQsQUFrVVEsV0FsVUcsQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQ0FlZCxxQkFBcUIsQUFBQSxDQUFLLEFBQThEO1VBQ3RGLE9BQU8sRUFBRSxDQUFDO1VBQ1YsT0FBTyxFQUFFLENBQUM7VUFDVixPQUFPLEVBQUUsS0FBSztVQUNkLE1BQU0sRUFBRSxJQUFJO1VBQ1osVUFBVSxFQUFFLE9BQU87VUFDbkIsS0FBSyxFQUFFLGVBQWU7VUFDdEIsT0FBTyxFQUFFLGNBQWM7VUFDdkIsV0FBVyxFQUFFLENBQUM7VUFDZCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pDcFVoQixPQUFPLEdpQ21XaEI7VUExV1QsQUE2VVUsV0E3VUMsQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQ0FlZCxxQkFBcUIsQUFBQSxDQUFLLEFBV3ZCLE9BQU8sQ0FBQztZQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7VUEvVVgsQUFpVlUsV0FqVkMsQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQ0FlZCxxQkFBcUIsQUFBQSxDQUFLLENBZXhCLEtBQUssQ0FBQztZQUNKLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO1VBcFZYLEFBc1ZVLFdBdFZDLENBRVQsYUFBYSxBQWlUUixlQUFlLENBZWQscUJBQXFCLEFBQUEsQ0FBSyxBQW9CdkIscUJBQXFCLENBQUM7WUFDckIsYUFBYSxFQUFFLENBQUMsR0FDakI7VUF4VlgsQUEwVlUsV0ExVkMsQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQ0FlZCxxQkFBcUIsQUFBQSxDQUFLLENBd0J4QixhQUFhO1VBMVZ2QixXQUFXLENBRVQsYUFBYSxBQWlUUixlQUFlLENBZWQscUJBQXFCLEFBQUEsQ0FBSyxDQXlCeEIsa0JBQWtCLENBQUMsUUFBUSxDQUFDO1lBQzFCLEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLEtBQUs7WUFDakIsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFVBQVUsR0FDckM7VUEvVlgsQUFpV1UsV0FqV0MsQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQ0FlZCxxQkFBcUIsQUFBQSxDQUFLLENBK0J4QiwwQkFBMEIsQ0FBQztZQUN6QixNQUFNLEVBQUUsSUFBSSxHQUNiO1VBbldYLEFBcVdVLFdBcldDLENBRVQsYUFBYSxBQWlUUixlQUFlLENBZWQscUJBQXFCLEFBQUEsQ0FBSyxDQW1DeEIsNEJBQTRCLENBQUM7WUFDM0IsVUFBVSxFQUFFLEdBQUc7WUFDZixhQUFhLEVBQUUsSUFBSTtZQUNuQixtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEdBQzNDO1FBeldYLEFBNFdRLFdBNVdHLENBRVQsYUFBYSxBQWlUUixlQUFlLENBeURkLG9CQUFvQixDQUFDO1VBQ25CLE9BQU8sRUFBRSxDQUFDO1VBQ1YsT0FBTyxFQUFFLENBQUM7VUFDVixPQUFPLEVBQUUsS0FBSztVQUNkLE1BQU0sRUFBRSxJQUFJO1VBQ1osVUFBVSxFQUFFLE9BQU87VUFDbkIsS0FBSyxFQUFFLGVBQWU7VUFDdEIsVUFBVSxFQUFFLE1BQU07VUFDbEIsT0FBTyxFQUFFLGFBQWE7VUFDdEIsTUFBTSxFQUFFLENBQUMsR0FTVjtVQTlYVCxBQXVYVSxXQXZYQyxDQUVULGFBQWEsQUFpVFIsZUFBZSxDQXlEZCxvQkFBb0IsQUFXakIsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDtVQXpYWCxBQTJYVSxXQTNYQyxDQUVULGFBQWEsQUFpVFIsZUFBZSxDQXlEZCxvQkFBb0IsQ0FlbEIsWUFBWSxDQUFDO1lBQ1gsTUFBTSxFQUFFLE1BQU0sR0FDZjtRQTdYWCxBQWdZUSxXQWhZRyxDQUVULGFBQWEsQUFpVFIsZUFBZSxDQTZFZCxzQ0FBc0MsQ0FBQztVQUNyQyxRQUFRLEVBQUUsS0FBSztVQUNmLElBQUksRUFBRSxDQUFDO1VBQ1AsS0FBSyxFQUFFLENBQUM7VUFDUixNQUFNLEVBQUUsSUFBSTtVQUNaLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0V6Q3hUTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5QzlFdkMsQUFFRSxXQUZTLENBRVQsYUFBYSxDQUFDO01BeVlWLEdBQUcsRUFBRSxJQUFJO01BQ1QsT0FBTyxFQUFFLE1BQU07TUFDZixVQUFVLEVqQy9YSSxPQUFPLEdpQzJZeEI7TUF6WkgsQUFtVE0sV0FuVEssQ0FFVCxhQUFhLEFBaVRSLGVBQWUsQ0E0RkM7UUFDZixPQUFPLEVBQUUsTUFBTSxHQU9oQjtRQXZaUCxBQWdZUSxXQWhZRyxDQUVULGFBQWEsQUFpVFIsZUFBZSxDQTZFZCxzQ0FBc0MsQ0FrQkM7VUFDckMsSUFBSSxFQUFFLElBQUk7VUFDVixLQUFLLEVBQUUsT0FBTztVQUNkLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxVQUFVLEdBQ3BDOztBQU9ULEFBRUUsa0JBRmdCLENBRWhCLHlCQUF5QixDQUFDO0VBQ3hCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBSkgsQUFNRSxrQkFOZ0IsQ0FNaEIsaUJBQWlCLENBQUM7RUFFaEIsUUFBUSxFQUFFLFFBQVE7RTNDdFpwQixPQUFPLEUyQ3VaUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7RUFDeEIsR0FBRyxFQUFFLElBQUk7RUFDVCxVQUFVLEVqQ3RaTixJQUFJO0VpQ3VaUixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtFQUM1QyxNQUFNLEVBQUUsQ0FBQztFakV6YUwsa0JBQW9CLEVpRTJhSixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07RWpFdGFoQyxlQUFpQixFaUVzYUQsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0VqRXZaaEMsVUFBWSxFaUV1WkksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBeURyQztFQXhFSCxBeEU3WkUsa0J3RTZaZ0IsQ0FNaEIsaUJBQWlCLEF4RW5haEIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RXdFeVpILEFBaUJJLGtCQWpCYyxDQU1oQixpQkFBaUIsQUFXZCxNQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsZ0JBQWdCLEdBQ3hCO0VBbkJMLEFBc0JNLGtCQXRCWSxDQU1oQixpQkFBaUIsQUFlZCxJQUFLLENBQUEsd0JBQXdCLENBQzNCLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0kvRGpiZixNQUFNLEUrRGtiWSxJQUFJO0kvRDFhdEIsS0FBSyxFK0QwYWEsSUFBSTtJbEUzYXhCLFFBQVEsRWtFNGFnQixRQUFRO0lsRXhhNUIsR0FBVSxFa0V3YXFCLEtBQUk7SWxFeGFuQyxJQUFVLEVrRXdhb0MsZ0JBQWdCO0lBQzVELE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLDJDQUEyQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRztJQUM1RSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQTdCUCxBQWdDSSxrQkFoQ2MsQ0FNaEIsaUJBQWlCLEFBMEJkLHdCQUF3QixDQUFDO0lBQ3hCLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO0VBbENMLEFBb0NJLGtCQXBDYyxDQU1oQixpQkFBaUIsQ0E4QmYsc0JBQXNCLENBQUM7SUFDckIsT0FBTyxFQUFFLElBQUksR0FDZDtFQXRDTCxBQTBDTSxrQkExQ1ksQ0FNaEIsaUJBQWlCLENBa0NmLGdCQUFnQixDQUVkLHlCQUF5QixDQUFDO0lBQ3hCLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO0VBNUNQLEFBOENNLGtCQTlDWSxDQU1oQixpQkFBaUIsQ0FrQ2YsZ0JBQWdCLENBTWQsd0JBQXdCLENBQUM7STNDNWI3QixPQUFPLEUyQzZiWSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO0lBQy9CLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLEtBQUssRUFBRSxHQUFHO0lBQ1YsVUFBVSxFQUFFLHdDQUF3QyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTTtJQUMxRSxlQUFlLEVBQUUsU0FBUztJQUMxQixTQUFTLEV6RzdjUCxPQUF1QjtJeUc4Y3pCLEtBQUssRWpDbmRXLE9BQU87SWlDb2R2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsVUFBVTtJakVwZHRCLGtCQUFvQixFaUVxZEEsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0lqRWhkcEMsZUFBaUIsRWlFZ2RHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJakVqY3BDLFVBQVksRWlFaWNRLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQWFyQztJQXRFUCxBQTJEUSxrQkEzRFUsQ0FNaEIsaUJBQWlCLENBa0NmLGdCQUFnQixDQU1kLHdCQUF3QixDQWFyQixBQUFBLGFBQUMsQ0FBYyxNQUFNLEFBQXBCLEVBQXNCO01BQ3RCLFVBQVUsRUFBRSwyQ0FBMkMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU07TUFDN0UsZUFBZSxFQUFFLFNBQVM7TUFDMUIsU0FBUyxFekd0ZFQsU0FBdUI7TXlHdWR2QixXQUFXLEVBQUUsR0FBRztNQUNoQixLQUFLLEVqQzdkUyxPQUFPLEdpQzhkdEI7SUFqRVQsQUFtRVEsa0JBbkVVLENBTWhCLGlCQUFpQixDQWtDZixnQkFBZ0IsQ0FNZCx3QkFBd0IsQUFxQnJCLE1BQU0sQ0FBQztNQUNOLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBekNwWkwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFeUMrVXZDLEFBTUUsa0JBTmdCLENBTWhCLGlCQUFpQixDQXNFRztJQUNoQixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FLNUM7SUFwRkwsQUFpRk0sa0JBakZZLENBNEVkLGlCQUFpQixBQUtkLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0F6Q2xhSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VNdEZ2QyxBQUFBLGtCQUFrQixDbUNxYUM7SUF3RmYsSUFBSSxFQUFFLGVBQWUsR0FxQnhCO0lBN0dELEFBOENNLGtCQTlDWSxDQU1oQixpQkFBaUIsQ0FrQ2YsZ0JBQWdCLENBTWQsd0JBQXdCLENBZ0RHO00zQzVlL0IsT0FBTyxFMkM2ZWMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtNQUM5QixlQUFlLEVBQUUsU0FBUztNQUMxQixtQkFBbUIsRUFBRSxTQUFTO01BQzlCLFNBQVMsRXpHMWZULFNBQXVCLEd5R2lnQnhCO01BekdULEFBMkRRLGtCQTNEVSxDQU1oQixpQkFBaUIsQ0FrQ2YsZ0JBQWdCLENBTWQsd0JBQXdCLENBYXJCLEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsRUF5Q3dCO1FBQ3RCLG1CQUFtQixFQUFFLFNBQVM7UUFDOUIsZUFBZSxFQUFFLFNBQVM7UUFDMUIsU0FBUyxFekcvZlgsT0FBdUIsR3lHZ2dCdEI7O0FBT1gsQUFFRSwyQkFGeUIsQUFBQSx3QkFBd0IsQ0FFakQsd0JBQXdCLENBQUM7RUFDdkIsTUFBTSxFQUFFLENBQUMsR0FLVjtFQVJILEFBS0ksMkJBTHVCLEFBQUEsd0JBQXdCLENBRWpELHdCQUF3QixBQUdyQixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUtMLEFBQUEsb0JBQW9CLENBQUM7RWxFOWdCbkIsUUFBUSxFa0UrZ0JVLFFBQVE7RWxFM2dCdEIsR0FBVSxFa0UyZ0JlLEtBQUk7RWxFM2dCN0IsS0FBVSxFa0UyZ0JvQixDQUFDO0UvRHRoQmpDLE1BQU0sRStEdWhCTSxJQUFJO0UvRC9nQmhCLEtBQUssRStEK2dCTyxJQUFJO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxtQ0FBbUMsQ0FBQyxTQUFTLENBQUMsTUFBTTtFQUNoRSxlQUFlLEVBQUUsS0FBSyxHQUt2QjtFekN0ZEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUMwY3ZDLEFBQUEsb0JBQW9CLENBQUM7TUFVakIsS0FBSyxFQUFFLElBQUksR0FFZDs7QUFjRCxBQUFBLG1CQUFtQixDQUFDO0UzQ25pQmxCLE9BQU8sRTJDb2lCTSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FDekI7O0FDNWpCRCxBQUVFLG1CQUZpQixDQUVqQixZQUFZLENBQUM7RUFDWCxVQUFVLEVsQ09ZLE9BQU8sR2tDTjlCOztBMUNrRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMEN0RnZDLEFBTUUsbUJBTmlCLENBTWpCLGVBQWUsQ0FBQztJQUdaLE9BQU8sRUFBRSxNQUFNLEdBTWxCOztBMUN1RUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMEN0RnZDLEFBTUUsbUJBTmlCLENBTWpCLGVBQWUsQ0FBQztJQU9aLE9BQU8sRUFBRSxNQUFNLEdBRWxCOztBQWZILEFBaUJFLG1CQWpCaUIsQ0FpQmpCLHFCQUFxQixDQUFDO0U1Q010QixPQUFPLEU0Q0xRLENBQUMsQ0FBQyxJQUFJO0VBQ25CLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLFdBQVcsR0FnQnhCO0VBckNILEFBdUJJLG1CQXZCZSxDQWlCakIscUJBQXFCLENBTW5CLFFBQVEsQ0FBQztJQUNQLFVBQVUsRWxDRVIsSUFBSTtJa0NETixNQUFNLEVBQUUsTUFBTTtJQUNkLFNBQVMsRUFBRSxLQUFLO0k1Q0hwQixPQUFPLEU0Q0lVLElBQUksQ0FBQyxJQUFJLEdBU3ZCO0kxQ2tERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQ3RGdkMsQUF1QkksbUJBdkJlLENBaUJqQixxQkFBcUIsQ0FNbkIsUUFBUSxDQUFDO1E1Q0FYLE9BQU8sRTRDT1ksSUFBSSxHQU1wQjtJMUNrREQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMEN0RnZDLEFBdUJJLG1CQXZCZSxDQWlCakIscUJBQXFCLENBTW5CLFFBQVEsQ0FBQztRNUNBWCxPQUFPLEU0Q1dZLElBQUksR0FFcEI7O0FBcENMLEFBdUNFLG1CQXZDaUIsQ0F1Q2pCLHFCQUFxQixDQUFDO0VoRTVCcEIsTUFBTSxFZ0U2QlEsSUFBSTtFaEVyQmxCLEtBQUssRWdFcUJTLElBQUk7RUFDbEIsVUFBVSxFQUFFLHlDQUF5QyxDQUFDLFNBQVMsQ0FBQyxNQUFNO0VBQ3RFLGVBQWUsRUFBRSxTQUFTLEdBSzNCO0VBL0NILEFBNENJLG1CQTVDZSxDQXVDakIscUJBQXFCLEFBS2xCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBOUNMLEFBaURFLG1CQWpEaUIsQ0FpRGpCLFVBQVUsQ0FBQztFQUNULFNBQVMsRTNHdkNILE9BQXNCO0UyR3dDNUIsY0FBYyxFQUFFLFNBQVM7RUFDekIsS0FBSyxFbEMxQ2lCLE9BQU87RWtDMkM3QixhQUFhLEVBQUUsR0FBRztFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsS0FBSyxHQUN0Qjs7QUF4REgsQUEwREUsbUJBMURpQixDQTBEakIsRUFBRSxDQUFDO0VBQ0QsS0FBSyxFbENuRGUsT0FBTztFa0NvRDNCLFNBQVMsRTNHakRILFFBQXNCO0UyR2tENUIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7O0FBakVILEFBbUVFLG1CQW5FaUIsQ0FtRWpCLENBQUMsQ0FBQztFQUNBLFNBQVMsRTNHekRILFFBQXNCO0UyRzBENUIsV0FBVyxFQUFFLElBQUk7RUFDakIsS0FBSyxFbEM3RGlCLE9BQU8sR2tDOEQ5Qjs7QUF2RUgsQUF5RUUsbUJBekVpQixDQXlFakIsaUJBQWlCLENBQUM7RUFDaEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FDM0VILEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RWpFVWhCLE1BQU0sRWlFVE0sSUFBSTtFakVpQmhCLEtBQUssRWlFakJPLElBQUk7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLFlBQVk7RUFDcEIsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRW5DeUNHLE9BQU87RW1DeENwQixhQUFhLEVBQUUsSUFBSTtFQUVuQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUksR0ErRWxCO0UzQ1BHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STJDdEZ2QyxBQUFBLG1CQUFtQixDQUFDO01qRVdoQixNQUFNLEVpRU1RLElBQUk7TWpFRWxCLEtBQUssRWlFRlMsSUFBSTtNQUNsQixhQUFhLEVBQUUsSUFBSTtNQUNuQixZQUFZLEVBQUUsSUFBSTtNQUNsQixVQUFVLEVBQUUsSUFBSTtNQUNoQixPQUFPLEVBQUUsT0FBTyxHQXdFbkI7TUE3RkQsQUF5Qk0sbUJBekJhLEFBdUJkLE1BQU0sQ0FFTCxJQUFJLENBQUM7UWpFZFAsTUFBTSxFaUVlWSxJQUFJO1FqRVB0QixLQUFLLEVpRU9hLElBQUk7UUFDbEIsYUFBYSxFQUFFLElBQUk7UUFDbkIsTUFBTSxFQUFFLEtBQUssR0FDZDtFQTdCUCxBQWlDRSxtQkFqQ2lCLEFBaUNoQixhQUFhLENBQUM7SUFDYixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQW5DSCxBQXFDRSxtQkFyQ2lCLENBcUNqQixJQUFJLENBQUM7SUFDSCxhQUFhLEVBQUUsQ0FBQztJQUNoQixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLEVBQUU7SUFDWCxVQUFVLEVuQ1NHLE9BQU87STlCeENwQixNQUFNLEVpRWdDUSxDQUFDO0lqRXhCZixLQUFLLEVpRXdCUyxDQUFDO0lwRXpCakIsUUFBUSxFb0UwQlksUUFBUTtJcEV0QnhCLEdBQVUsRW9Fc0JnQixHQUFHO0lwRXRCN0IsSUFBVSxFb0VzQjhCLEdBQUc7SW5FbkN6QyxrQkFBb0IsRW1Fb0NKLEdBQUcsQ0FBQyxJQUFJO0luRS9CeEIsZUFBaUIsRW1FK0JELEdBQUcsQ0FBQyxJQUFJO0luRWhCeEIsVUFBWSxFbUVnQkksR0FBRyxDQUFDLElBQUksR0FDN0I7RUE5Q0gsQUFnREUsbUJBaERpQixDQWdEakIsSUFBSSxDQUFDO0lBQ0gsSUFBSSxFbkNHYSxPQUFPLEdtQ0Z6QjtFQWxESCxBQW9ERSxtQkFwRGlCLENBb0RqQixHQUFHLENBQUM7SUFDRixNQUFNLEVBQUUsSUFBSTtJcEVuQ2QsUUFBUSxFb0VvQ1ksUUFBUTtJcEVoQ3hCLEdBQVUsRW9FZ0NnQixDQUFDO0lwRWhDM0IsS0FBVSxFb0VnQ2tCLENBQUM7SXBFaEM3QixNQUFVLEVvRWdDb0IsQ0FBQztJcEVoQy9CLElBQVUsRW9FZ0NzQixDQUFDLEdBTXBDO0kzQzBCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00yQ3RGdkMsQUFvREUsbUJBcERpQixDQW9EakIsR0FBRyxDQUFDO1FBTUEsS0FBSyxFQUFFLEdBQUcsR0FFYjtFQTVESCxBQXlCTSxtQkF6QmEsQUF1QmQsTUFBTSxDQUVMLElBQUksQ0F1Q0Q7SWpFckRMLE1BQU0sRWlFc0RVLElBQUk7SWpFOUNwQixLQUFLLEVpRThDVyxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO0VBcEVMLEFBb0RFLG1CQXBEaUIsQ0FvRGpCLEdBQUcsQ0FrQkY7SUFDRCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7RUF6RUQsQUEyRUksbUJBM0VlLEFBMEVoQixRQUFRLENBQ1AsR0FBRyxDQUFBO0lBQ0QsS0FBSyxFQUFDLElBQUk7SUFDVixNQUFNLEVBQUUsSUFBSSxHQUNiO0VBOUVMLEFBa0ZJLG1CQWxGZSxBQWlGaEIsVUFBVSxDQUNULEdBQUcsQ0FBQTtJQUNELEtBQUssRUFBQyxJQUFJO0lBQ1YsTUFBTSxFQUFFLElBQUksR0FDYjtFQXJGTCxBQXdGSSxtQkF4RmUsQUF1RmhCLFFBQVEsQ0FDUCxHQUFHLENBQUE7SUFDRCxLQUFLLEVBQUMsSUFBSTtJQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FDM0ZMLEFBQUEsU0FBUyxDQUFDO0U5Q3VCUixPQUFPLEU4Q3RCTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO0VBQ2hDLFVBQVUsRXBDb0JRLE9BQU87RW9DbkJ6QixhQUFhLEVBQUUsR0FBRyxHQTBJbkI7RUE3SUQsQUFLRSxTQUxPLENBS1AsY0FBYyxDQUFDO0lBQ2IsU0FBUyxFN0dLSCxRQUFzQjtJNkdKNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFQUFFLElBQUk7SUFDbkIsY0FBYyxFQUFFLE1BQU07SUFDdEIsS0FBSyxFcENIZSxPQUFPLEdvQ0k1QjtFQVpILEFBY0UsU0FkTyxDQWNQLEtBQUssQ0FBQztJQUNKLEtBQUssRXBDTmlCLE9BQU87SW9DTzdCLFNBQVMsRTdHTEgsUUFBc0I7STZHTTVCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBbkJILEFBcUJFLFNBckJPLENBcUJQLG1CQUFtQixDQUFDO0lBQ2xCLE1BQU0sRUFBRSxRQUFRLEdBTWpCO0lBNUJILEFBd0JJLFNBeEJLLENBcUJQLG1CQUFtQixDQUdqQixVQUFVLENBQUM7TUFDVCxZQUFZLEVwQ1RJLE9BQU87TW9DVXZCLFVBQVUsRXBDSkksT0FBTyxHb0NLdEI7RUEzQkwsQUE4QkUsU0E5Qk8sQ0E4QlAsYUFBYSxDQUFDO0lBQ1osTUFBTSxFQUFFLFdBQVcsR0FRcEI7SUF2Q0gsQUFpQ0ksU0FqQ0ssQ0E4QlAsYUFBYSxDQUdYLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtNQUNuQixTQUFTLEU3R3ZCTCxNQUFzQjtNNkd3QjFCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxJQUFJO005Q2JyQixPQUFPLEU4Q2NVLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FDL0I7RUF0Q0wsQUF5Q0UsU0F6Q08sQ0F5Q1AsUUFBUSxDQUFDO0k5Q2xCVCxPQUFPLEU4Q21CUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FnQ3RCO0lBMUVILEFBNENJLFNBNUNLLENBeUNQLFFBQVEsQUFHTCxjQUFjLENBQUM7TUFDZCxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BDOUJULE9BQU8sR29DK0JwQjtJQTlDTCxBQWdESSxTQWhESyxDQXlDUCxRQUFRLENBT04sVUFBVSxDQUFDO01BQ1QsYUFBYSxFQUFFLEdBQUcsR0FvQm5CO01BckVMLEFBbURNLFNBbkRHLENBeUNQLFFBQVEsQ0FPTixVQUFVLENBR1IsSUFBSSxDQUFDO1FBQ0gsT0FBTyxFQUFFLFlBQVk7UUFDckIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7TUF0RFAsQUF3RE0sU0F4REcsQ0F5Q1AsUUFBUSxDQU9OLFVBQVUsQ0FRUixRQUFRLENBQUM7UUFDUCxXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRXBDbkRhLE9BQU8sR29Db0QxQjtNQTdEUCxBQStETSxTQS9ERyxDQXlDUCxRQUFRLENBT04sVUFBVSxDQWVSLEtBQUssQ0FBQztRQUNKLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsS0FBSyxFcEMzRFcsT0FBTyxHb0M0RHhCO0lBcEVQLEFBdUVJLFNBdkVLLENBeUNQLFFBQVEsQ0E4Qk4sUUFBUSxDQUFDO01BQ1AsU0FBUyxFQUFFLElBQUksR0FDaEI7RUF6RUwsQUE0RUUsU0E1RU8sQ0E0RVAsZUFBZTtFQTVFakIsU0FBUyxDQTZFUCxRQUFRLEVBN0VWLFNBQVMsQ0E2RUcsTUFBTTtFQTdFbEIsU0FBUyxDQThFUCxNQUFNLEVBOUVSLFNBQVMsQ0E4RUMsS0FBSztFQTlFZixTQUFTLENBK0VQLFFBQVEsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RTVDS0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNEN0RnZDLEFBQUEsU0FBUyxDQUFDO01Bb0ZOLFVBQVUsRUFBRSxDQUFDO005QzdEZixPQUFPLEU4QzhEUSxJQUFJLENBQUMsSUFBSSxHQXdEekI7TUE3SUQsQUFLRSxTQUxPLENBS1AsY0FBYyxDQWtGRztRQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO01BekZMLEFBY0UsU0FkTyxDQWNQLEtBQUssQ0E2RUc7UUFDSixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQTdGTCxBQStGSSxTQS9GSyxDQStGTCxVQUFVLENBQUM7UUFDVCxNQUFNLEVBQUUsTUFBTSxHQUtmO1FBckdMLEFBa0dNLFNBbEdHLENBK0ZMLFVBQVUsQ0FHUixTQUFTLENBQUM7VUFDUixTQUFTLEU1R3RGUCxRQUF1QixHNEd1RjFCO01BcEdQLEFBcUJFLFNBckJPLENBcUJQLG1CQUFtQixDQWtGRztRQUNsQixNQUFNLEVBQUUsUUFBUSxHQUNqQjtNQXpHTCxBQThCRSxTQTlCTyxDQThCUCxhQUFhLENBNkVHO1FBQ1osTUFBTSxFQUFFLE1BQU0sR0FDZjtNQTdHTCxBQWdESSxTQWhESyxDQXlDUCxRQUFRLENBT04sVUFBVSxDQWlFRztRQUNULGFBQWEsRUFBRSxHQUFHLEdBb0JuQjtRQXRJUCxBQW1ETSxTQW5ERyxDQXlDUCxRQUFRLENBT04sVUFBVSxDQUdSLElBQUksQ0FpRUc7VUFDSCxPQUFPLEVBQUUsWUFBWTtVQUNyQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtRQXZIVCxBQXdETSxTQXhERyxDQXlDUCxRQUFRLENBT04sVUFBVSxDQVFSLFFBQVEsQ0FpRUc7VUFDUCxXQUFXLEVBQUUsR0FBRztVQUNoQixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxJQUFJO1VBQ2pCLEtBQUssRXBDcEhXLE9BQU8sR29DcUh4QjtRQTlIVCxBQStETSxTQS9ERyxDQXlDUCxRQUFRLENBT04sVUFBVSxDQWVSLEtBQUssQ0FpRUc7VUFDSixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLGNBQWMsRUFBRSxVQUFVO1VBQzFCLEtBQUssRXBDNUhTLE9BQU8sR29DNkh0QjtNQXJJVCxBQXVFSSxTQXZFSyxDQXlDUCxRQUFRLENBOEJOLFFBQVEsQ0FpRUc7UUFDUCxTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUMxSVAsQUFBQSxjQUFjLENBQUM7RUFDYixNQUFNLEVBQUUsT0FBTyxHQTZEaEI7RUE5REQsQUFHRSxjQUhZLENBR1osS0FBSyxFQUhQLGNBQWMsQ0FHTCxDQUFDLENBQUM7SUFDUCxPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTTtJbkVNdEIsTUFBTSxFbUVMUSxJQUFJO0luRWFsQixLQUFLLEVtRWJTLElBQUksR0FDbkI7RUFQSCxBQVNFLGNBVFksQ0FTWixLQUFLLENBQUM7SUFDSixLQUFLLEVyQ0VHLElBQUk7SXFDRFosU0FBUyxFOUdBSCxPQUFzQjtJOEdDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLElBQUksR0FDbkI7RUFkSCxBQWdCRSxjQWhCWSxDQWdCWixDQUFDLENBQUM7SUFDQSxRQUFRLEVBQUUsUUFBUTtJQUNsQixZQUFZLEVBQUUsSUFBSTtJQUNsQixVQUFVLEVBQUUsV0FBVztJQUN2QixhQUFhLEVBQUUsR0FBRztJQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JDVUgsT0FBTztJcUNUckIsT0FBTyxFQUFFLFdBQVcsR0F3QnJCO0lBOUNILEFBd0JJLGNBeEJVLENBZ0JaLENBQUMsQUFRRSxhQUFhLENBQUM7TUFDYixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJQTFCTCxBQTRCSSxjQTVCVSxDQWdCWixDQUFDLEFBWUUsTUFBTSxDQUFDO01BQ04sVUFBVSxFckNFRSxPQUFPLEdxQ0RwQjtJQTlCTCxBQWdDSSxjQWhDVSxDQWdCWixDQUFDLENBZ0JDLFlBQVksQ0FBQztNQUNYLFVBQVUsRUFBRSxNQUFNO010RWZ0QixRQUFRLEVzRWdCYyxRQUFRO010RVoxQixHQUFVLEVzRVlrQixDQUFDO010RVo3QixLQUFVLEVzRVlvQixDQUFDO010RVovQixNQUFVLEVzRVlzQixDQUFDO010RVpqQyxJQUFVLEVzRVl3QixDQUFDO01BQ25DLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFVBQVUsRUFBRSxlQUFlLEdBSzVCO01BekNMLEFBc0NNLGNBdENRLENBZ0JaLENBQUMsQ0FnQkMsWUFBWSxBQU1ULE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUF4Q1AsQUEyQ0ksY0EzQ1UsQ0FnQlosQ0FBQyxDQTJCQyxHQUFHLEVBM0NQLGNBQWMsQ0FnQlosQ0FBQyxDQTJCTSxDQUFDLENBQUM7TUFDTCxJQUFJLEVyQ2JRLE9BQU8sR3FDY3BCO0U3Q3lDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2Q3RGdkMsQUFBQSxjQUFjLENBQUM7TUFpRFgsTUFBTSxFQUFFLE1BQU0sR0FhakI7RTdDd0JHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZDdEZ2QyxBQUFBLGNBQWMsQ0FBQztNQXFEWCxNQUFNLEVBQUUsY0FBYztNQUN0QixVQUFVLEVBQUUsTUFBTSxHQVFyQjtNQTlERCxBQVNFLGNBVFksQ0FTWixLQUFLLENBK0NHO1FBQ0osS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQzVETCxBQUFBLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxNQUFNLEdBb0RoQjtFQWxERSxBQUFELG9CQUFPLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBRUEsQUFBRCxvQkFBTyxDQUFDO0lBQ04sU0FBUyxFOUdJSCxTQUF1QjtJOEdIN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RUFFQSxBQUFELG1CQUFNLENBQUM7SUFDTCxTQUFTLEVBQUUsS0FBSztJQUNoQixTQUFTLEU5R0xILFNBQXVCO0k4R003QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQXBCSCxBQXNCRSxjQXRCWSxDQXNCWixzQkFBc0IsRUF0QnhCLGNBQWMsQ1pBZCxlQUFlLENBdU1iLFlBQVksRUF2TWQsZUFBZSxDWUFmLGNBQWMsQ1p1TVosWUFBWSxFWXZNZCxjQUFjLEN1Q3FIZCx3QkFBd0IsQ0FpYXRCLGlCQUFpQixDQVFmLFlBQVksRUF6YWhCLHdCQUF3QixDQWlhdEIsaUJBQWlCLEN2Q3RoQm5CLGNBQWMsQ3VDOGhCVixZQUFZO0V2QzloQmhCLGNBQWMsQ3VDcUhkLHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksRUF6YWhCLHdCQUF3QixDQWthdEIsb0JBQW9CLEN2Q3ZoQnRCLGNBQWMsQ3VDOGhCVixZQUFZLEN2Q3hnQlM7SUFDckIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsWUFBWSxFdENFUixJQUFJO0lzQ0RSLEtBQUssRXRDQ0QsSUFBSSxHc0NBVDtFOUM0REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEN0RnZDLEFBQUEsY0FBYyxDQUFDO01BNkJYLE9BQU8sRUFBRSxNQUFNLEdBd0JsQjtFOUNpQ0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEN0RnZDLEFBQUEsY0FBYyxDQUFDO01BaUNYLE9BQU8sRUFBRSxjQUFjO01BQ3ZCLFVBQVUsRUFBRSxJQUFJLEdBbUJuQjtNQXJERCxBQW9DSSxjQXBDVSxDQW9DVixFQUFFLENBQUM7UUFDRCxTQUFTLEU5R3hCTCxTQUF1QjtROEd5QjNCLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO01BekNMLEFBMkNJLGNBM0NVLENBMkNWLEtBQUssQ0FBQztRQUNKLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFNBQVMsRTlHaENMLFFBQXVCO1E4R2lDM0IsV0FBVyxFQUFFLEdBQUcsR0FDakI7TUEvQ0wsQUFzQkUsY0F0QlksQ0FzQlosc0JBQXNCLEVBdEJ4QixjQUFjLENaQWQsZUFBZSxDQXVNYixZQUFZLEVBdk1kLGVBQWUsQ1lBZixjQUFjLENadU1aLFlBQVksRVl2TWQsY0FBYyxDdUNxSGQsd0JBQXdCLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZLEVBemFoQix3QkFBd0IsQ0FpYXRCLGlCQUFpQixDdkN0aEJuQixjQUFjLEN1QzhoQlYsWUFBWTtNdkM5aEJoQixjQUFjLEN1Q3FIZCx3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQU9sQixZQUFZLEVBemFoQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDdkN2aEJ0QixjQUFjLEN1QzhoQlYsWUFBWSxDdkM3ZVc7UUFDckIsT0FBTyxFQUFFLFlBQVksR0FDdEI7O0FDbkRMLEFBRUUsa0JBRmdCLENBRWhCLElBQUksQ0FBQztFQUNILGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDdkN1QnBCLElBQUk7RXVDdEJSLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGFBQWEsRUFBRSxJQUFJLEdBRXBCO0VBUEgsQTlFUUUsa0I4RVJnQixDQUVoQixJQUFJLEE5RU1ILE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0N0RnZDLEFBU0Usa0JBVGdCLENBU2hCLEtBQUssQ0FBQztJcER3REosS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHd0RJNUM7SUFkSCxBcERzRk0sa0JvRHRGWSxDQVNoQixLQUFLLEFwRDZFQSxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FvRHhGUCxBQWdCRSxrQkFoQmdCLENBZ0JoQixNQUFNLENBQUM7RUFDTCxTQUFTLEUvR0pILFNBQXVCO0UrR0s3QixXQUFXLEVBQUUsSUFBSSxHQUtsQjtFL0MrREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0N0RnZDLEFBZ0JFLGtCQWhCZ0IsQ0FnQmhCLE1BQU0sQ0FBQztNcERpREwsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHd0RhNUM7TUF2QkgsQXBEc0ZNLGtCb0R0RlksQ0FnQmhCLE1BQU0sQXBEc0VELFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QW9EeEZQLEFBeUJFLGtCQXpCZ0IsQ0F5QmhCLEVBQUUsQ0FBQztFQUNELFNBQVMsRS9HYkgsT0FBdUI7RStHYzdCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxPQUFPO0VBQ3ZCLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQTlCSCxBQWdDRSxrQkFoQ2dCLENBZ0NoQixTQUFTLENBQUM7RUFDUixTQUFTLEUvR3BCSCxRQUF1QjtFK0dxQjdCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCOztBL0NpREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0N0RnZDLEFBQUEsa0JBQWtCLENBQUM7SWpEdUJqQixPQUFPLEVpRGlCUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FpQjlCO0lBekRELEFBRUUsa0JBRmdCLENBRWhCLElBQUksQ0F3Q0c7TUFDSCxPQUFPLEVBQUUsQ0FBQztNQUNWLE1BQU0sRUFBRSxDQUFDO01BQ1QsYUFBYSxFQUFFLElBQUksR0FDcEI7SUE5Q0wsQUF5QkUsa0JBekJnQixDQXlCaEIsRUFBRSxDQXVCRztNQUNELFNBQVMsRS9HcENMLFFBQXVCO00rR3FDM0IsV0FBVyxFQUFFLElBQUksR0FDbEI7SUFuREwsQUFnQkUsa0JBaEJnQixDQWdCaEIsTUFBTSxDQXFDRztNQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FDdkRMLEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsTUFBTTtFQUNoQixRQUFRLEVBQUUsUUFBUSxHQThIbkI7RUE1SEUsQUFBRCw0QkFBWSxDQUFDO0l6RWFiLFFBQVEsRXlFWlksUUFBUTtJekVnQnhCLEdBQVUsRXlFaEJnQixDQUFDO0l6RWdCM0IsS0FBVSxFeUVoQmtCLENBQUM7SXpFZ0I3QixNQUFVLEV5RWhCb0IsSUFBSTtJekVnQmxDLElBQVUsRXlFaEJ5QixJQUFJO0lBQ3pDLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQUVBLEFBQUQsdUJBQU8sQ0FBQztJQUNOLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU0sR0FDcEI7RUFFQSxBQUFELHlCQUFTLENBQUM7SUFDUixnQkFBZ0IsRXhDZ0NYLHdCQUFJO0l3Qy9CVCxTQUFTLEVBQUUsS0FBSztJQUNoQixhQUFhLEVBQUUsSUFBSTtJbEREckIsT0FBTyxFa0RFUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDM0IsU0FBUyxFQUFFLENBQUMsR0FDYjtFQUVBLEFBQUQseUJBQVMsQ0FBQztJQUNSLFNBQVMsRWhIakJILFNBQXVCO0lnSGtCN0IsS0FBSyxFeENrQk0sT0FBTztJd0NqQmxCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLFFBQVEsR0FDekI7RUFFQSxBQUFELHNCQUFNLENBQUM7SUFDTCxTQUFTLEVoSHpCSCxPQUF1QjtJZ0gwQjdCLEtBQUssRXhDY08sT0FBTztJd0NibkIsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFQUFFLENBQUMsR0FDakI7RUExQ0gsQUE0Q0UsaUJBNUNlLENBNENmLFVBQVUsQ0FBQztJekUxQlgsUUFBUSxFeUUyQlksUUFBUTtJekV2QnhCLEdBQVUsRXlFdUJnQixDQUFDO0l6RXZCM0IsSUFBVSxFeUV1QjRCLEdBQUc7SXRFbEMzQyxNQUFNLEVzRW1DUSxLQUFLO0l0RTNCbkIsS0FBSyxFc0UyQlMsS0FBSztJQUNuQixVQUFVLEV4Q3JCTixJQUFJO0l3Q3NCUixhQUFhLEVBQUUsR0FBRyxHQVFuQjtJQXhESCxBQWtESSxpQkFsRGEsQ0E0Q2YsVUFBVSxDQU1SLEdBQUcsQ0FBQztNekVoQ04sUUFBUSxFeUVpQ2MsUUFBUTtNekU3QjFCLEdBQVUsRXlFNkJrQixDQUFDO016RTdCN0IsS0FBVSxFeUU2Qm9CLENBQUM7TXpFN0IvQixNQUFVLEV5RTZCc0IsQ0FBQztNekU3QmpDLElBQVUsRXlFNkJ3QixDQUFDO01BQ25DLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsSUFBSSxHQUNiO0VBdkRMLEFBMERFLGlCQTFEZSxDQTBEZixTQUFTLENBQUM7SUFDUixLQUFLLEVBQUUsT0FBTztJekV6Q2hCLFFBQVEsRXlFMENZLFFBQVE7SXpFdEN4QixHQUFVLEV5RXNDZ0IsSUFBSTtJekV0QzlCLElBQVUsRXlFc0MrQixJQUFJLEdBQ2hEO0VoRHlCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lnRHRGeEMsQUE0Q0UsaUJBNUNlLENBNENmLFVBQVUsQ0FzQkc7TUFDVCxJQUFJLEVBQUUsR0FBRyxHQUNWO0VoRGtCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnRHRGdkMsQUE0Q0UsaUJBNUNlLENBNENmLFVBQVUsQ0E2Qkc7TUFDVCxHQUFHLEVBQUUsQ0FBQztNQUNOLE1BQU0sRUFBRSxDQUFDO01BQ1QsSUFBSSxFQUFFLEdBQUc7TUFDVCxNQUFNLEVBQUUsSUFBSTtNdEVsRWQsTUFBTSxFc0VtRVUsS0FBSztNdEUzRHJCLEtBQUssRXNFMkRXLEtBQUssR0FDcEI7RWhET0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0R0RnZDLEFBNENFLGlCQTVDZSxDQTRDZixVQUFVLENBdUNHO010RXhFWCxNQUFNLEVzRXlFVSxJQUFJO010RWpFcEIsS0FBSyxFc0VpRVcsSUFBSTtNQUNsQixHQUFHLEVBQUUsTUFBTTtNQUNYLEtBQUssRUFBRSxLQUFLO01BQ1osTUFBTSxFQUFFLE9BQU8sR0FDaEI7RUF4RkwsQUEyRkUsaUJBM0ZlLENBMkZmLDBCQUEwQixDQUFDO0lBRXpCLGFBQWEsRUFBRSxLQUFLLEdBbUNyQjtJQWhJSCxBQStGSSxpQkEvRmEsQ0EyRmYsMEJBQTBCLENBSXhCLGVBQWUsQ0FBQztNQUNkLFNBQVMsRWhIbkZMLFFBQXVCO01nSG9GM0IsY0FBYyxFQUFFLFNBQVM7TUFDekIsY0FBYyxFeEMxQkgsTUFBTTtNd0MyQmpCLFVBQVUsRUFBRSxJQUFJO01BQ2hCLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBdEdMLEFBd0dJLGlCQXhHYSxDQTJGZiwwQkFBMEIsQ0FheEIsZUFBZSxDQUFDO01BQ2QsYUFBYSxFQUFFLEtBQUssR0FjckI7TUF2SEwsQUEyR00saUJBM0dXLENBMkZmLDBCQUEwQixDQWF4QixlQUFlLENBR2IsR0FBRyxDQUFDO1FBQ0YsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLEtBQUssR0FDbEI7TUE5R1AsQUFrSFEsaUJBbEhTLENBMkZmLDBCQUEwQixDQWF4QixlQUFlLEFBUVosVUFBVSxDQUVULGNBQWMsQ0FBQztRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLElBQUksR0FDakI7SUFySFQsQUF5SEksaUJBekhhLENBMkZmLDBCQUEwQixDQThCeEIsY0FBYyxDQUFDO01BQ2IsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLE1BQU07TUFDdEIsVUFBVSxFQUFFLE1BQU07TUFDbEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FDL0hMLEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixTQUFTLEVBQUUsS0FBSztFQUNoQixRQUFRLEVBQUUsa0JBQWtCLEdBbUs3QjtFQXZLRCxBQU1FLHVCQU5xQixDQU1yQixNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBUkgsQUFVRSx1QkFWcUIsQ0FVckIsTUFBTSxDQUFDO0lBQ0wsV0FBVyxFQUFFLEtBQUs7SUFDbEIsT0FBTyxFQUFFLElBQUksR0FDZDtFQWJILEFBY0UsdUJBZHFCLENBY3JCLEVBQUUsQ0FBQztJQUNELFNBQVMsRWpIRkgsTUFBdUI7SWlIRzdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBbEJILEFBb0JFLHVCQXBCcUIsQ0FvQnJCLDRDQUE0QyxDQUFDO0lBQzNDLFNBQVMsRWpIUkgsUUFBdUI7SWlIUzdCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBdkJILEFBMEJJLHVCQTFCbUIsQ0F5QnJCLFVBQVUsQUFDUCwwQkFBMEIsRUExQi9CLHVCQUF1QixDQXlCckIsVUFBVSxBQUNzQiwwQkFBMEIsQ0FBQztJdER1Q3pELEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUM7STBEbUJ6QyxRQUFRLEVBQUUsUUFBUSxHQVVuQjtJQXZDTCxBdERzRk0sdUJzRHRGaUIsQ0F5QnJCLFVBQVUsQUFDUCwwQkFBMEIsQXRENER4QixXQUFXLEVzRHRGbEIsdUJBQXVCLENBeUJyQixVQUFVLEFBQ3NCLDBCQUEwQixBdEQ0RHJELFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJc0R4RlAsQXhENkVFLHVCd0Q3RXFCLENBeUJyQixVQUFVLEFBQ1AsMEJBQTBCLEF4RG1ENUIsVUFBVyxDQUFBLEVBQUUsR3dEN0VoQix1QkFBdUIsQ0F5QnJCLFVBQVUsQUFDc0IsMEJBQTBCLEF4RG1EekQsVUFBVyxDQUFBLEVBQUUsRUFBUztNQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7SXdEL0VILEF4RGtGSSx1QndEbEZtQixDQXlCckIsVUFBVSxBQUNQLDBCQUEwQixBeER3RDFCLFVBQVcsQ0FBQSxJQUFJLEd3RGxGcEIsdUJBQXVCLENBeUJyQixVQUFVLEFBQ3NCLDBCQUEwQixBeER3RHZELFVBQVcsQ0FBQSxJQUFJLEVBQVM7TUFDdkIsS0FBSyxFVHVCWSxJQUFJLEdTdEJ0QjtJd0RwRkwsQUErQk0sdUJBL0JpQixDQXlCckIsVUFBVSxBQUNQLDBCQUEwQixDQUt6QixLQUFLLEVBL0JYLHVCQUF1QixDQXlCckIsVUFBVSxBQUNzQiwwQkFBMEIsQ0FLdEQsS0FBSyxDQUFDO01BQ0osUUFBUSxFQUFFLFFBQVEsR0FLbkI7TUFyQ1AsQUFpQ1EsdUJBakNlLENBeUJyQixVQUFVLEFBQ1AsMEJBQTBCLENBS3pCLEtBQUssQUFFRixPQUFPLEVBakNoQix1QkFBdUIsQ0F5QnJCLFVBQVUsQUFDc0IsMEJBQTBCLENBS3RELEtBQUssQUFFRixPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUMsR0FBRztRQUNYLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFwQ1QsQUEyQ00sdUJBM0NpQixDQXlCckIsVUFBVSxBQWdCUCw0QkFBNEIsQ0FFM0IsS0FBSyxDQUFDO0lBQ0osUUFBUSxFQUFFLFFBQVEsR0FLbkI7SUFqRFAsQUE2Q1EsdUJBN0NlLENBeUJyQixVQUFVLEFBZ0JQLDRCQUE0QixDQUUzQixLQUFLLEFBRUYsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFDLEdBQUc7TUFDWCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBaERULEFBcURJLHVCQXJEbUIsQ0F5QnJCLFVBQVUsQ0E0QlIsS0FBSyxDQUFDO0lBQ0osU0FBUyxFakh6Q0wsU0FBdUI7SWlIMEMzQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQXpETCxBQTRERSx1QkE1RHFCLENBNERyQix1QkFBdUIsQ0FBQztJQUN0QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3pDN0NDLE9BQU87SXlDOEN6QixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEV6Q3hEZSxPQUFPO0l5Q3lEM0IsT0FBTyxFQUFFLFFBQVE7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixRQUFRLEVBQUUsUUFBUSxHQWFuQjtJQW5GSCxBQXdFSSx1QkF4RW1CLENBNERyQix1QkFBdUIsQUFZcEIsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsNkJBQTZCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTO01BQ2pFLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxJQUFJO01BQ1gsR0FBRyxFQUFFLElBQUksR0FDVjtFQWpGTCxBQW9GRSx1QkFwRnFCLENBb0ZyQiw2QkFBNkIsQ0FBQztJQUM1QixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsSUFBSTtJQUNULElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEV6Qy9ETixJQUFJO0l5Q2dFUixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3pDM0VILE9BQU87SXlDNEVyQixVQUFVLEVBQUUsQ0FBQztJQUNiLHlCQUF5QixFQUFFLEdBQUc7SUFDOUIsMEJBQTBCLEVBQUUsR0FBRztJQUMvQixPQUFPLEVBQUUsSUFBSSxHQWtCZDtJQWhISCxBQWdHSSx1QkFoR21CLENBb0ZyQiw2QkFBNkIsQ0FZM0IsS0FBSyxFQWhHVCx1QkFBdUIsQ0FvRnJCLDZCQUE2QixDQVlwQixLQUFLLENBQUM7TUFDWCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJQWxHTCxBQW9HSSx1QkFwR21CLENBb0ZyQiw2QkFBNkIsQ0FnQjNCLDRCQUE0QixDQUFDO01BQzNCLE9BQU8sRUFBRSxXQUFXO01BQ3BCLFVBQVUsRUFBRSxLQUFLO01BQ2pCLFFBQVEsRUFBRSxJQUFJLEdBS2Y7TUE1R0wsQUF5R00sdUJBekdpQixDQW9GckIsNkJBQTZCLENBZ0IzQiw0QkFBNEIsQ0FLMUIsS0FBSyxDQUFDO1FBQ0osU0FBUyxFakg3RlAsUUFBdUIsR2lIOEYxQjtJQTNHUCxBQTZHSSx1QkE3R21CLENBb0ZyQiw2QkFBNkIsQ0F5QjNCLGNBQWMsQ0FBQztNQUNiLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBL0dMLEFBa0hFLHVCQWxIcUIsQ0FrSHJCLHVCQUF1QixDQUFDO0lBQ3RCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBU1g7SUE3SEgsQUFxSEksdUJBckhtQixDQWtIckIsdUJBQXVCLENBR3JCLEtBQUssQ0FBQztNQUNKLFFBQVEsRUFBRSxRQUFRLEdBTW5CO0VBNUhMLEFBOEhFLHVCQTlIcUIsQ0E4SHJCLHdCQUF3QixDQUFDO0lBQ3ZCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFqSUgsQUFrSUUsdUJBbElxQixDQWtJckIsK0JBQStCLENBQUM7SUFDOUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6Q3RIUCxPQUFPLEd5Q3VIdEI7RUF0SUgsQUF1SUUsdUJBdklxQixDQXVJckIsNEJBQTRCLENBQUM7SUFDM0IsS0FBSyxFQUFFLEtBQUssR0FDYjtFQXpJSCxBQThIRSx1QkE5SHFCLENBOEhyQix3QkFBd0IsQ0FZQztJQUN2QixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsUUFBUSxHQUNsQjtFakR2REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUR0RnZDLEFBVUUsdUJBVnFCLENBVXJCLE1BQU0sQ0FzSUc7TUFDTCxNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBbEpMLEFBcUpJLHVCQXJKbUIsQ0FvSnJCLG9CQUFvQixBQUNqQixNQUFNLENBQUM7SUFDTixLQUFLLEV6Q3hISyxPQUFPO0l5Q3lIakIsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEN6Q3pIakIsT0FBTyxHeUMwSGxCO0VBeEpMLEFBMkpFLHVCQTNKcUIsQ0EySnJCLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUM1QixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBN0pILEFBK0pFLHVCQS9KcUIsQ0ErSnJCLGVBQWUsQ0FBQTtJQUNiLFNBQVMsRWpIbkpILFNBQXVCO0lpSG9KN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFQUFFLEdBQWM7SUFDckIsVUFBVSxFQUFFLElBQUk7SUFDaEIsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBSUgsQUFFSSxnQkFGWSxDQUNkLGFBQWEsQ0FDWCx1QkFBdUIsQ0FBQztFQUN0QixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxNQUFNO0VBQ2YsU0FBUyxFQUFFLEtBQUssR0FPakI7RWpEL0ZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlEbUZ2QyxBQVFRLGdCQVJRLENBQ2QsYUFBYSxDQUNYLHVCQUF1QixDQU1uQixNQUFNLENBQUM7TUFDTCxZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUNuTFQsQUFJRSxXQUpTLENBSVQsZ0JBQWdCO0FBSmxCLFdBQVcsQ0FLVCxxQkFBcUIsQUFBQSxhQUFhLEVBTHZCLGtCQUFrQixDQUk3QixnQkFBZ0I7QUFKTCxrQkFBa0IsQ0FLN0IscUJBQXFCLEFBQUEsYUFBYTtBQUpwQyxXQUFXLENBR1QsZ0JBQWdCO0FBSGxCLFdBQVcsQ0FJVCxxQkFBcUIsQUFBQSxhQUFhO0FBSHBDLGVBQWUsQ0FFYixnQkFBZ0I7QUFGbEIsZUFBZSxDQUdiLHFCQUFxQixBQUFBLGFBQWEsRUFIbkIsVUFBVSxDQUV6QixnQkFBZ0I7QUFGRCxVQUFVLENBR3pCLHFCQUFxQixBQUFBLGFBQWEsQ0FBQztFQUNqQyxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQVBILEFBU0UsV0FUUyxDQVNULFNBQVMsRUFURSxrQkFBa0IsQ0FTN0IsU0FBUztBQVJYLFdBQVcsQ0FRVCxTQUFTO0FBUFgsZUFBZSxDQU9iLFNBQVMsRUFQTSxVQUFVLENBT3pCLFNBQVMsQ0FBQztFQUNSLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLENBQUM7RUFDZCxhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QUFkSCxBQWdCRSxXQWhCUyxDQWdCVCxRQUFRLEVBaEJHLGtCQUFrQixDQWdCN0IsUUFBUTtBQWZWLFdBQVcsQ0FlVCxRQUFRO0FBZFYsZUFBZSxDQWNiLFFBQVEsRUFkTyxVQUFVLENBY3pCLFFBQVEsQ0FBQztFQUNQLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFwQkgsQUFzQkUsV0F0QlMsQ0FzQlQsY0FBYyxFQXRCSCxrQkFBa0IsQ0FzQjdCLGNBQWM7QUFyQmhCLFdBQVcsQ0FxQlQsY0FBYztBQXBCaEIsZUFBZSxDQW9CYixjQUFjLEVBcEJDLFVBQVUsQ0FvQnpCLGNBQWMsQ0FBQztFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FBMUJILEFBNEJFLFdBNUJTLENBNEJULGVBQWUsRUE1Qkosa0JBQWtCLENBNEI3QixlQUFlO0FBM0JqQixXQUFXLENBMkJULGVBQWU7QUExQmpCLGVBQWUsQ0EwQmIsZUFBZSxFQTFCQSxVQUFVLENBMEJ6QixlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0UxRXZCWixpQkFBb0IsRTBFd0JMLGdCQUFnQjtFMUVuQi9CLGNBQWlCLEUwRW1CRixnQkFBZ0I7RTFFZC9CLGFBQWdCLEUwRWNELGdCQUFnQjtFMUVUL0IsWUFBZSxFMEVTQSxnQkFBZ0I7RTFFSi9CLFNBQVksRTBFSUcsZ0JBQWdCLEdBc0NwQztFQXZFSCxBQW1DSSxXQW5DTyxDQTRCVCxlQUFlLEFBT1osT0FBTyxFQW5DQyxrQkFBa0IsQ0E0QjdCLGVBQWUsQUFPWixPQUFPO0VBbENaLFdBQVcsQ0EyQlQsZUFBZSxBQU9aLE9BQU87RUFqQ1osZUFBZSxDQTBCYixlQUFlLEFBT1osT0FBTyxFQWpDSyxVQUFVLENBMEJ6QixlQUFlLEFBT1osT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SXhFekJiLE1BQU0sRXdFMEJVLElBQUk7SXhFbEJwQixLQUFLLEV3RWtCVyxJQUFJO0kzRW5CdEIsUUFBUSxFMkVvQmMsUUFBUTtJM0VoQjFCLEdBQVUsRTJFZ0JrQixJQUFJO0kzRWhCaEMsSUFBVSxFMkVnQmtDLEtBQUksR0FDakQ7RUF2Q0wsQUF5Q0ksV0F6Q08sQ0E0QlQsZUFBZSxBQWFaLE1BQU0sRUF6Q0Usa0JBQWtCLENBNEI3QixlQUFlLEFBYVosTUFBTTtFQXhDWCxXQUFXLENBMkJULGVBQWUsQUFhWixNQUFNO0VBdkNYLGVBQWUsQ0EwQmIsZUFBZSxBQWFaLE1BQU0sRUF2Q00sVUFBVSxDQTBCekIsZUFBZSxBQWFaLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SXhFaENiLE1BQU0sRXdFaUNlLEdBQUc7SXhFekJ4QixLQUFLLEV3RXlCVyxJQUFJO0kzRTFCdEIsUUFBUSxFMkUyQmMsUUFBUTtJM0V2QjFCLEdBQVUsRTJFdUJrQixJQUFJO0kzRXZCaEMsSUFBVSxFMkV1QmtDLEtBQUksR0FDakQ7RUE5Q0wsQUFrRE0sV0FsREssQ0E0QlQsZUFBZSxBQW9CWixNQUFNLEFBRUosT0FBTyxFQWxERCxrQkFBa0IsQ0E0QjdCLGVBQWUsQUFvQlosTUFBTSxBQUVKLE9BQU87RUFqRGQsV0FBVyxDQTJCVCxlQUFlLEFBb0JaLE1BQU0sQUFFSixPQUFPO0VBaERkLGVBQWUsQ0EwQmIsZUFBZSxBQW9CWixNQUFNLEFBRUosT0FBTyxFQWhERyxVQUFVLENBMEJ6QixlQUFlLEFBb0JaLE1BQU0sQUFFSixPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsNENBQTRDLENBQUMsU0FBUyxDQUFDLE1BQU07SUFDekUsZUFBZSxFQUFFLFNBQVMsR0FDM0I7RUFyRFAsQUF1RE0sV0F2REssQ0E0QlQsZUFBZSxBQW9CWixNQUFNLEFBT0osTUFBTSxFQXZEQSxrQkFBa0IsQ0E0QjdCLGVBQWUsQUFvQlosTUFBTSxBQU9KLE1BQU07RUF0RGIsV0FBVyxDQTJCVCxlQUFlLEFBb0JaLE1BQU0sQUFPSixNQUFNO0VBckRiLGVBQWUsQ0EwQmIsZUFBZSxBQW9CWixNQUFNLEFBT0osTUFBTSxFQXJESSxVQUFVLENBMEJ6QixlQUFlLEFBb0JaLE1BQU0sQUFPSixNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBTyxHQUNwQjtFQXpEUCxBQThETSxXQTlESyxDQTRCVCxlQUFlLEFBZ0NaLE9BQU8sQUFFTCxPQUFPLEVBOURELGtCQUFrQixDQTRCN0IsZUFBZSxBQWdDWixPQUFPLEFBRUwsT0FBTztFQTdEZCxXQUFXLENBMkJULGVBQWUsQUFnQ1osT0FBTyxBQUVMLE9BQU87RUE1RGQsZUFBZSxDQTBCYixlQUFlLEFBZ0NaLE9BQU8sQUFFTCxPQUFPLEVBNURHLFVBQVUsQ0EwQnpCLGVBQWUsQUFnQ1osT0FBTyxBQUVMLE9BQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSw2Q0FBNkMsQ0FBQyxTQUFTLENBQUMsTUFBTTtJQUMxRSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQWpFUCxBQW1FTSxXQW5FSyxDQTRCVCxlQUFlLEFBZ0NaLE9BQU8sQUFPTCxNQUFNLEVBbkVBLGtCQUFrQixDQTRCN0IsZUFBZSxBQWdDWixPQUFPLEFBT0wsTUFBTTtFQWxFYixXQUFXLENBMkJULGVBQWUsQUFnQ1osT0FBTyxBQU9MLE1BQU07RUFqRWIsZUFBZSxDQTBCYixlQUFlLEFBZ0NaLE9BQU8sQUFPTCxNQUFNLEVBakVJLFVBQVUsQ0EwQnpCLGVBQWUsQUFnQ1osT0FBTyxBQU9MLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxPQUFPLEdBQ3BCOztBQXJFUCxBQXlFRSxXQXpFUyxDQXlFVCwyQkFBMkIsRUF6RWhCLGtCQUFrQixDQXlFN0IsMkJBQTJCO0FBeEU3QixXQUFXLENBd0VULDJCQUEyQjtBQXZFN0IsZUFBZSxDQXVFYiwyQkFBMkIsRUF2RVosVUFBVSxDQXVFekIsMkJBQTJCLENBQUM7RUFDMUIsTUFBTSxFQUFFLElBQUk7RTFFakVSLGlCQUFvQixFMEVrRUwsZ0JBQWdCO0UxRTdEL0IsY0FBaUIsRTBFNkRGLGdCQUFnQjtFMUV4RC9CLGFBQWdCLEUwRXdERCxnQkFBZ0I7RTFFbkQvQixZQUFlLEUwRW1EQSxnQkFBZ0I7RTFFOUMvQixTQUFZLEUwRThDRyxnQkFBZ0IsR0FDcEM7O0FBRUgsQUFFRSxXQUZTLENBRVQsc0JBQXNCLENBQUM7RUFDckIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFSCxBQUVFLGtCQUZnQixDQUVoQixzQkFBc0I7QUFGeEIsa0JBQWtCLENBR2hCLHNCQUFzQixDQUFDO0VBQ3JCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBRUgsQUFFRSxZQUZVLENBRVYsd0JBQXdCLENBQUM7RUFDdkIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUMvRkgsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUNoQixTQUFTLEVuSFdELFFBQXVCO0VtSFYvQixLQUFLLEVBQUUsSUFBSTtFQUNYLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGFBQWEsRUFBRSxJQUFJLEdBNkJwQjtFQWxDRCxBQU9FLG9CQVBrQixHQU9kLEdBQUcsQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFUSCxBQVdFLG9CQVhrQixDQVdsQixLQUFLLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBZEgsQUFnQkUsb0JBaEJrQixDQWdCbEIsS0FBSyxDQUFDO0lBQ0osS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixZQUFZLEVBQUUsSUFBSSxHQUNuQjtFQW5CSCxBQXFCRSxvQkFyQmtCLENBcUJsQixJQUFJLENBQUM7SUFDSCxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBeEJILEFBMEJFLG9CQTFCa0IsQ0EwQmxCLFFBQVEsQ0FBQztJQUNQLEtBQUssRUFBRSxLQUFLO0lBQ1osWUFBWSxFQUFFLElBQUksR0FDbkI7RW5EeURDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1EdEZ2QyxBQUFBLG9CQUFvQixDQUFDO01BZ0NqQixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRTNDYkosSUFBSTtFMkNjVixXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsT0FBTztFdkRPYixPQUFPLEVBQUUsS0FBSztFdURMaEIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsYUFBYSxFQUFFLEdBQUcsR0FpSW5CO0VBeklELEFsRjVCRSxrQmtGNEJnQixBbEY1QmYsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RWtGd0JILEFBVUUsa0JBVmdCLENBVWhCLEtBQUssQ0FBQztJQUNKLFFBQVEsRUFBRSxNQUFNO0l6RXBDaEIsTUFBTSxFeUVxQ2EsSUFBSTtJekU3QnZCLEtBQUssRXlFNkJTLElBQUk7STVFOUJwQixRQUFRLEU0RStCWSxRQUFRO0k1RTNCeEIsR0FBVSxFNEUyQmdCLENBQUM7STVFM0IzQixJQUFVLEU0RTJCNEIsQ0FBQyxHQXVCMUM7SUFwQ0gsQUFlSSxrQkFmYyxDQVVoQixLQUFLLEFBS0YsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNekUxQ2hCLE1BQU0sRXlFMkNVLEtBQUs7TXpFbkNyQixLQUFLLEV5RW1DVyxLQUFLO01BQ25CLFVBQVUsRTNDeEJFLE9BQU87TWpDYnZCLFFBQVEsRTRFc0NjLFFBQVE7TTVFbEMxQixHQUFVLEU0RWtDa0IsR0FBRztNNUVsQy9CLEtBQVUsRTRFa0NzQixDQUFDO00zRS9DL0IsaUJBQW9CLEUyRWdESCxnQkFBZ0I7TTNFM0NqQyxjQUFpQixFMkUyQ0EsZ0JBQWdCO00zRXRDakMsYUFBZ0IsRTJFc0NDLGdCQUFnQjtNM0VqQ2pDLFlBQWUsRTJFaUNFLGdCQUFnQjtNM0U1QmpDLFNBQVksRTJFNEJLLGdCQUFnQjtNQUNuQyxhQUFhLEVBQUUsR0FBRztNQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBeEJMLEFBMEJJLGtCQTFCYyxDQVVoQixLQUFLLENBZ0JILE1BQU0sQ0FBQztNQUNMLE9BQU8sRUFBRSxDQUFDO01BQ1YsU0FBUyxFbkhuREwsT0FBdUI7TW1Ib0QzQixXQUFXLEVBQUUsR0FBRztNQUNoQixLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxNQUFNO01BQ2xCLEtBQUssRUFBRSxJQUFJO001RWxEZixRQUFRLEU0RW1EYyxRQUFRO001RS9DMUIsR0FBVSxFNEUrQ2tCLEdBQUc7TTVFL0MvQixJQUFVLEU0RStDZ0MsQ0FBQztNM0U1RHpDLGlCQUFvQixFMkU2REgsZ0JBQWdCO00zRXhEakMsY0FBaUIsRTJFd0RBLGdCQUFnQjtNM0VuRGpDLGFBQWdCLEUyRW1EQyxnQkFBZ0I7TTNFOUNqQyxZQUFlLEUyRThDRSxnQkFBZ0I7TTNFekNqQyxTQUFZLEUyRXlDSyxnQkFBZ0IsR0FDcEM7RUFuQ0wsQUFzQ0Usa0JBdENnQixDQXNDaEIsa0JBQWtCLEVBdENwQixrQkFBa0IsQ0FzQ0ksSUFBSSxFQXRDMUIsa0JBQWtCLENBc0NVLFFBQVE7RUF0Q3BDLGtCQUFrQixDQXVDaEIsU0FBUyxFQXZDWCxrQkFBa0IsQ0F1Q0wsS0FBSyxDQUFDO0lBQ2YsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RUExQ0gsQUE0Q0Usa0JBNUNnQixDQTRDaEIsa0JBQWtCLENBQUM7SUFDakIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixZQUFZLEVBQUUsSUFBSSxHQUNuQjtFQS9DSCxBQWlERSxrQkFqRGdCLENBaURoQixTQUFTLENBQUM7SUFDUixLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFbkgzRUgsU0FBdUI7SW1INEU3QixXQUFXLEVBQUUsQ0FBQyxHQVNmO0lBOURILEFBdURJLGtCQXZEYyxDQWlEaEIsU0FBUyxBQU1OLEdBQUcsQ0FBQztNQUNILEtBQUssRTNDN0RPLE9BQU8sRzJDOERwQjtJQXpETCxBQTJESSxrQkEzRGMsQ0FpRGhCLFNBQVMsQUFVTixLQUFLLENBQUM7TUFDTCxLQUFLLEUzQ3RGZSxPQUFPLEcyQ3VGNUI7RUE3REwsQUFnRUUsa0JBaEVnQixDQWdFaEIsS0FBSyxDQUFDO0lBQ0osU0FBUyxFbkh4RkgsU0FBdUI7SW1IeUY3QixXQUFXLEVBQUUsQ0FBQztJQUNkLFlBQVksRUFBRSxJQUFJO0lBQ2xCLEtBQUssRUFBRSxpQkFBaUIsR0FDekI7RUFyRUgsQUF1RUUsa0JBdkVnQixDQXVFaEIsSUFBSSxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsTUFBTTtJQUNmLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCO0VBM0VILEFBNkVFLGtCQTdFZ0IsQ0E2RWhCLFFBQVEsQ0FBQztJQUNQLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLE1BQU07SUFDZixTQUFTLEVuSHZHSCxRQUF1QjtJbUh3RzdCLEtBQUssRTNDdkZPLE9BQU87STJDd0ZuQixjQUFjLEVBQUUsT0FBTyxHQUN4QjtFQW5GSCxBQXFGRSxrQkFyRmdCLENBcUZoQixNQUFNLENBQUM7SXpFOUdMLE1BQU0sRXlFK0dRLElBQUk7SXpFdkdsQixLQUFLLEV5RXVHUyxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxHQUFHO0k1RXpHcEIsUUFBUSxFNEUwR1ksUUFBUTtJNUV0R3hCLEdBQVUsRTRFc0dnQixDQUFDO0k1RXRHM0IsS0FBVSxFNEVzR21CLEtBQUk7STVFdEdqQyxNQUFVLEU0RXNHd0IsQ0FBQztJQUNyQyxNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRTNDcEhZLE9BQU87STJDcUg3QixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFbkQzQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbURsRHZDLEFBQUEsa0JBQWtCLENBQUM7TUFnR2YsT0FBTyxFQUFFLFdBQVc7TUFDcEIsTUFBTSxFQUFFLGlCQUFpQixHQXdDNUI7TUF6SUQsQUFVRSxrQkFWZ0IsQ0FVaEIsS0FBSyxDQXlGRztRQUNKLEtBQUssRUFBRSxJQUFJLEdBS1o7UUF6R0wsQUEwQkksa0JBMUJjLENBVWhCLEtBQUssQ0FnQkgsTUFBTSxDQTRFRztVQUNMLFNBQVMsRW5IOUhQLFFBQXVCLEdtSCtIMUI7TUF4R1AsQUE0Q0Usa0JBNUNnQixDQTRDaEIsa0JBQWtCLENBK0RHO1FBQ2pCLEtBQUssRUFBRSxrQkFBa0I7UUFDekIsWUFBWSxFQUFFLElBQUksR0FDbkI7TUE5R0wsQUFpREUsa0JBakRnQixDQWlEaEIsU0FBUyxDQStERztRQUNSLE9BQU8sRUFBRSxLQUFLO1FBQ2QsS0FBSyxFQUFFLElBQUk7UUFDWCxTQUFTLEVuSDFJTCxPQUF1QjtRbUgySTNCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO01BckhMLEFBZ0VFLGtCQWhFZ0IsQ0FnRWhCLEtBQUssQ0F1REc7UUFDSixPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsU0FBUyxFbkhqSkwsT0FBdUI7UW1Ia0ozQixPQUFPLEVBQUUsQ0FBQyxHQUNYO01BNUhMLEFBdUVFLGtCQXZFZ0IsQ0F1RWhCLElBQUksQ0F1REc7UUFDSCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxNQUFNLEdBQ2hCO01BaklMLEFBNkVFLGtCQTdFZ0IsQ0E2RWhCLFFBQVEsQ0FzREc7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxVQUFVO1FBQ25CLFNBQVMsRW5IN0pMLElBQXVCLEdtSDhKNUI7O0FBSUwsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsZUFBZSxHQUFHLDBCQUEwQjtBQUM1QyxlQUFlLEdBQUcscUJBQXFCLENBQUM7RUFDdEMsZ0JBQWdCLEUzQ3BLRSxPQUFPO0UyQ3FLekIsT0FBTyxFQUFFLENBQUMsR0FpSlg7RW5EalBHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1ENkZ2QyxBQUFBLGVBQWUsR0FBRywwQkFBMEI7SUFDNUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDO01BS3BDLEtBQUssRUFBRSxLQUFLLEdBOElmO0VBcEpELEFBU0UsZUFUYSxHQUFHLDBCQUEwQixDQVMxQyxvQkFBb0I7RUFSdEIsZUFBZSxHQUFHLHFCQUFxQixDQVFyQyxvQkFBb0IsQ0FBQztJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixTQUFTLEVuSGpMSCxRQUF1QixHbUhzTDlCO0lBaEJILEFBYUksZUFiVyxHQUFHLDBCQUEwQixDQVMxQyxvQkFBb0IsQ0FJbEIsQ0FBQztJQVpMLGVBQWUsR0FBRyxxQkFBcUIsQ0FRckMsb0JBQW9CLENBSWxCLENBQUMsQ0FBQztNQUNBLFNBQVMsRW5IcExMLFFBQXVCLEdtSHFMNUI7RUFmTCxBQWtCRSxlQWxCYSxHQUFHLDBCQUEwQixDQWtCMUMsT0FBTztFQWpCVCxlQUFlLEdBQUcscUJBQXFCLENBaUJyQyxPQUFPLENBQUM7SUFDTixVQUFVLEUzQzVLTixJQUFJO0kyQzZLUixVQUFVLEVBQUUsTUFBTTtJQUNsQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUscUJBQXFCLEdBQy9CO0VBdkJILEFBeUJFLGVBekJhLEdBQUcsMEJBQTBCLENBeUIxQyxLQUFLO0VBeEJQLGVBQWUsR0FBRyxxQkFBcUIsQ0F3QnJDLEtBQUssQ0FBQztJQUNKLFNBQVMsRW5IaE1ILE1BQXVCO0ltSGlNN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUE3QkgsQUErQkUsZUEvQmEsR0FBRywwQkFBMEIsQ0ErQjFDLFVBQVU7RUE5QlosZUFBZSxHQUFHLHFCQUFxQixDQThCckMsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsSUFBSTtJQUNULFFBQVEsRUFBRSxNQUFNO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFM0M5TEQsSUFBSTtJMkMrTFIsTUFBTSxFQUFFLElBQUk7SUFDWixXQUFXLEVBQUUsSUFBSSxHQWtCbEI7SUF6REgsQUF5Q0ksZUF6Q1csR0FBRywwQkFBMEIsQ0ErQjFDLFVBQVUsQUFVUCxPQUFPO0lBeENaLGVBQWUsR0FBRyxxQkFBcUIsQ0E4QnJDLFVBQVUsQUFVUCxPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRTNDbE1FLE9BQU87TTJDbU1uQixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsS0FBSztNQUNWLEtBQUssRUFBRSxDQUFDO01BQ1IsYUFBYSxFQUFFLEtBQUs7TUFDcEIsT0FBTyxFQUFFLENBQUMsR0FDWDtJQXBETCxBQXFESSxlQXJEVyxHQUFHLDBCQUEwQixDQStCMUMsVUFBVSxDQXNCUixJQUFJO0lBcERSLGVBQWUsR0FBRyxxQkFBcUIsQ0E4QnJDLFVBQVUsQ0FzQlIsSUFBSSxDQUFDO01BQ0gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDtFQXhETCxBQTBERSxlQTFEYSxHQUFHLDBCQUEwQixDQTBEMUMsS0FBSztFQXpEUCxlQUFlLEdBQUcscUJBQXFCLENBeURyQyxLQUFLLENBQUM7SUFDSixTQUFTLEVuSGpPSCxPQUF1QjtJbUhrTzdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUE5REgsQUErREUsZUEvRGEsR0FBRywwQkFBMEIsQ0ErRDFDLFNBQVM7RUE5RFgsZUFBZSxHQUFHLHFCQUFxQixDQThEckMsU0FBUyxDQUFDO0lBQ1IsU0FBUyxFbkh0T0gsU0FBdUI7SW1IdU83QixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVBQUUsT0FBTyxHQUNmO0VBbkVILEFBcUVFLGVBckVhLEdBQUcsMEJBQTBCLENBcUUxQyxFQUFFLEFBQUEsS0FBSztFQXBFVCxlQUFlLEdBQUcscUJBQXFCLENBb0VyQyxFQUFFLEFBQUEsS0FBSyxDQUFDO0lBQ04sVUFBVSxFQUFFLE1BQU07SUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FNZjtJQTdFSCxBQXlFSSxlQXpFVyxHQUFHLDBCQUEwQixDQXFFMUMsRUFBRSxBQUFBLEtBQUssR0FJRCxHQUFHO0lBeEVYLGVBQWUsR0FBRyxxQkFBcUIsQ0FvRXJDLEVBQUUsQUFBQSxLQUFLLEdBSUQsR0FBRyxDQUFDO01BQ04sT0FBTyxFQUFFLFlBQVk7TUFDckIsTUFBTSxFQUFFLE1BQU0sR0FDZjtFQTVFTCxBQStFRSxlQS9FYSxHQUFHLDBCQUEwQixDQStFMUMsRUFBRSxBQUFBLE9BQU87RUE5RVgsZUFBZSxHQUFHLHFCQUFxQixDQThFckMsRUFBRSxBQUFBLE9BQU8sQ0FBQztJQUNSLFVBQVUsRUFBRSxNQUFNLEdBS25CO0lBckZILEFBa0ZJLGVBbEZXLEdBQUcsMEJBQTBCLENBK0UxQyxFQUFFLEFBQUEsT0FBTyxDQUdQLEVBQUU7SUFqRk4sZUFBZSxHQUFHLHFCQUFxQixDQThFckMsRUFBRSxBQUFBLE9BQU8sQ0FHUCxFQUFFLENBQUM7TUFDRCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQXBGTCxBQXVGRSxlQXZGYSxHQUFHLDBCQUEwQixDQXVGMUMsRUFBRTtFQXRGSixlQUFlLEdBQUcscUJBQXFCLENBc0ZyQyxFQUFFLENBQUM7SUFDRCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRW5IL1BILFFBQXVCO0ltSGdRN0IsY0FBYyxFQUFFLFNBQVMsR0FDMUI7RUEzRkgsQUE2RkUsZUE3RmEsR0FBRywwQkFBMEIsQ0E2RjFDLEVBQUU7RUE1RkosZUFBZSxHQUFHLHFCQUFxQixDQTRGckMsRUFBRSxDQUFDO0lBQ0QsS0FBSyxFM0N2UWlCLE9BQU87STJDd1E3QixTQUFTLEVuSHJRSCxTQUF1QjtJbUhzUTdCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFbkRoTUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUQ2RnZDLEFBa0JFLGVBbEJhLEdBQUcsMEJBQTBCLENBa0IxQyxPQUFPO0lBakJULGVBQWUsR0FBRyxxQkFBcUIsQ0FpQnJDLE9BQU8sQ0FxRkc7TUFDTixPQUFPLEVBQUUsY0FBYyxHQUN4QjtJQXpHTCxBQXlCRSxlQXpCYSxHQUFHLDBCQUEwQixDQXlCMUMsS0FBSztJQXhCUCxlQUFlLEdBQUcscUJBQXFCLENBd0JyQyxLQUFLLENBa0ZHO01BQ0osU0FBUyxFbkhsUkwsUUFBdUI7TW1IbVIzQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtJQTlHTCxBQStCRSxlQS9CYSxHQUFHLDBCQUEwQixDQStCMUMsVUFBVTtJQTlCWixlQUFlLEdBQUcscUJBQXFCLENBOEJyQyxVQUFVLENBaUZHO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUixNQUFNLEVBQUUsSUFBSTtNQUNaLEdBQUcsRUFBRSxDQUFDO01BQ04sS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsSUFBSTtNQUNaLFdBQVcsRUFBRSxJQUFJLEdBT2xCO01BN0hMLEFBeUNJLGVBekNXLEdBQUcsMEJBQTBCLENBK0IxQyxVQUFVLEFBVVAsT0FBTztNQXhDWixlQUFlLEdBQUcscUJBQXFCLENBOEJyQyxVQUFVLEFBVVAsT0FBTyxDQStFRztRNUV6UmIsUUFBUSxFNEUwUmdCLFFBQVE7UTVFdFI1QixHQUFVLEU0RXNSb0IsT0FBTztRNUV0UnJDLEtBQVUsRTRFc1I0QixPQUFPO1E1RXRSN0MsTUFBVSxFNEVzUm9DLENBQUM7UTVFdFIvQyxJQUFVLEU0RXNSdUMsSUFBRztRM0VuU2xELGlCQUFvQixFMkVvU0QsY0FBYztRM0UvUmpDLGNBQWlCLEUyRStSRSxjQUFjO1EzRTFSakMsYUFBZ0IsRTJFMFJHLGNBQWM7UTNFclJqQyxZQUFlLEUyRXFSSSxjQUFjO1EzRWhSakMsU0FBWSxFMkVnUk8sY0FBYztRQUNqQyxNQUFNLEVBQUUsSUFBSSxHQUNiO0lBNUhQLEFBcUVFLGVBckVhLEdBQUcsMEJBQTBCLENBcUUxQyxFQUFFLEFBQUEsS0FBSztJQXBFVCxlQUFlLEdBQUcscUJBQXFCLENBb0VyQyxFQUFFLEFBQUEsS0FBSyxDQTBERztNQUNOLE1BQU0sRUFBRSxRQUFRO01BQ2hCLE9BQU8sRUFBRSxNQUFNO012RHBRakIsT0FBTyxFQUFFLEtBQUssR3VENlFiO01BMUlMLEFsRjNLRSxla0YyS2EsR0FBRywwQkFBMEIsQ0ErSHhDLEVBQUUsQUFBQSxLQUFLLEFsRjFTUixPQUFPO01rRjRLVixlQUFlLEdBQUcscUJBQXFCLENBOEhuQyxFQUFFLEFBQUEsS0FBSyxBbEYxU1IsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TWtGdUtILEFBeUVJLGVBekVXLEdBQUcsMEJBQTBCLENBcUUxQyxFQUFFLEFBQUEsS0FBSyxHQUlELEdBQUc7TUF4RVgsZUFBZSxHQUFHLHFCQUFxQixDQW9FckMsRUFBRSxBQUFBLEtBQUssR0FJRCxHQUFHLENBMkRHO1FBQ04sS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsR0FBRztRQUNWLE9BQU8sRUFBRSxNQUFNO1FBQ2YsTUFBTSxFQUFFLFFBQVEsR0FDakI7SUF6SVAsQUF1RkUsZUF2RmEsR0FBRywwQkFBMEIsQ0F1RjFDLEVBQUU7SUF0RkosZUFBZSxHQUFHLHFCQUFxQixDQXNGckMsRUFBRSxDQXFERztNQUNELGFBQWEsRUFBRSxHQUFHLEdBQ25CO0lBOUlMLEFBNkZFLGVBN0ZhLEdBQUcsMEJBQTBCLENBNkYxQyxFQUFFO0lBNUZKLGVBQWUsR0FBRyxxQkFBcUIsQ0E0RnJDLEVBQUUsQ0FtREc7TUFDRCxTQUFTLEVuSHZUTCxJQUF1QixHbUh3VDVCOztBQUlMLEFBRUUsZUFGYSxHQUFHLDBCQUEwQixDQUUxQyxTQUFTLENBQUM7RUFDUixHQUFHLEVBQUUsSUFBSSxHQUNWOztBQUdILEFBRUUsY0FGWSxDQUVaLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE1BQU0sRUFBRSxXQUFXO0VBQ25CLE1BQU0sRUFBRSxpQkFBaUIsR0FDMUI7O0FBTkgsQUFRRSxjQVJZLENBUVosa0JBQWtCLENBQUM7RUFDakIsS0FBSyxFQUFFLGtCQUFrQixHQUMxQjs7QUFWSCxBQVlFLGNBWlksQ0FZWixLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsSUFBSTtFQUNmLFlBQVksRUFBRSxJQUFJLEdBQ25COztBQWZILEFBaUJFLGNBakJZLENBaUJaLElBQUksQ0FBQztFekV0VkgsTUFBTSxFeUV1VlEsSUFBSTtFekUvVWxCLEtBQUssRXlFK1VTLElBQUk7RUFDbEIsYUFBYSxFQUFFLEdBQUc7RTVFalZwQixRQUFRLEU0RWtWWSxRQUFRO0U1RTlVeEIsR0FBVSxFNEU4VWlCLE9BQU07RTVFOVVqQyxLQUFVLEU0RThVeUIsT0FBTSxHQU01Qzs7QUExQkgsQUE0QkUsY0E1QlksQ0E0QlosUUFBUSxDQUFDO0VBQ1AsS0FBSyxFQUFFLEtBQUs7RUFDWixPQUFPLEVBQUUsTUFBTTtFQUNmLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBbkQxUkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFbUQwUHZDLEFBRUUsY0FGWSxDQUVaLGtCQUFrQixDQWtDRztJQUNqQixPQUFPLEVBQUUsV0FBVztJQUNwQixNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQXZDTCxBQVFFLGNBUlksQ0FRWixrQkFBa0IsQ0FpQ0c7SUFDakIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQTVDTCxBQVlFLGNBWlksQ0FZWixLQUFLLENBa0NHO0lBQ0osU0FBUyxFQUFFLElBQUk7SUFDZixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQWpETCxBQTRCRSxjQTVCWSxDQTRCWixRQUFRLENBdUJHO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUlMLEFBRUUsc0JBRm9CLENBRXBCLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsTUFBTSxFQUFFLFVBQVU7RUFDbEIsTUFBTSxFQUFFLGlCQUFpQixHQUMxQjs7QUFOSCxBQVFFLHNCQVJvQixDQVFwQixrQkFBa0IsQ0FBQztFQUNqQixLQUFLLEVBQUUsa0JBQWtCLEdBQzFCOztBQVZILEFBWUUsc0JBWm9CLENBWXBCLEtBQUssQ0FBQztFQUNKLFNBQVMsRUFBRSxJQUFJO0VBQ2YsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBZkgsQUFpQkUsc0JBakJvQixDQWlCcEIsSUFBSSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQXBCSCxBQXNCRSxzQkF0Qm9CLENBc0JwQixRQUFRLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxhQUFhO0VBQ3RCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBbkQvVUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFbURxVHZDLEFBRUUsc0JBRm9CLENBRXBCLGtCQUFrQixDQTRCRztJQUNqQixPQUFPLEVBQUUsV0FBVztJQUNwQixNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQWpDTCxBQVFFLHNCQVJvQixDQVFwQixrQkFBa0IsQ0EyQkc7SUFDakIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQXRDTCxBQVlFLHNCQVpvQixDQVlwQixLQUFLLENBNEJHO0lBQ0osU0FBUyxFQUFFLElBQUk7SUFDZixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQTNDTCxBQXNCRSxzQkF0Qm9CLENBc0JwQixRQUFRLENBdUJHO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQzFiRixBQUFELFNBQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsR0FBRyxFQUFFLE1BQU0sR0FLWjtFcEQyRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJb0RwRnJDLEFBQUQsU0FBTSxDQUFDO01BT0gsR0FBRyxFQUFFLEtBQUssR0FFYjs7QUFYSCxBQWFFLElBYkUsQ0FhRixDQUFDLENBQUM7RUFDQSxTQUFTLEVwSERILFFBQXVCO0VvSEU3QixLQUFLLEU1Q2tDTSxPQUFPO0U0Q2pDbEIsUUFBUSxFQUFFLFFBQVEsR0FnQ25CO0VwRHNDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lvRHRGeEMsQUFhRSxJQWJFLENBYUYsQ0FBQyxDQUFDO01BTUUsU0FBUyxFcEhOTCxPQUF1QixHb0htQzlCO0VBaERILEFBc0JJLElBdEJBLENBYUYsQ0FBQyxBQVNFLE9BQU8sQ0FBQztJQUNQLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTVDeUJJLE9BQU8sRzRDeEJqQjtFQXpCTCxBQTJCSSxJQTNCQSxDQWFGLENBQUMsQUFjRSxRQUFRLENBQUM7SUFDUixPQUFPLEVBQUUsRUFBRTtJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLEdBQUc7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsR0FBRztJQUNYLElBQUksRUFBRSxDQUFDO0lBQ1AsZ0JBQWdCLEU1Q2VQLE9BQU87STRDZGhCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsbUJBQW1CLEVBQUUsa0JBQWtCO0lBQ3ZDLG1CQUFtQixFQUFFLElBQUk7SUFDekIsMEJBQTBCLEVBQUUsUUFBUSxHQUNyQztFQXhDTCxBQTJDTSxJQTNDRixDQWFGLENBQUMsQUE2QkUsTUFBTSxBQUNKLFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLENBQUMsR0FDYjs7QUM5Q1AsQUFBQSxJQUFJLENBQUM7RUFDSCxZQUFZLEVBQUUsR0FBRyxHQW1CbEI7RUFqQkUsQUFBRCxTQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEdBQUcsRUFBRSxNQUFNLEdBYVo7SUFoQkEsQUFLQyxTQUxJLENBS0osQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLEtBQUssR0FFZjtJQVJGLEFBVUMsU0FWSSxDQVVKLEdBQUcsQ0FBQztNQUNGLE9BQU8sRUFBRSxLQUFLO01BQ2QsVUFBVSxFQUFFLEtBQUs7TUFDakIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQ2xCTCxBQUFBLFNBQVMsQ0FBQztFQUNSLGdCQUFnQixFOUNrREQsT0FBTztFVjVCdEIsT0FBTyxFd0RyQk0sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQXVDM0I7RXRENkNHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNEdEZ2QyxBQUFBLFNBQVMsQ0FBQztNeER1QlIsT0FBTyxFd0RsQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQW9DN0I7RUFqQ0UsQUFBRCxpQkFBUyxDQUFDO0lBQ1IsS0FBSyxFOUM2Q0EsSUFBSTtJOEM1Q1QsU0FBUyxFdEhHSCxJQUF1QjtJc0hGN0IsYUFBYSxFQUFFLElBQUksR0FNcEI7SXREcUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNEOUVwQyxBQUFELGlCQUFTLENBQUM7UUFNTixTQUFTLEV0SERMLE9BQXVCO1FzSEUzQixXQUFXLEVBQUUsSUFBSSxHQUVwQjtFQUVBLEFBQUQsY0FBTSxDQUFDO0lBQ0wsS0FBSyxFOUNrQ0EsSUFBSTtJOENqQ1QsU0FBUyxFdEhSSCxJQUF1QjtJc0hTN0IsV0FBVyxFQUFFLEdBQUcsR0FNakI7SXREMERDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNEbkVwQyxBQUFELGNBQU0sQ0FBQztRQU1ILFNBQVMsRXRIWkwsT0FBdUI7UXNIYTNCLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0VBRUEsQUFBRCxhQUFLLENBQUM7SXhEUE4sT0FBTyxFd0RRUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO0lBQzlCLFNBQVMsRXRIbkJILElBQXVCO0lzSG9CN0IsY0FBYyxFQUFFLE1BQU07SUFFdEIsV0FBVyxFQUFFLEdBQUcsR0FLakI7SUFWQSxBNUNvQ0QsYTRDcENLLEE1Q29DSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnZCZixPQUFPO01Fd0JwQixPQUFPLEVBQUUsWUFBWSxHQUN0QjtJNEM5Q0EsQUFPQyxhQVBHLEFBT0YsU0FBUyxDQUFDO01BQ1QsS0FBSyxFOUNhTSxPQUFPLEc4Q1puQjs7QUN2Q0wsQUFBQSxPQUFPLENBQUM7RUFDTixnQkFBZ0IsRS9DcURULElBQUk7RStDcERYLGFBQWEsRUFBRSxJQUFJO0V6RHFCbkIsT0FBTyxFeURwQk0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQXdCakM7RUF0QkUsQUFBRCxlQUFTLENBQUM7SUFDUixTQUFTLEV2SE9ILFNBQXVCO0l1SE43QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsR0FBRztJQUNsQixjQUFjLEVBQUUsT0FBTyxHQUN4QjtFQUVBLEFBQUQsWUFBTSxDQUFDO0lBQ0wsU0FBUyxFdkhBSCxTQUF1QjtJdUhDN0IsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLEtBQUssR0FDZjtFQUVBLEFBQUQsWUFBTSxDQUFDO0lBQ0wsU0FBUyxFdkhOSCxTQUF1QjtJdUhPN0IsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFFQSxBQUFELGlCQUFXLENBQUM7SUFDVixLQUFLLEUvQzJCUSxPQUFPO0krQzFCcEIsU0FBUyxFdkhaSCxPQUF1QixHdUhhOUI7O0FDMUJILEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixpQkFBaUIsRUFBRSxTQUFTLEdBbUc3QjtFQWpHRSxBQUFELHFCQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFVBQVUsRUFBRSxLQUFLLEdBYWxCO0lBWEMsQUFBQSwwQkFBMEIsQ0FMM0IscUJBQU0sQ0FLd0I7TUFDM0IsVUFBVSxFQUFFLEtBQUssR0FDbEI7SUFFRCxBQUFBLG9CQUFvQixDQVRyQixxQkFBTSxDQVNrQjtNQUNyQixVQUFVLEVBQUUsS0FBSyxHQUNsQjtJQUVELEFBQUEsOEJBQThCLENBYi9CLHFCQUFNLENBYTRCO01BQy9CLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO0VBR0YsQUFBRCx1QkFBUyxDQUFDO0lBQ1IsZ0JBQWdCLEVoRDZCWCx3QkFBSTtJZ0Q1QlQsU0FBUyxFQUFFLEtBQUs7SUFDaEIsYUFBYSxFQUFFLElBQUk7STFESnJCLE9BQU8sRTBES1EsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQWFqQztJeEQ2Q0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0Q5RHBDLEFBQUQsdUJBQVMsQ0FBQztRMUREVixPQUFPLEUwRFFVLElBQUksQ0FBQyxJQUFJLEdBVXpCO0lBUEMsQUFBQSxvQkFBb0IsQ0FWckIsdUJBQVEsQ0FVZ0I7TTFEWHpCLE9BQU8sRTBEWVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUNqQztJQUVELEFBQUEsOEJBQThCLENBZC9CLHVCQUFRLENBYzBCO00xRGZuQyxPQUFPLEUwRGdCVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQ2pDO0VBR0YsQUFBRCxxQkFBTyxDQUFDO0lBQ04sS0FBSyxFaERLTSxPQUFPO0lnREpsQixTQUFTLEV4SGhDSCxJQUF1QjtJd0hpQzdCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxHQUFHLEdBcUJqQjtJeERpQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0QzQ3BDLEFBQUQscUJBQU8sQ0FBQztRQVFKLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLGFBQWEsRUFBRSxHQUFHLEdBaUJyQjtJeERpQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0QzQ3BDLEFBQUQscUJBQU8sQ0FBQztRQWFKLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFNBQVMsRXhINUNMLElBQXVCO1F3SDZDM0IsV0FBVyxFQUFFLElBQUksR0FXcEI7SUFSQyxBQUFBLG9CQUFvQixDQWxCckIscUJBQU0sQ0FrQmtCO01BQ3JCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBRUQsQUFBQSw4QkFBOEIsQ0F0Qi9CLHFCQUFNLENBc0I0QjtNQUMvQixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQUdGLEFBQUQsb0JBQU0sQ0FBQztJQUNMLFNBQVMsRXhIM0RILE9BQXVCO0l3SDREN0IsS0FBSyxFaERwQk8sT0FBTztJZ0RxQm5CLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBMkJqQjtJQS9CQSxBQU1DLG9CQU5JLENBTUosQ0FBQyxDQUFDO01BQ0EsU0FBUyxFeEhqRUwsT0FBdUI7TXdIa0UzQixLQUFLLEVoRDFCSyxPQUFPO01nRDJCakIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLENBQUM7TUFDaEIsT0FBTyxFQUFFLElBQUksR0FtQmQ7TXhEZkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRd0RmcEMsQUFNQyxvQkFOSSxDQU1KLENBQUMsQ0FBQztVQVFFLFNBQVMsRXhIeEVQLElBQXVCLEd3SHdGNUI7TUE5QkYsQUFpQkcsb0JBakJFLENBTUosQ0FBQyxBQVdFLGNBQWMsQ0FBQztRQUNkLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TUFuQkosQUFxQkcsb0JBckJFLENBTUosQ0FBQyxDQWVDLE1BQU0sQ0FBQztRQUNMLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFNBQVMsRUFBRSxPQUFPLEdBTW5CO1F4RGRILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7VXdEZnBDLEFBcUJHLG9CQXJCRSxDQU1KLENBQUMsQ0FlQyxNQUFNLENBQUM7WUFLSCxXQUFXLEVBQUUsR0FBRztZQUNoQixjQUFjLEVBQUUsTUFBTSxHQUV6Qjs7QUNwR1AsQUFBQSxTQUFTLENBQUM7RUFDUixnQkFBZ0IsRWpEa0RELE9BQU8sR2lENkd2QjtFQTdKRSxBQUFELGVBQU8sQ0FBQztJM0RvQlIsT0FBTyxFMkRuQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN4QjtFQUVBLEFBQUQsaUJBQVMsQ0FBQztJQUNSLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBRUEsQUFBRCxlQUFPLENBQUM7SUFDTixLQUFLLEVqRHlDQSxJQUFJO0lpRHhDVCxhQUFhLEVBQUUsSUFBSSxHQVFwQjtJekRnRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNeUQxRXBDLEFBQUQsZUFBTyxDQUFDO1FBS0osVUFBVSxFQUFFLElBQUk7UUFDaEIsU0FBUyxFekhMTCxPQUF1QjtReUhNM0IsV0FBVyxFQUFFLEdBQUc7UUFDaEIsYUFBYSxFekhQVCxJQUF1QixHeUhTOUI7RUFFQSxBQUFELGNBQU0sQ0FBQztJQUNMLEtBQUssRWpENkJBLElBQUk7SWlENUJULFNBQVMsRXpIYkgsU0FBdUI7SXlIYzdCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLGFBQWEsRUFBRSxDQUFDLEdBT2pCO0l6RG1EQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015RDlEcEMsQUFBRCxjQUFNLENBQUM7UUFPSCxTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBRW5CO0VBRUEsQUFBRCxlQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLHFCQUFxQixFQUFFLGNBQWM7SUFDckMsR0FBRyxFQUFFLE1BQU07SUFDWCxTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxNQUFNLEdBaUNmO0lBeENBLEFBU0MsZUFUSyxBQVNKLFFBQVEsQ0FBQztNQUNSLHFCQUFxQixFQUFFLGNBQWMsR0FDdEM7SUFYRixBQWFDLGVBYkssQUFhSixRQUFRLENBQUM7TUFDUixxQkFBcUIsRUFBRSxjQUFjO01BQ3JDLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0lBaEJGLEFBa0JDLGVBbEJLLEFBa0JKLFFBQVEsQ0FBQztNQUNSLHFCQUFxQixFQUFFLEdBQUc7TUFDMUIsU0FBUyxFQUFFLEtBQUssR0FDakI7SXpENEJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXlEakRwQyxBQUFELGVBQU8sQ0FBQztRQXdCSixhQUFhLEV6SGhEVCxJQUF1QixDeUhnREosVUFBVSxHQWdCcEM7UUF4Q0EsQUEwQkcsZUExQkcsQ0EwQkgsV0FBVyxDQUFDO1VBQ1YsTUFBTSxFekhuREosVUFBdUIsR3lIb0QxQjtJQUdILEFBQUEsaUJBQWlCLENBL0JsQixlQUFNLENBK0JlO01BQ2xCLHFCQUFxQixFQUFFLGdCQUFnQixHQUN4QztJQWpDRixBQW9DRyxlQXBDRyxDQW1DTCxXQUFXLENBQ1QsTUFBTSxBQUFBLE9BQU8sQ0FBQztNQUNaLE9BQU8sRUFBRSxFQUFFLEdBQ1o7RUFJSixBQUFELGNBQU0sQ0FBQztJQUNMLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGdCQUFnQixFakQzQlgsSUFBSTtJaUQ0QlQsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLDBCQUEwQjtJQUN0QyxXQUFXLEVBQUUsQ0FBQztJM0Q3RGhCLE9BQU8sRTJEK0RRLElBQUksQ0FBQyxJQUFJO0lBQ3RCLE9BQU8sRUFBRSxLQUFLLEdBMENmO0lBbERBLEFBVUMsY0FWSSxBQVVILE1BQU0sQ0FBQztNQUNOLFNBQVMsRUFBRSxPQUFPLEdBQ25CO0lBRUEsQUFBRCxtQkFBTSxDQUFDO01BQ0wsT0FBTyxFQUFFLEtBQUs7TUFDZCxVQUFVLEVBQUUsS0FBSyxHQUNsQjtJQUVBLEFBQUQsc0JBQVMsQ0FBQztNQUNSLFVBQVUsRUFBRSxVQUFVO01BQ3RCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7SUFFQSxBQUFELG1CQUFNLENBQUM7TUFDTCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxXQUFXLEdBUXBCO01BVkEsQUFJQyxtQkFKSSxDQUlKLEdBQUcsQ0FBQztRQUNGLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsS0FBSztRQUNqQixPQUFPLEVBQUUsS0FBSyxHQUNmO0lBR0YsQUFBRCxvQkFBTyxDQUFDO01BQ04sU0FBUyxFekh2R0wsUUFBdUI7TXlId0czQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixhQUFhLEVBQUUsSUFBSTtNQUNuQixjQUFjLEVBQUUsT0FBTztNQUN2QixLQUFLLEVqRHBISixJQUFJLEdpRHFITjtJQUVBLEFBQUQsbUJBQU0sQ0FBQztNQUNMLFNBQVMsRXpIaEhMLE9BQXVCO015SGlIM0IsYUFBYSxFQUFFLENBQUM7TUFDaEIsV0FBVyxFQUFFLElBQUksR0FDbEI7RUFHRixBQUFELGdCQUFRLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxNQUFNO0kzRDlHekIsT0FBTyxFMkQrR1EsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQ3pCO0VBRUEsQUFBRCxhQUFLLENBQUM7STNEbEhOLE9BQU8sRTJEb0hRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7SUFDOUIsU0FBUyxFekgvSEgsSUFBdUI7SXlIZ0k3QixXQUFXLEVBQUUsR0FBRyxHQVNqQjtJQWJBLEEvQ3ZFRCxhK0N1RUssQS9DdkVKLE9BQU8sQ0FBQztNQUNQLEdBQUcsRUFBRSxJQUFJO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxHQUFHO01BQ1YsTUFBTSxFQUFFLEdBQUc7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENGdkJmLE9BQU87TUV3QnBCLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0krQzZEQSxBL0N2RUQsYStDdUVLLEEvQ3ZFSixPQUFPLEMrQzZFRztNQUNQLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBUkYsQUFVQyxhQVZHLEFBVUYsU0FBUyxDQUFDO01BQ1QsS0FBSyxFakRqR00sT0FBTyxHaURrR25CO0VBckpMLEFBd0pFLFNBeEpPLEFBd0pOLGVBQWUsQ0FBQztJQUNmLGdCQUFnQixFQUFFLGVBQWU7SUFDakMsS0FBSyxFQUFFLE9BQU8sR0FLZjtJQS9KSCxBQTRKSSxTQTVKSyxBQXdKTixlQUFlLEFBSWIsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLElBQUksR0FDZDs7QUM5SkwsQUFBQSxLQUFLLENBQUM7RUFDSixRQUFRLEVBQUUsUUFBUSxHQWlGbkI7RTFESUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMER0RnZDLEFBQUEsS0FBSyxDQUFDO01BSUYsbUJBQW1CLEVBQUUsTUFBTTtNQUMzQixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLGVBQWUsRUFBRSxLQUFLLEdBNEV6QjtFQWxGRCxBQVNFLEtBVEcsQUFTRixRQUFRLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsRUFBRTtJQUNYLElBQUksRUFBRSxDQUFDO0lBQ1AsR0FBRyxFQUFFLENBQUM7SUFDTixnQkFBZ0IsRWxEbUNMLHNCQUFPO0lrRGxDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiO0VBRUEsQUFBRCxXQUFPLENBQUM7STVESVIsT0FBTyxFNERIUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDeEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUMsR0FLWDtJMUQyREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMERuRXBDLEFBQUQsV0FBTyxDQUFDO1E1RElSLE9BQU8sRTRERVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBRTNCO0VBRUEsQUFBRCxXQUFPLENBQUM7SUFDTixLQUFLLEVsRHdCQSxJQUFJO0lrRHZCVCxhQUFhLEVBQUUsSUFBSSxHQU9wQjtJMURnREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMER6RHBDLEFBQUQsV0FBTyxDQUFDO1FBS0osYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFMUh0QkwsT0FBdUI7UTBIdUIzQixXQUFXLEVBQUUsR0FBRyxHQUVuQjtFQUVBLEFBQUQsY0FBVSxDQUFDO0lBQ1QsT0FBTyxFQUFFLElBQUksR0FDZDtFQUVBLEFBQUQsVUFBTSxDQUFDO0lBQ0wsS0FBSyxFbERTQSxJQUFJO0lrRFJULFNBQVMsRTFIakNILFNBQXVCO0kwSGtDN0IsY0FBYyxFQUFFLFFBQVE7SUFDeEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVBQUUsSUFBSSxHQU9wQjtJMUQ0QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMEQxQ3BDLEFBQUQsVUFBTSxDQUFDO1FBVUgsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFMUgxQ0wsT0FBdUI7UTBIMkMzQixXQUFXLEVBQUUsSUFBSSxHQUVwQjtFQUVBLEFBQUQsU0FBSyxDQUFDO0lBQ0osV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFMUhqREgsSUFBdUI7SThEVS9CLE9BQU8sRTREeUNRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FTL0I7SUFiQSxBaERNRCxTZ0ROSyxBaERNSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnpCakIsT0FBTztNRTBCbEIsT0FBTyxFQUFFLFlBQVksR0FDdEI7SVZVQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wRDFCcEMsQUFBRCxTQUFLLENBQUM7UTVEckNOLE9BQU8sRTRENENVLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FNakM7SUFiQSxBaERNRCxTZ0ROSyxBaERNSixPQUFPLENnRElHO01BQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFHRixBQUVHLGFBRkssQ0FDUCxLQUFLLEFBQ0YsUUFBUSxDQUFDO0lBQ1IsZ0JBQWdCLEVsRDNCUCx1QkFBTyxHa0Q0QmpCOztBQy9FUCxBQUFBLGNBQWMsQ0FBQztFQUNiLGdCQUFnQixFbkRxRFQsSUFBSSxHbURrRFo7RUFyR0UsQUFBRCxvQkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJN0RrQmhDLE9BQU8sRTZEakJRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsR0FBRyxFQUFFLE1BQU0sR0FVWjtJM0RxRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMkRuRnBDLEFBQUQsb0JBQU8sQ0FBQztRN0RvQlIsT0FBTyxFNkRiVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBTzFCO0kzRHFFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00yRG5GcEMsQUFBRCxvQkFBTyxDQUFDO1FBV0osY0FBYyxFQUFFLE1BQU07UTdEUzFCLE9BQU8sRTZEUlUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUUxQjtFQUVBLEFBQUQsbUJBQU0sQ0FBQztJQUNMLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJLEdBTVo7STNEMkRDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTJEbkVwQyxBQUFELG1CQUFNLENBQUM7UUFNSCxhQUFhLEUzSFpULE1BQXVCLEcySGM5QjtFQUVBLEFBQUQsb0JBQU8sQ0FBQztJQUNOLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLENBQUMsR0FDZjtFQUVBLEFBQUQsb0JBQU8sQ0FBQztJQUNOLGFBQWEsRUFBRSxJQUFJLEdBT3BCO0kzRDJDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00yRG5EcEMsQUFBRCxvQkFBTyxDQUFDO1FBSUosU0FBUyxFM0gxQkwsT0FBdUI7UTJIMkIzQixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEUzSDVCVCxJQUF1QixHMkg4QjlCO0VBRUEsQUFBRCxtQkFBTSxDQUFDO0lBQ0wsYUFBYSxFQUFFLElBQUksR0FjcEI7SUFmQSxBQUdDLG1CQUhJLENBR0osQ0FBQyxDQUFDO01BQ0EsU0FBUyxFM0hwQ0wsU0FBdUI7TTJIcUMzQixLQUFLLEVuREdLLE9BQU87TW1ERmpCLGFBQWEsRUFBRSxDQUFDO01BQ2hCLFdBQVcsRUFBRSxJQUFJLEdBT2xCO00zRDJCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1EyRHpDcEMsQUFHQyxtQkFISSxDQUdKLENBQUMsQ0FBQztVQU9FLFNBQVMsRTNIMUNQLE9BQXVCO1UySDJDekIsV0FBVyxFQUFFLEdBQUc7VUFDaEIsYUFBYSxFM0g1Q1gsSUFBdUIsRzJIOEM1QjtFQUdGLEFBQUQsa0JBQUssQ0FBQztJQUNKLFNBQVMsRTNIbERILElBQXVCO0kySG1EN0IsV0FBVyxFQUFFLEdBQUc7STdEekNsQixPQUFPLEU2RDBDUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBTS9CO0lBVEEsQWpESUQsa0JpREpLLEFqRElKLE9BQU8sQ0FBQztNQUNQLEdBQUcsRUFBRSxJQUFJO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxHQUFHO01BQ1YsTUFBTSxFQUFFLEdBQUc7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENGcEJ2QixJQUFJO01FcUJULE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lpRGRBLEFqRElELGtCaURKSyxBakRJSixPQUFPLENpREVHO01BQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFHRixBQUFELG9CQUFPLENBQUM7SUFDTixXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEUzSDlESCxTQUF1QjtJMkgrRDdCLEtBQUssRW5EM0JNLE9BQU87SW1ENEJsQixjQUFjLEVBQUUsU0FBUztJQUN6QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUlBLEFBQUQsbUJBQU0sQ0FBQztJQUNMLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBRUEsQUFBRCxrQkFBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLFlBQVk7SUFDckIsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsR0FBRyxHQU9uQjtJQVZBLEFBS0Msa0JBTEcsQ0FLSCxHQUFHLENBQUM7TUFDRixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxHQUFHO01BQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7RUFHRixBQUFELGtCQUFLLENBQUM7SUFDSixTQUFTLEUzSHZGSCxPQUF1QjtJMkh3RjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQ3ZHSCxBQUFBLE9BQU8sQ0FBQztFQUNOLGdCQUFnQixFcERtREcsT0FBTztFb0RsRDFCLFVBQVUsRUFBRSxNQUFNLEdBMkduQjtFQXpHRSxBQUFELGFBQU8sQ0FBQztJOURtQlIsT0FBTyxFOERsQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO0lBQ3pCLFNBQVMsRTVIT0gsU0FBdUI7STRITjdCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0k1RHlFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO000RGxGcEMsQUFBRCxhQUFPLENBQUM7UTlEbUJSLE9BQU8sRThEWlUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBRTVCO0VBRUEsQUFBRCxlQUFTLENBQUM7SUFDUixTQUFTLEU1SEhILFNBQXVCO0k0SEk3QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsTUFBTTtJQUN0QixLQUFLLEVwRDZCTSxPQUFPLEdvRGxCbkI7STVEdURDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTREdkVwQyxBQUFELGVBQVMsQ0FBQztRQVFOLFNBQVMsRTVIVkwsT0FBdUIsRzRIa0I5QjtJNUR1REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNNER2RXBDLEFBQUQsZUFBUyxDQUFDO1FBWU4sVUFBVSxFQUFFLElBQUk7UUFDaEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsYUFBYSxFNUhoQlQsSUFBdUIsRzRIa0I5QjtFQUVBLEFBQUQsWUFBTSxDQUFDO0lBQ0wsU0FBUyxFNUhyQkgsU0FBdUI7STRIc0I3QixhQUFhLEVBQUUsSUFBSTtJQUNuQixLQUFLLEVwRGlCTyxPQUFPLEdvRFRwQjtJNUQwQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNNERyRHBDLEFBQUQsWUFBTSxDQUFDO1FBTUgsU0FBUyxFNUgxQkwsT0FBdUI7UTRIMkIzQixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEU1SDVCVCxNQUF1QjtRNEg2QjNCLFVBQVUsRUFBRSxJQUFJLEdBRW5CO0VBRUEsQUFBRCxhQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsR0FBRyxFQUFFLElBQUksR0FDVjtFQUVBLEFBQUQsWUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLEtBQUs7SUFDWixXQUFXLEVBQUUsQ0FBQztJOUQvQmhCLE9BQU8sRThEZ0NRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtJQUMzQixnQkFBZ0IsRXBERlgsSUFBSTtJb0RHVCxhQUFhLEVBQUUsSUFBSSxHQUtwQjtJNUR3QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNNERsQ3BDLEFBQUQsWUFBTSxDQUFDO1FBUUgsTUFBTSxFQUFFLE1BQU0sR0FFakI7RUFFQSxBQUFELGNBQVEsQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixhQUFhLEVBQUUsR0FBRztJQUNsQixnQkFBZ0IsRXBEWkYsT0FBTztJb0RhckIsYUFBYSxFQUFFLElBQUk7SUFDbkIsT0FBTyxFQUFFLFlBQVksR0FDdEI7RUFFQSxBQUVDLFlBRkksR0FFSCxHQUFHLENBQUM7SUFDSCxPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsU0FBUyxFNUhqRUwsSUFBdUI7STRIa0UzQixVQUFVLEU1SGxFTixJQUF1QixHNEh3RTVCO0k1RENELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTREYnBDLEFBRUMsWUFGSSxHQUVILEdBQUcsQ0FBQztRQU9ELFNBQVMsRTVIckVQLE9BQXVCO1E0SHNFekIsVUFBVSxFNUh0RVIsT0FBdUIsRzRId0U1QjtFQUdGLEFBQUQsYUFBTyxDQUFDO0lBQ04sU0FBUyxFNUg1RUgsUUFBdUI7STRINkU3QixLQUFLLEVwRDVCa0IsT0FBTztJb0Q2QjlCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO0VBRUEsQUFBRCxXQUFLLENBQUM7SUFDSixTQUFTLEU1SHBGSCxRQUF1QjtJNEhxRjdCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBcEdILEFBc0dFLE9BdEdLLENBc0dMLFdBQVcsQ0FBQztJQUNWLE1BQU0sRTVIMUZBLFVBQXVCLEc0SCtGOUI7SUE1R0gsQUF5R0ksT0F6R0csQ0FzR0wsV0FBVyxDQUdULE1BQU0sQUFBQSxRQUFRLENBQUM7TUFDYixPQUFPLEVBQUUsRUFBRSxHQUNaOztBQzNHTCxBQUFBLFVBQVUsQ0FBQztFQUNULG1CQUFtQixFQUFFLE1BQU07RUFDM0IsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixlQUFlLEVBQUUsS0FBSztFQUN0QixnQkFBZ0IsRUFBRSxtQ0FBbUM7RUFDckQsUUFBUSxFQUFFLFFBQVEsR0EwRG5CO0VBL0RELEFBT0UsVUFQUSxBQU9QLFFBQVEsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxnQkFBZ0IsRXJEeUNDLHdCQUFPO0lxRHhDeEIsT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7RUFFQSxBQUFELGdCQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxhQUFhO0lBQzlCLEdBQUcsRUFBRSxNQUFNO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUM7SS9EQ1osT0FBTyxFK0RBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBZ0I1QjtJN0QrQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNNkRyRXBDLEFBQUQsZ0JBQU8sQ0FBQztRL0RNUixPQUFPLEUrREdVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQWEzQjtJN0QrQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNNkRyRXBDLEFBQUQsZ0JBQU8sQ0FBQztRQWFKLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFVBQVUsRUFBRSxNQUNkLEdBTUQ7STdEK0NDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTZEckVwQyxBQUFELGdCQUFPLENBQUM7UUFtQkosV0FBVyxFQUFFLFVBQVU7UUFDdkIsVUFBVSxFQUFFLElBQUksR0FFbkI7RTdEK0NDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZEN0NwQyxBQUFELGdCQUFPLENBQUM7TUFFSixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQUVBLEFBQUQsY0FBSyxDQUFDO0lBQ0osU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUksR0FZWjtJQWRBLEFBS0MsY0FMRyxDQUtILENBQUMsQ0FBQztNQUNBLFNBQVMsRTdIekNMLFNBQXVCO002SDBDM0IsS0FBSyxFckRGSyxPQUFPO01xREdqQixXQUFXLEVBQUUsR0FBRyxHQUtqQjtNN0R5QkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRNkR0Q3BDLEFBS0MsY0FMRyxDQUtILENBQUMsQ0FBQztVQU1FLFNBQVMsRTdIOUNQLE9BQXVCLEc2SGdENUI7O0FDN0RMLEFBQUEsR0FBRyxDQUFDO0VBQ0YsYUFBYSxFQUFFLElBQUksR0ErRHBCO0U5RHNCRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4RHRGdkMsQUFBQSxHQUFHLENBQUM7TUFJQSxhQUFhLEVBQUUsSUFBSSxHQTREdEI7RUF6REUsQUFBRCxTQUFPLENBQUM7SUFDTixNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxJQUFJO0lBQ1gsZ0JBQWdCLEVBQUUsc0NBQXNDO0lBQ3hELG1CQUFtQixFQUFFLE1BQU07SUFDM0IsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsS0FBSyxHQUt2QjtJOURvRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEQvRXBDLEFBQUQsU0FBTyxDQUFDO1FBU0osTUFBTSxFQUFFLEtBQUssR0FFaEI7RUFFQSxBQUFELFdBQVMsQ0FBQztJQUNSLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBRUEsQUFBRCxTQUFPLENBQUM7SUFDTixnQkFBZ0IsRXRENkJYLElBQUk7SXNENUJULGFBQWEsRUFBRSxJQUFJO0loRUhyQixPQUFPLEVnRUlRLElBQUksQ0FBQyxJQUFJLEdBS3ZCO0k5RHNEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004RDlEcEMsQUFBRCxTQUFPLENBQUM7UWhFRFIsT0FBTyxFZ0VPVSxJQUFJLENBQUMsSUFBSSxHQUV6QjtFQUVBLEFBQUQsU0FBTyxDQUFDO0lBQ04sU0FBUyxFOUh0QkgsVUFBdUI7SThIdUI3QixLQUFLLEV0RGFNLE9BQU87SXNEWmxCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0k5RDJDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004RHBEcEMsQUFBRCxTQUFPLENBQUM7UUFPSixTQUFTLEU5SDVCTCxJQUF1QixHOEg4QjlCO0VBRUEsQUFBRCxZQUFVLENBQUM7SUFDVCxTQUFTLEU5SGpDSCxPQUF1QjtJOEhrQzdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0k5RGdDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004RHpDcEMsQUFBRCxZQUFVLENBQUM7UUFPUCxTQUFTLEU5SHZDTCxJQUF1QixHOEh5QzlCO0VBRUEsQUFBRCxRQUFNLENBQUM7SUFDTCxTQUFTLEU5SDVDSCxPQUF1QjtJOEg2QzdCLEtBQUssRXRETE8sT0FBTyxHc0RVcEI7STlEdUJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TThEOUJwQyxBQUFELFFBQU0sQ0FBQztRQUtILFNBQVMsRTlIaERMLElBQXVCLEc4SGtEOUI7O0FDL0RILEFBQUEsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsZ0JBQWdCLEVBQUUsT0FBTyxHQThDMUI7RUE1Q0UsQUFBRCxpQkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLEtBQUssR0FDZjtFQUVBLEFBQUQsa0JBQVEsQ0FBQztJQUNQLE1BQU0sRUFBRSxLQUFLLEdBS2Q7SS9EdUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TStEN0VwQyxBQUFELGtCQUFRLENBQUM7UUFJTCxNQUFNLEUvSEFGLFNBQXVCLEcrSEU5QjtFQUVBLEFBQUQsaUJBQU8sQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsZUFBZSxFQUFFLEtBQUssR0FDdkI7RUFFQSxBQUFELG1CQUFTLENBQUM7SWpFRlYsT0FBTyxFaUVHUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDNUI7RUFFQSxBQUFELGdCQUFNLENBQUM7SUFDTCxTQUFTLEUvSGpCSCxJQUF1QjtJK0hrQjdCLEtBQUssRXZEa0JNLE9BQU87SXVEakJsQixXQUFXLEVBQUUsR0FBRztJQUNoQixPQUFPLEVBQUUsS0FBSztJQUNkLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBRUEsQUFBRCxpQkFBTyxDQUFDO0lBQ04sS0FBSyxFdkRXTSxPQUFPO0l1RFZsQixTQUFTLEUvSDFCSCxTQUF1QixHK0hpQzlCO0kvRHdDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00rRGpEcEMsQUFBRCxpQkFBTyxDQUFDO1FBS0osV0FBVyxFQUFFLEdBQUc7UUFDaEIsU0FBUyxFL0g5QkwsTUFBdUI7UStIK0IzQixXQUFXLEVBQUUsR0FBRyxHQUVuQjs7QUM5Q0gsQUFBQSxVQUFVLENBQUM7RUFDVCxnQkFBZ0IsRXhEcURULElBQUk7RXdEcERYLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUI7RUFDNUMsVUFBVSxFQUFFLHVCQUF1QjtFQUNuQyxPQUFPLEVBQUUsS0FBSyxHQWdGZjtFQXRGRCxBQVFFLFVBUlEsQUFRUCxNQUFNLENBQUM7SUFDTixTQUFTLEVBQUUsT0FBTyxHQUtuQjtJQWRILEFBV0ksVUFYTSxBQVFQLE1BQU0sQ0FHTCxnQkFBZ0IsQ0FBQztNQUNmLEtBQUssRUFBRSxDQUFDLEdBQ1Q7RUFHRixBQUFELGlCQUFRLENBQUM7SUFDUCxNQUFNLEVBQUUsS0FBSztJQUNiLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0VBRUEsQUFBRCxnQkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLEtBQUs7SUFDakIsS0FBSyxFQUFFLEdBQUc7SUFDVixVQUFVLEVBQUUsbUJBQW1CLEdBTWhDO0lBSkMsQUFBQSw4QkFBOEIsQ0FSL0IsZ0JBQU07SUFTTCxpQkFBaUIsQ0FUbEIsZ0JBQU0sQ0FTZTtNQUNsQixNQUFNLEVBQUUsWUFBWSxHQUNyQjtFQUdGLEFBQUQsa0JBQVMsQ0FBQztJbEVaVixPQUFPLEVrRWFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUM1QjtFQUVBLEFBQUQsZUFBTSxDQUFDO0lBQ0wsS0FBSyxFeERTTSxPQUFPO0l3RFJsQixTQUFTLEVoSTVCSCxJQUF1QjtJZ0k2QjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFFQSxBQUFELGdCQUFPLENBQUM7SUFDTixLQUFLLEVBQUUsT0FBTztJQUNkLFNBQVMsRWhJcENILFFBQXVCO0lnSXFDN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQixrQkFBa0IsRUFBRSxRQUFRO0lBQzVCLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0VBRUEsQUFBRCxxQkFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsR0FBRyxFQUFFLElBQUksR0FDVjtFQUVBLEFBQUQsbUJBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxXQUFXO0lBQ3BCLGtCQUFrQixFQUFFLENBQUM7SUFDckIsa0JBQWtCLEVBQUUsUUFBUTtJQUM1QixRQUFRLEVBQUUsTUFBTTtJQUNoQixhQUFhLEVBQUUsR0FBRztJQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3hEZkgsT0FBTztJd0RnQnJCLGNBQWMsRUFBRSxTQUFTO0lsRWxEM0IsT0FBTyxFa0VtRFEsQ0FBQztJQUNkLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFNBQVMsRWhJL0RILFNBQXVCO0lnSWdFN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFFaEIsS0FBSyxFeER2QlMsT0FBTyxHd0Q0QnRCO0lBbkJBLEFBZ0JDLG1CQWhCUSxBQWdCUCxZQUFZLENBQUM7TUFDWixPQUFPLEVBQUUsR0FBRyxHQUNiOztBQ3BGTCxBQUFBLFdBQVcsQ0FBQztFQUNWLGdCQUFnQixFekRxRFQsSUFBSTtFeURwRFgsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLElBQUksR0E0RHBCO0VBMURFLEFBQUQsa0JBQVEsQ0FBQztJQUNQLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7RUFFQSxBQUFELGlCQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsZ0JBQWdCLEV6RGlDTCxPQUFPLEd5RGhDbkI7RUFFQSxBQUFELG1CQUFTLENBQUM7SW5FSVYsT0FBTyxFbUVIUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDNUI7RUFFQSxBQUFELGdCQUFNLENBQUM7SUFDTCxLQUFLLEV6RHlCTSxPQUFPO0l5RHhCbEIsU0FBUyxFaklaSCxJQUF1QjtJaUlhN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVBLEFBQUQsaUJBQU8sQ0FBQztJQUNOLEtBQUssRUFBRSxPQUFPO0lBQ2QsU0FBUyxFaklwQkgsUUFBdUI7SWlJcUI3QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQUVBLEFBQUQsc0JBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUscUNBQXFDO0lBQzVELEdBQUcsRUFBRSxJQUFJLEdBQ1Y7RUFFQSxBQUFELG9CQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsS0FBSztJQUNkLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDekRRSCxPQUFPO0l5RFByQixjQUFjLEVBQUUsU0FBUztJbkUzQjNCLE9BQU8sRW1FNEJRLENBQUM7SUFDZCxVQUFVLEVBQUUsTUFBTTtJQUNsQixTQUFTLEVqSXhDSCxTQUF1QjtJaUl5QzdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFekRBUyxPQUFPLEd5REt0QjtJQWhCQSxBQWFDLG9CQWJRLEFBYVAsWUFBWSxDQUFDO01BQ1osT0FBTyxFQUFFLEdBQUcsR0FDYjs7QUM3REwsQUFBQSxlQUFlLENBQUM7RUFDZCxnQkFBZ0IsRTFEcURULElBQUksRzBEM0JaO0VBeEJFLEFBQUQscUJBQU8sQ0FBQztJcEVvQlIsT0FBTyxFb0VuQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQ3pCO0VBRUEsQUFBRCxxQkFBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLElBQUksR0FNcEI7SWxFd0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWtFL0VwQyxBQUFELHFCQUFPLENBQUM7UUFJSixTQUFTLEVsSUVMLE9BQXVCO1FrSUQzQixXQUFXLEVBQUUsR0FBRyxHQUVuQjtFQUlBLEFBQUQscUJBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUscUNBQXFDO0lBQzVELEdBQUcsRUFBRSxJQUFJLEdBS1Y7SWxFNERDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWtFcEVwQyxBQUFELHFCQUFPLENBQUM7UUFNSixPQUFPLEVBQUUsS0FBSyxHQUVqQjs7QUMxQkgsQUFBQSxNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGdCQUFnQixFM0Q2Q0gsT0FBTztFMkQ1Q3BCLFVBQVUsRUFBRSwwQkFBMEI7RUFDdEMsUUFBUSxFQUFFLFFBQVEsR0FvSW5CO0VuRXBERyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ltRXRGeEMsQUFTSSxNQVRFLEFBU0QsTUFBTSxDQUFDO01BQ04sU0FBUyxFQUFFLE1BQ2IsR0FBQztFQUdGLEFBQUQsWUFBTyxDQUFDO0lBQ04sTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBRUEsQUFBRCxZQUFPLENBQUM7SUFDTixVQUFVLEVBQUUsS0FBSztJQUNqQixnQkFBZ0IsRTNEa0NGLE9BQU87STJEakNyQixPQUFPLEVBQUUsSUFBSSxHQVNkO0luRXNEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01tRWxFcEMsQUFBRCxZQUFPLENBQUM7UUFNSixVQUFVLEVBQUUsS0FBSyxHQU1wQjtJQUhDLEFBQUEsUUFBUSxDQVRULFlBQU0sQ0FTTTtNQUNULE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFHRixBQUFELFlBQU8sQ0FBQztJQUNOLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsS0FBSztJQUN0QixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJLEdBTVo7SW5FeUNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1FcERwQyxBQUFELFlBQU8sQ0FBQztRQVFKLFVBQVUsRW5JN0JOLFNBQXVCO1FtSThCM0IsVUFBVSxFbkk5Qk4sU0FBdUIsR21JZ0M5QjtFQUVBLEFBQUQsY0FBUyxDQUFDO0lBQ1IsTUFBTSxFQUFFLElBQUk7SXJFekJkLE9BQU8sRXFFMEJRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDaEMsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTSxHQUt2QjtJQUhDLEFBQUEsUUFBUSxDQU5ULGNBQVEsQ0FNSTtNckU5QmIsT0FBTyxFcUUrQlUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUNqQztFQUdGLEFBQUQsV0FBTSxDQUFDO0lBQ0wsS0FBSyxFM0RMQSxJQUFJO0kyRE1ULFNBQVMsRW5JL0NILElBQXVCO0ltSWdEN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQUtwQjtJQUhDLEFBQUEsUUFBUSxDQVBULFdBQUssQ0FPTztNQUNULGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBR0YsQUFBRCxjQUFTLENBQUM7SUFDUixLQUFLLEUzRGpCQSxJQUFJO0kyRGtCVCxTQUFTLEVuSTNESCxRQUF1QjtJbUk0RDdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLGtCQUFrQixFQUFFLFFBQVE7SUFDNUIsUUFBUSxFQUFFLE1BQU0sR0FXakI7SW5FTEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUVoQnBDLEFBQUQsY0FBUyxDQUFDO1FBYU4sa0JBQWtCLEVBQUUsQ0FBQyxHQVF4QjtJQUxDLEFBQUEsUUFBUSxDQWhCVCxjQUFRLENBZ0JJO01BQ1QsY0FBYyxFQUFFLE1BQU07TUFDdEIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsa0JBQWtCLEVBQUUsQ0FBQyxHQUN0QjtFQUdGLEFBQUQsYUFBUSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLElBQUksR0FLakI7SW5FakJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1FT3BDLEFBQUQsYUFBUSxDQUFDO1FBUUwsVUFBVSxFQUFFLElBQUksR0FFbkI7RUFFQSxBQUFELFVBQUssQ0FBQztJQUNKLEtBQUssRTNEaEZELElBQUk7STJEaUZSLFNBQVMsRW5JOUZILFNBQXVCO0ltSStGN0IsY0FBYyxFQUFFLFNBQVM7SUFDekIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzRDFGQyxPQUFPO0kyRDJGekIsZ0JBQWdCLEUzRDNGRSxPQUFPO0kyRDRGekIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLEdBQUc7SXJFekZsQixPQUFPLEVxRTBGUSxDQUFDLENBQUMsR0FBRztJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsTUFBTTtJQUNuQixRQUFRLEVBQUUsTUFBTTtJQUNoQixhQUFhLEVBQUUsUUFBUSxHQUt4QjtJQUhDLEFBQUEsUUFBUSxDQWRULFVBQUksQ0FjUTtNQUNULE1BQU0sRUFBRSxJQUFJLEdBQ2I7RUFHRixBQUFELGVBQVUsQ0FBQztJQUNULFNBQVMsRW5JaEhILFNBQXVCO0ltSWlIN0IsY0FBYyxFQUFFLFNBQVM7SUFDekIsZ0JBQWdCLEUzRHpFWCxJQUFJO0kyRDBFVCxLQUFLLEUzRDdFUSxPQUFPO0kyRDhFcEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzRDlFSixPQUFPO0kyRCtFcEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLEdBQUc7SXJFNUdsQixPQUFPLEVxRTZHUSxDQUFDLENBQUMsSUFBSTtJQUNuQixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsTUFBTTtJQUNuQixRQUFRLEVBQUUsTUFBTTtJQUNoQixhQUFhLEVBQUUsUUFBUSxHQUN4Qjs7QUN6SUgsQUFBQSxPQUFPLENBQUM7RUFDTixnQkFBZ0IsRTVEcURULElBQUk7RTREcERYLGNBQWMsRUFBRSxJQUFJLEdBMERyQjtFQXRERSxBQUFELGFBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsaUJBQWlCLEVBQUUsR0FBRztJQUN0QixxQkFBcUIsRUFBRSxlQUFlO0lBQ3RDLGtCQUFrQixFQUFFLFdBQVc7SUFDL0IsbUJBQW1CLEVBQ2pCLHNEQUMyQjtJQUM3QixHQUFHLEVBQUUsSUFBSSxHQXlCVjtJcEUrQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNb0VoRnJDLEFBQUQsYUFBTyxDQUFDO1FBV0osa0JBQWtCLEVBQUUsY0FBYyxHQXNCckM7SXBFK0NDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW9FaEZwQyxBQUFELGFBQU8sQ0FBQztRQWVKLHFCQUFxQixFQUFFLE9BQU87UUFDOUIsbUJBQW1CLEVBQ2pCLDRDQUVlLEdBY3BCO0lwRStDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01vRWhGcEMsQUFBRCxhQUFPLENBQUM7UUF1QkosT0FBTyxFQUFFLEtBQUssR0FVakI7UUFqQ0EsQUEwQkssYUExQkMsR0F5QkMsQ0FBQyxBQUNGLElBQUssQ3REMndHQSxXQUFXLEVzRDN3R0M7VUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFPTixBQUFELFlBQU0sQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRLEdBaUJuQjtJQWxCQSxBQUdDLFlBSEksQUFHSCxjQUFjLENBQUM7TUFDZCxTQUFTLEVBQUUsS0FBSyxHQUNqQjtJQUxGLEFBT0MsWUFQSSxBQU9ILFlBQWEsQ0FBQSxDQUFDLEVBQUU7TUFDZixTQUFTLEVBQUUsTUFBTSxHQUNsQjtJQVRGLEFBV0MsWUFYSSxBQVdILFlBQWEsQzNCbERhLENBQUMsRTJCa0RYO01BQ2YsU0FBUyxFQUFFLEtBQUssR0FDakI7SUFiRixBQWVDLFlBZkksQUFlSCxZQUFhLEMzQnREYSxDQUFDLEUyQnNEWDtNQUNmLFNBQVMsRUFBRSxNQUFNLEdBQ2xCOztBQzFETCxBQUFBLFVBQVUsQ0FBQztFQUNULGdCQUFnQixFN0RtREcsT0FBTztFVjdCMUIsT0FBTyxFdUVyQk0sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBK056QjtFckUzSUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJcUV0RnZDLEFBQUEsVUFBVSxDQUFDO012RXVCVCxPQUFPLEV1RWxCUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0E0TjNCO0VBdk5FLEFBQUQsY0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLGVBQWUsRUFBRSxhQUFhO0lBQzlCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBRUEsQUFBRCxnQkFBTyxDQUFDO0lBQ04sU0FBUyxFcklOSCxTQUF1QjtJcUlPN0IsS0FBSyxFN0Q2Qk0sT0FBTyxHNkQ1Qm5CO0VBRUEsQUFBRCxlQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsS0FBSztJQUNaLEtBQUssRTdENEJPLE9BQU87STZEM0JuQixTQUFTLEVySWJILFFBQXVCO0lxSWM3QixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQUVBLEFBRUcsbUJBRk0sQ0FDUixXQUFXLENBQ1QsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUNaLE9BQU8sRUFBRSxFQUNYLEdBQUM7RUFJSixBQUFELGtCQUFTLENBQUM7SXZFaEJWLE9BQU8sRXVFaUJRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsSUFBSSxHQWtFZDtJckV0QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUUvQ3BDLEFBQUQsa0JBQVMsQ0FBQztRQU9OLE9BQU8sRUFBRSxLQUFLO1F2RXZCbEIsT0FBTyxFdUV3QlUsQ0FBQyxHQTZEakI7SUFyRUEsQUFXQyxrQkFYTyxBQVdOLElBQUssQzNDOEVFLGFBQWEsRTJDOUVBO01BQ25CLGFBQWEsRUFBRSxLQUFLLEdBS3JCO01yRThCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FxRS9DcEMsQUFXQyxrQkFYTyxBQVdOLElBQUssQzNDOEVFLGFBQWEsRTJDOUVBO1VBSWpCLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0lBakJGLEFBbUJDLGtCQW5CTyxBQW1CTixZQUFZLENBQUM7TUFDWixhQUFhLEVBQUUsQ0FBQztNQUNoQixRQUFRLEVBQUUsTUFBTSxHQUNqQjtJQUVBLEFBQUQsd0JBQU8sQ0FBQztNQUNOLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsaUJBQWlCLEVBQUUsU0FBUztNQUM1QixlQUFlLEVBQUUsS0FBSztNQUN0QixNQUFNLEVBQUUsS0FBSztNQUNiLEtBQUssRUFBRSxLQUFLO01BQ1osYUFBYSxFQUFFLElBQUk7TUFDbkIsV0FBVyxFQUFFLENBQUM7TUFDZCxRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLElBQUksRUFBRSxDQUFDLEdBaUJSO01yRUpELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UXFFdkJsQyxBQUFELHdCQUFPLENBQUM7VUFhSixNQUFNLEVBQUUsS0FBSztVQUNiLEtBQUssRUFBRSxJQUFJO1VBQ1gsUUFBUSxFQUFFLE1BQU07VUFDaEIsYUFBYSxFQUFFLEtBQUssR0FXdkI7TUFSQyxBQUFBLFFBQVEsQ0FuQlQsd0JBQU0sQ0FtQk07UUFDVCxJQUFJLEVBQUUsSUFBSTtRQUNWLEtBQUssRUFBRSxDQUNULEdBQUM7TXJFQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRcUV2QmxDLEFBQUQsd0JBQU8sQ0FBQztVQXlCSixLQUFLLEVBQUUsSUFBSSxHQUVkO0lBRUEsQUFBRCx3QkFBTyxDQUFDO01BQ04sV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLElBQUk7TUFDakIsYUFBYSxFQUFFLElBQUksR0FLcEI7TXJFZEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRcUVNbEMsQUFBRCx3QkFBTyxDQUFDO1VBTUosU0FBUyxFcklyRlAsT0FBdUIsR3FJdUY1QjtJQUVBLEFBQUQsdUJBQU0sQ0FBQztNQUNMLFNBQVMsRXJJMUZMLElBQXVCO01xSTJGM0IsS0FBSyxFN0RuREssT0FBTztNNkRvRGpCLGFBQWEsRUFBRSxJQUFJO01BQ25CLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBR0YsQUFBRCxtQkFBVSxDQUFDO0lBQ1QsZ0JBQWdCLEU3RHpEWCxJQUFJO0k2RDBEVCxhQUFhLEVBQUUsSUFBSTtJQUNuQixLQUFLLEVBQUUsTUFBTTtJQUNiLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFdBQVcsRUFBRSxDQUFDO0l2RTVGaEIsT0FBTyxFdUU2RlEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtJQUNoQyxPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLElBQUksR0FnQm5CO0lyRXJEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRXdCcEMsQUFBRCxtQkFBVSxDQUFDO1FBZ0JQLFlBQVksRUFBRSxDQUFDO1FBQ2YsS0FBSyxFQUFFLEdBQUc7UUFDVixVQUFVLEVBQUUsSUFBSTtRdkV6R3BCLE9BQU8sRXVFMEdVLElBQUksQ0FBQyxJQUFJLEdBVXpCO0lBUEMsQUFBQSxRQUFRLENBdEJULG1CQUFTLENBc0JHO01BQ1QsV0FBVyxFQUFFLENBQUMsR0FLZjtNckVwREQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRcUU4Q25DLEFBQUEsUUFBUSxDQXRCVCxtQkFBUyxDQXNCRztVQUlQLFdBQVcsRUFBRSxJQUFJLEdBRXBCO0VBR0YsQUFBRCxjQUFLLENBQUM7SXZFdEhOLE9BQU8sRXVFd0hRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7SUFDOUIsU0FBUyxFQUFFLElBQUksR0FLaEI7SUFSQSxBM0QzRUQsYzJEMkVLLEEzRDNFSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtNRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJMkRpRUEsQTNEM0VELGMyRDJFSyxBM0QzRUosT0FBTyxDMkRnRkc7TUFDUCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQUdGLEFBQUQsa0JBQVMsQ0FBQztJQUNSLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFFQSxBQUFELGdCQUFPLENBQUM7SUFDTixTQUFTLEVySWhKSCxJQUF1QjtJcUlpSjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTdEOUdNLE9BQU87STZEK0dsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVBLEFBQUQsbUJBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUscUNBQXFDO0lBQzVELEdBQUcsRUFBRSxDQUFDLEdBTVA7SUFKQyxBQUFBLFdBQVcsQ0FMWixtQkFBUyxDQUtNO01BQ1oscUJBQXFCLEVBQUUscUNBQXFDO01BQzVELEdBQUcsRUFBRSxNQUFNLEdBQ1o7RUFHRixBQUFELGtCQUFTLENBQUM7SUFDUixhQUFhLEVBQUUsSUFBSSxHQTBCcEI7SUF4QkMsQUFBQSxXQUFXLENBSFosa0JBQVEsQ0FHTztNQUNaLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lyRTlGRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRXlGcEMsQUFBRCxrQkFBUyxDQUFDO1FBUU4sYUFBYSxFQUFFLENBQUMsR0FtQm5CO0lyRXBIQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRXlGcEMsQUFXQyxrQkFYTyxBQVdOLElBQUssQzNDMURFLGFBQWEsRTJDMERBO1FBRWpCLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0lBRUEsQUFBRCx3QkFBTyxDQUFDO01BQ04sU0FBUyxFcklwTEwsSUFBdUI7TXFJcUwzQixLQUFLLEU3RGpKSSxPQUFPO002RGtKaEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLENBQUM7TUFDaEIsT0FBTyxFQUFFLFdBQVc7TUFDcEIsa0JBQWtCLEVBQUUsUUFBUTtNQUM1QixRQUFRLEVBQUUsTUFBTTtNQUNoQixrQkFBa0IsRUFBRSxDQUFDLEdBQ3RCO0VBR0YsQUFBRCxtQkFBVSxDQUFDO0lBQ1QsS0FBSyxFN0QxSlEsT0FBTztJNkQySnBCLFNBQVMsRXJJak1ILFNBQXVCO0lxSWtNN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3RDlKSixPQUFPO0k2RCtKcEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsV0FBVyxFQUFFLEdBQUc7SXZFNUxsQixPQUFPLEV1RTZMUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUc7SUFDekIsY0FBYyxFQUFFLFNBQVM7SUFDekIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUFFQSxBQUFELGVBQU0sQ0FBQztJQUNMLFNBQVMsRXJJN01ILFNBQXVCO0lxSThNN0IsS0FBSyxFN0R0S08sT0FBTztJNkR1S25CLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7O0FDaE9ILEFBQUEsU0FBUyxDQUFDO0VBQ1IsZ0JBQWdCLEU5RG1ERyxPQUFPLEc4RHVGM0I7RUF4SUUsQUFBRCxlQUFPLENBQUM7SXhFb0JSLE9BQU8sRXdFbkJRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUt6QjtJdEU2RUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0VuRnBDLEFBQUQsZUFBTyxDQUFDO1F4RW9CUixPQUFPLEV3RWhCVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FFM0I7RUFFQSxBQUFELGFBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsYUFBYSxFQUFFLElBQUksR0FNcEI7SXRFa0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNFM0VwQyxBQUFELGFBQUssQ0FBQztRQU1GLE9BQU8sRUFBRSxLQUFLO1FBQ2QsYUFBYSxFQUFFLElBQUksR0FFdEI7RUFFQSxBQUFELGVBQU8sQ0FBQztJQUNOLFNBQVMsRXRJVkgsU0FBdUI7SXNJVzdCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0l0RXVEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zRWhFcEMsQUFBRCxlQUFPLENBQUM7UUFPSixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQUVBLEFBQUQsY0FBTSxDQUFDO0lBQ0wsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEV0SXZCSCxRQUF1QjtJc0l3QjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTlEZU8sT0FBTztJOERkbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLENBQUMsR0FLakI7SXRFeUNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNFckRwQyxBQUFELGNBQU0sQ0FBQztRQVVILFNBQVMsRXRJOUJMLElBQXVCLEdzSWdDOUI7RUFFQSxBQUFELGVBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsY0FBYztJQUVyQyxHQUFHLEVBQUUsVUFBVTtJQUVmLEtBQUssRUFBRSxJQUFJLEdBaUJaO0l0RWdCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01zRXZDckMsQUFBRCxlQUFPLENBQUM7UUFTSixHQUFHLEVBQUUsTUFBTSxHQWNkO0l0RWdCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zRXZDcEMsQUFBRCxlQUFPLENBQUM7UUFhSixxQkFBcUIsRUFBRSxjQUFjLEdBVXhDO0lBdkJBLEFBZ0JDLGVBaEJLLENBZ0JMLFdBQVcsQ0FBQztNQUNWLE1BQU0sRUFBRSxLQUFLLEdBS2Q7TUF0QkYsQUFtQkcsZUFuQkcsQ0FnQkwsV0FBVyxDQUdULE1BQU0sQUFBQSxPQUFPLENBQUM7UUFDWixPQUFPLEVBQUUsRUFBRSxHQUNaO0VBSUosQUFBRCxjQUFNLENBQUM7SUFDTCxVQUFVLEVBQUUsTUFBTTtJeEVsRHBCLE9BQU8sRXdFbURRLENBQUMsQ0FBQyxJQUFJLEdBS3BCO0l0RU9DLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNFZHBDLEFBQUQsY0FBTSxDQUFDO1F4RWpEUCxPQUFPLEV3RXNEVSxDQUFDLENBQUMsSUFBSSxHQUV0QjtFQUVBLEFBQUQsY0FBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLFlBQVk7SUFDckIsS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsSUFBSTtJQUNaLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsT0FBTztJQUN4QixnQkFBZ0IsRUFBRSwyQ0FBMkM7SUFDN0QsYUFBYSxFQUFFLEdBQUcsR0FPbkI7SXRFVkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0VMcEMsQUFBRCxjQUFNLENBQUM7UUFXSCxNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJO1FBQ1gsYUFBYSxFQUFFLEdBQUcsR0FFckI7RUFFQSxBQUFELGlCQUFTLENBQUM7SUFDUixLQUFLLEU5RGxETSxPQUFPO0k4RG1EbEIsU0FBUyxFdEl2RkgsU0FBdUI7SXNJd0Y3QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSSxHQUtwQjtJdEVyQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0VZcEMsQUFBRCxpQkFBUyxDQUFDO1FBT04sU0FBUyxFdEk1RkwsUUFBdUIsR3NJOEY5QjtFQUVBLEFBQUQsYUFBSyxDQUFDO0lBQ0osS0FBSyxFOUR6RE8sT0FBTztJOEQwRG5CLFNBQVMsRXRJbEdILElBQXVCO0lzSW1HN0IsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsWUFBWSxHQUt0QjtJdEVuQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0V1QnBDLEFBQUQsYUFBSyxDQUFDO1FBVUYsU0FBUyxFdEkxR0wsUUFBdUIsR3NJNEc5QjtFQUlBLEFBQUQsY0FBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEV0SWxISCxJQUF1QjtJc0ltSDdCLEtBQUssRTlEL0VNLE9BQU87SThEZ0ZsQixXQUFXLEVBQUUsR0FBRyxHQVNqQjtJdEVwREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0V1Q3BDLEFBQUQsY0FBTSxDQUFDO1FBT0gsU0FBUyxFdEl2SEwsUUFBdUIsR3NJNkg5QjtJQWJBLEFBVUMsY0FWSSxBQVVILElBQUssQzVDUEUsYUFBYSxFNENPQTtNQUNuQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUN2SUYsQUFBRCxtQkFBTyxDQUFDO0V6RXFCUixPQUFPLEV5RXBCUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FLekI7RXZFOEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVFcEZwQyxBQUFELG1CQUFPLENBQUM7TXpFcUJSLE9BQU8sRXlFakJVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUUzQjs7QUFFQSxBQUFELGlCQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhO0VBQzlCLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLEdBQUcsRUFBRSxNQUFNO0VBQ1gsYUFBYSxFQUFFLElBQUksR0FLcEI7RXZFa0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVFNUVwQyxBQUFELGlCQUFLLENBQUM7TUFRRixPQUFPLEVBQUUsS0FBSyxHQUVqQjs7QUFFQSxBQUFELG1CQUFPLENBQUM7RUFDTixTQUFTLEV2SVZILFNBQXVCO0V1SVc3QixXQUFXLEVBQUUsR0FBRyxHQUtqQjtFdkV5REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUVoRXBDLEFBQUQsbUJBQU8sQ0FBQztNQUtKLGFBQWEsRUFBRSxJQUFJLEdBRXRCOztBQUVBLEFBQUQsa0JBQU0sQ0FBQztFQUNMLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFL0RtQk8sT0FBTztFK0RsQm5CLFNBQVMsRXZJdEJILFFBQXVCO0V1SXVCN0IsYUFBYSxFQUFFLENBQUM7RUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FZakI7RXZFcUNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVFdkRwQyxBQUFELGtCQUFNLENBQUM7TUFTSCxTQUFTLEV2STNCTCxJQUF1QixHdUlvQzlCO0VBbEJBLEFBWUMsa0JBWkksQ0FZSixNQUFNLENBQUM7SUFDTCxTQUFTLEVBQUUsT0FBTztJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUdGLEFBQUQsbUJBQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsY0FBYztFQUNyQyxHQUFHLEVBQUUsSUFBSSxHQWdCVjtFQW5CQSxBQUtDLG1CQUxLLENBS0osQUFBQSxVQUFDLENBQVcsR0FBRyxBQUFkLEVBQWdCO0lBQ2hCLHFCQUFxQixFQUFFLEdBQUcsR0FRM0I7SUFkRixBQVFHLG1CQVJHLENBS0osQUFBQSxVQUFDLENBQVcsR0FBRyxBQUFkLEVBR0EscUJBQXFCLENBQUM7TUFDcEIsT0FBTyxFQUFFLElBQUk7TUFDYixjQUFjLEVBQUUsTUFBTTtNQUN0QixXQUFXLEVBQUUsVUFBVTtNQUN2QixlQUFlLEVBQUUsTUFBTSxHQUN4QjtFdkVzQkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUVuQ3BDLEFBQUQsbUJBQU8sQ0FBQztNQWlCSixxQkFBcUIsRUFBRSxjQUFjLEdBRXhDOztBQUVBLEFBQUQsa0JBQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsZ0JBQWdCLEVBQUUsT0FBTyxHQUMxQjs7QUFFQSxBQUFELG1CQUFPLENBQUM7RUFFTixLQUFLLEVBQUUsTUFBTTtFQUNiLFdBQVcsRUFBRSxDQUFDO0VBQ2QsVUFBVSxFQUFFLEtBQUssR0FLbEI7RXZFRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUVQcEMsQUFBRCxtQkFBTyxDQUFDO01BT0osVUFBVSxFQUFFLEtBQUssR0FFcEI7O0FBRUEsQUFBRCxtQkFBTyxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixlQUFlLEVBQUUsS0FBSztFQUN0QixnQkFBZ0IsRS9EeENGLE9BQU8sRytEeUN0Qjs7QUFFQSxBQUFELHFCQUFTLENBQUM7RXpFNUVWLE9BQU8sRXlFNkVRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FTakM7RXZFdkJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXVFYXJDLEFBQUQscUJBQVMsQ0FBQztNekU1RVYsT0FBTyxFeUVnRlUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQU1uQztFdkV2QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUVhcEMsQUFBRCxxQkFBUyxDQUFDO016RTVFVixPQUFPLEV5RW9GVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBRW5DOztBQUVBLEFBQUQscUJBQVMsQ0FBQztFQUNSLFNBQVMsRXZJbkdILFNBQXVCO0V1SW9HN0IsS0FBSyxFL0RoRU0sT0FBTztFK0RpRWxCLGFBQWEsRUFBRSxHQUFHLEdBVW5CO0V2RXRDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l1RXlCckMsQUFBRCxxQkFBUyxDQUFDO01BTU4sU0FBUyxFdkl4R0wsT0FBdUIsR3VJK0c5QjtFdkV0Q0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUV5QnBDLEFBQUQscUJBQVMsQ0FBQztNQVVOLFNBQVMsRXZJNUdMLFFBQXVCO011STZHM0IsYUFBYSxFQUFFLElBQUksR0FFdEI7O0FBRUEsQUFBRCxpQkFBSyxDQUFDO0VBQ0osU0FBUyxFdklsSEgsSUFBdUI7RXVJbUg3QixLQUFLLEUvRDNFTyxPQUFPO0UrRDRFbkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLEdBQUcsR0FVakI7RXZFeERDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXVFd0NyQyxBQUFELGlCQUFLLENBQUM7TUFTRixTQUFTLEV2STFITCxTQUF1QjtNdUkySDNCLGFBQWEsRUFBRSxJQUFJLEdBTXRCO0V2RXhEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l1RXdDcEMsQUFBRCxpQkFBSyxDQUFDO01BY0YsU0FBUyxFdkkvSEwsUUFBdUIsR3VJaUk5Qjs7QUFFQSxBQUFELGlCQUFLLENBQUM7RUFDSixTQUFTLEV2SXBJSCxNQUF1QjtFOERVL0IsT0FBTyxFeUUySFEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQWUvQjtFQWpCQSxBN0Q5RUQsaUI2RDhFSyxBN0Q5RUosT0FBTyxDQUFDO0lBQ1AsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxLQUFLO0lBQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0ZwQnZCLElBQUk7SUVxQlQsT0FBTyxFQUFFLFlBQVksR0FDdEI7RVZVQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l1RTBEckMsQUFBRCxpQkFBSyxDQUFDO016RXpITixPQUFPLEV5RStIVSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBV2pDO01BVEcsQUFBQSxXQUFXLENBUmQsaUJBQUksQ0FRYTtRekVqSWxCLE9BQU8sRXlFa0lZLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FDL0I7RUFWSixBN0Q5RUQsaUI2RDhFSyxBN0Q5RUosT0FBTyxDNkQyRkc7SUFDUCxXQUFXLEVBQUUsR0FBRztJQUNoQixHQUFHLEVBQUUsSUFBSSxHQUNWOztBQzlKRixBQUFELGVBQU8sQ0FBQztFMUVxQlIsT0FBTyxFMEVwQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBS3pCO0V4RThFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RXBGcEMsQUFBRCxlQUFPLENBQUM7TTFFcUJSLE9BQU8sRTBFakJVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUUzQjs7QUFFQSxBQUFELGFBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLGFBQWE7RUFDOUIsV0FBVyxFQUFFLFVBQVU7RUFDdkIsR0FBRyxFQUFFLE1BQU07RUFDWCxhQUFhLEVBQUUsSUFBSSxHQUtwQjtFeEVrRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0U1RXBDLEFBQUQsYUFBSyxDQUFDO01BUUYsT0FBTyxFQUFFLEtBQUssR0FFakI7O0FBRUEsQUFBRCxlQUFPLENBQUM7RUFDTixTQUFTLEV4SVZILFNBQXVCO0V3SVc3QixXQUFXLEVBQUUsR0FBRyxHQUtqQjtFeEV5REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0VoRXBDLEFBQUQsZUFBTyxDQUFDO01BS0osYUFBYSxFQUFFLElBQUksR0FFdEI7O0FBRUEsQUFBRCxjQUFNLENBQUM7RUFDTCxTQUFTLEVBQUUsS0FBSztFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRWhFbUJPLE9BQU87RWdFbEJuQixTQUFTLEV4SXRCSCxRQUF1QjtFd0l1QjdCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBTWpCO0V4RTJDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RXZEcEMsQUFBRCxjQUFNLENBQUM7TUFTSCxTQUFTLEV4STNCTCxJQUF1QjtNd0k0QjNCLFdBQVcsRUFBRSxHQUFHLEdBRW5COztBQUVBLEFBQUQsZUFBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUk7RUFDYixpQkFBaUIsRUFBRSxHQUFHO0VBQ3RCLHFCQUFxQixFQUFFLFNBQVM7RUFDaEMsa0JBQWtCLEVBQUUsZ0JBQWdCO0VBQ3BDLG1CQUFtQixFQUNqQiwyQ0FFYztFQUNoQixHQUFHLEVBQUUsSUFBSTtFQUNULGFBQWEsRUFBRSxJQUFJLEdBb0JwQjtFeEVXQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RXpDcEMsQUFBRCxlQUFPLENBQUM7TUFhSixxQkFBcUIsRUFBRSxHQUFHO01BQzFCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7TUFDMUMsbUJBQW1CLEVBQ2pCLGlDQUdRO01BQ1YsYUFBYSxFQUFFLENBQUMsR0FVbkI7RUE5QkEsQUF1QkMsZUF2QkssQ0F1QkwsY0FBYyxDQUFDO0lBQ2Isa0JBQWtCLEVBQUUsT0FBTyxHQUs1QjtJeEVZRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013RXpDcEMsQUF1QkMsZUF2QkssQ0F1QkwsY0FBYyxDQUFDO1FBSVgsa0JBQWtCLEVBQUUsRUFBRSxHQUV6Qjs7QUFHRixBQUFELGVBQU8sQ0FBQztFQUNOLGdCQUFnQixFQUFFLE9BQU8sR0ErRDFCO0VBaEVBLEFBR0MsZUFISyxBQUdKLGNBQWMsQ0FBQztJQUNkLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0VBTEYsQUFPQyxlQVBLLEFBT0osWUFBYSxDSnBDQSxDQUFDLEVJb0NFO0lBQ2YsU0FBUyxFQUFFLE1BQU0sR0FDbEI7RUFURixBQVdDLGVBWEssQUFXSixZQUFhLEMvQnRGYSxDQUFDLEUrQnNGWDtJQUNmLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0VBYkYsQUFlQyxlQWZLLEFBZUosWUFBYSxDL0IxRmEsQ0FBQyxFK0IwRlg7SUFDZixTQUFTLEVBQUUsTUFBTSxHQUNsQjtFQWpCRixBQW1CQyxlQW5CSyxDQW1CTCxXQUFXLENBQUE7SUFDVCxLQUFLLEVoRTVDSyxPQUFPLEdnRTZDbEI7RUFyQkYsQUFzQkMsZUF0QkssQ0FzQkwsY0FBYyxDQUFDO0lBQ2IsS0FBSyxFaEVuREksT0FBTyxHZ0VvRGpCO0VBeEJGLEFBc0JDLGVBdEJLLENBc0JMLGNBQWMsQ0FJQztJQUNiLFNBQVMsRXhJM0ZMLFFBQXVCLEd3STRGNUI7RUE1QkYsQUFvQ0csZUFwQ0csQUFrQ0osUUFBUSxDQUVQLFdBQVcsQ0FBQTtJQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUF0Q0osQUF1Q0csZUF2Q0csQUFrQ0osUUFBUSxDQUtQLFlBQVksQ0FBQztJQUNYLFVBQVUsRUFBRSxLQUFLLEdBS2xCO0l4RXBDSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013RVRwQyxBQXVDRyxlQXZDRyxBQWtDSixRQUFRLENBS1AsWUFBWSxDQUFDO1FBSVQsVUFBVSxFQUFFLEtBQUssR0FFcEI7RUE3Q0osQUErQ0csZUEvQ0csQUFrQ0osUUFBUSxDQWFQLGNBQWMsQ0FBQztJMUVyR25CLE9BQU8sRTBFc0dZLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDakM7RUFqREosQUFtREcsZUFuREcsQUFrQ0osUUFBUSxDQWlCUCxhQUFhLENBQUM7SUFDWixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQXJESixBQXVERyxlQXZERyxBQWtDSixRQUFRLENBcUJQLGNBQWMsQ0FBQztJQUNiLFNBQVMsRXhJeEhQLE9BQXVCO0l3SXlIekIsV0FBVyxFQUFFLEdBQUcsR0FLakI7SXhFckRILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdFVHBDLEFBdURHLGVBdkRHLEFBa0NKLFFBQVEsQ0FxQlAsY0FBYyxDQUFDO1FBS1gsU0FBUyxFeEk1SFQsTUFBdUIsR3dJOEgxQjs7QUFJSixBQUFELGdCQUFRLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNLEdBS3hCO0V4RWhFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RXlEcEMsQUFBRCxnQkFBUSxDQUFDO01BS0wsT0FBTyxFQUFFLElBQ1gsR0FDRDs7QUFFQSxBQUFELGFBQUssQ0FBQztFMUVqSU4sT0FBTyxFMEVrSVEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtFQUU5QixTQUFTLEV4STlJSCxJQUF1QjtFd0krSTdCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0VBVEEsQTlEdEZELGE4RHNGSyxBOUR0RkosT0FBTyxDQUFDO0lBQ1AsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxLQUFLO0lBQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0ZwQnZCLElBQUk7SUVxQlQsT0FBTyxFQUFFLFlBQVksR0FDdEI7RThENEVBLEE5RHRGRCxhOERzRkssQTlEdEZKLE9BQU8sQzhENEZHO0lBQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FDaEtMLEFBQUEsV0FBVyxDQUFDO0VBQ1YsZ0JBQWdCLEVqRWdESCxPQUFPLEdpRWtOckI7RUFoUUUsQUFBRCxpQkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixHQUFHLEVBQUUsTUFBTTtJM0VpQmIsT0FBTyxFMkVoQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBU3pCO0l6RXNFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015RW5GcEMsQUFBRCxpQkFBTyxDQUFDO1EzRW9CUixPQUFPLEUyRWJVLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQU0xQjtJekVzRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNeUVuRnBDLEFBQUQsaUJBQU8sQ0FBQztRQVdKLE9BQU8sRUFBRSxLQUFLLEdBRWpCO0VBRUEsQUFBRCxtQkFBUyxDQUFDO0lBQ1IsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUksR0FNWjtJekU0REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNeUVwRXBDLEFBQUQsbUJBQVMsQ0FBQztRQUtOLFNBQVMsRUFBRSxJQUFJO1FBQ2YsYUFBYSxFQUFFLElBQUksR0FFdEI7RUFFQSxBQUFELGlCQUFPLENBQUM7SUFDTixLQUFLLEVqRXlCQSxJQUFJO0lpRXhCVCxTQUFTLEV6SWpCSCxTQUF1QjtJeUlrQjdCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0l6RWdEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015RTFEcEMsQUFBRCxpQkFBTyxDQUFDO1FBUUosV0FBVyxFQUFFLEdBQUcsR0FFbkI7RUFFQSxBQUFELGdCQUFNLENBQUM7SUFDTCxLQUFLLEVqRWFBLElBQUk7SWlFWlQsU0FBUyxFekk3QkgsU0FBdUI7SXlJOEI3QixhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsSUFBSSxHQUtsQjtJekVxQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNeUU5Q3BDLEFBQUQsZ0JBQU0sQ0FBQztRQU9ILFNBQVMsRXpJbENMLFFBQXVCLEd5SW9DOUI7RUFFQSxBQUFELHdCQUFjLENBQUM7SUFFYixTQUFTLEVBQUUsR0FBRyxHQXdJZjtJekV2R0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNeUVuQ3BDLEFBQUQsd0JBQWMsQ0FBQztRQUtYLFNBQVMsRUFBRSxJQUFJLEdBcUlsQjtJQTFJQSxBQVFDLHdCQVJZLENBUVosdUJBQXVCLENBQUM7TUFDdEIsT0FBTyxFQUFFLEtBQUssR0FDZjtJQVZGLEFBWUMsd0JBWlksQ0FZWixhQUFhO0lBWmQsd0JBQWEsQ0FhWiw0Q0FBNEMsQ0FBQztNQUMzQyxPQUFPLEVBQUUsSUFBSSxHQUNkO0lBZkYsQUFpQkMsd0JBakJZLENBaUJaLE1BQU0sQ0FBQztNQUNMLFdBQVcsRUFBRSxDQUFDO01BQ2QsT0FBTyxFQUFFLENBQUMsR0FDWDtJQXBCRixBQXNCQyx3QkF0QlksQ0FzQlosWUFBWSxDQUFDO01BQ1gsU0FBUyxFekk3REwsTUFBdUI7TXlJOEQzQixhQUFhLEVBQUUsSUFBSTtNQUNuQixjQUFjLEVBQUUsTUFBTTtNQUN0QixLQUFLLEVqRXZCRixJQUFJLEdpRTRCUjtNekVJRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F5RW5DcEMsQUFzQkMsd0JBdEJZLENBc0JaLFlBQVksQ0FBQztVQU9ULFNBQVMsRXpJbkVQLFFBQXVCLEd5SXFFNUI7SUEvQkYsQUFpQ0Msd0JBakNZLENBaUNaLFlBQVksQ0FBQztNQUNYLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUk7TUFDWCxnQkFBZ0IsRWpFcENMLE9BQU87TWlFcUNsQixLQUFLLEVqRWxDRixJQUFJO01pRW1DUCxNQUFNLEVBQUUsSUFBSTtNQUNaLFNBQVMsRXpJN0VMLFNBQXVCO015SThFM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsY0FBYyxFQUFFLE1BQU07TTNFckUxQixPQUFPLEUyRXNFVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDNUI7SUEzQ0YsQUE2Q0Msd0JBN0NZLENBNkNaLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtNQUNqQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtJQS9DRixBQWlEQyx3QkFqRFksQ0FpRFosaUNBQWlDLENBQUM7TUFDaEMsT0FBTyxFQUFFLElBQUk7TUFFYixxQkFBcUIsRUFBRSxPQUFPO01BQzlCLGtCQUFrQixFQUFFLFdBQVc7TUFDL0IsbUJBQW1CLEVBQ2pCLDRDQUVlO01BQ2pCLEdBQUcsRUFBRSxTQUFTO01BQ2QsYUFBYSxFQUFFLElBQUksR0FDcEI7SXpFekJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXlFbkNwQyxBQThEQyx3QkE5RFksQ0E4RFosYUFBYSxBQUFBLGFBQWEsQ0FBQztRQUV2QixVQUFVLEVBQUUsQ0FBQyxHQUVoQjtJQWxFRixBQW9FQyx3QkFwRVksQ0FvRVosdUJBQXVCLENBQUM7TUFDdEIsTUFBTSxFQUFFLE9BQU87TTNFakduQixPQUFPLEUyRWtHVSxHQUFHLENBQUMsSUFBSSxHQUN0QjtJQXZFRixBQXlFQyx3QkF6RVksQ0F5RVosNkJBQTZCLENBQUM7TUFDNUIsU0FBUyxFQUFFLElBQUk7TUFDZixLQUFLLEVBQUUsT0FBTyxHQUNmO0lBNUVGLEFBOEVDLHdCQTlFWSxDQThFWixvQkFBb0IsQ0FBQztNQUNuQixNQUFNLEVBQUUsQ0FBQyxHQWtCVjtNQWpHRixBQWlGRyx3QkFqRlUsQ0E4RVosb0JBQW9CLENBR2xCLEtBQUssQ0FBQztRM0U3R1YsT0FBTyxFMkU4R1ksR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1FBQ3hCLFdBQVcsRWpFL0ROLFNBQVMsRUFBRSxVQUFVO1FpRWdFMUIsWUFBWSxFQUFFLEdBQUc7UUFDakIsWUFBWSxFQUFFLFdBQVc7UUFDekIsU0FBUyxFQUFFLElBQUksR0FVaEI7UUFoR0osQUF3Rkssd0JBeEZRLENBOEVaLG9CQUFvQixDQUdsQixLQUFLLEFBT0YsYUFBYSxDQUFDO1VBQ2IsU0FBUyxFQUFFLElBQUk7VUFDZixLQUFLLEVBQUUsT0FBTyxHQUNmO1FBM0ZOLEFBNkZLLHdCQTdGUSxDQThFWixvQkFBb0IsQ0FHbEIsS0FBSyxBQVlGLE1BQU0sQ0FBQztVQUNOLFlBQVksRWpFOUZMLE9BQU8sR2lFK0ZmO0lBL0ZOLEFBbUdDLHdCQW5HWSxDQW1HWixLQUFLLENBQUM7TUFDSixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBckdGLEFBdUdDLHdCQXZHWSxDQXVHWixhQUFhLENBQUM7TUFDWixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJQXpHRixBQTJHQyx3QkEzR1ksQ0EyR1osMEJBQTBCLENBQUM7TUFDekIsU0FBUyxFQUFFLEtBQUssR0FNakI7TUFsSEYsQUE4R0csd0JBOUdVLENBMkdaLDBCQUEwQixBQUd2QixVQUFVLENBQUM7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJLEdBQ1o7SUFqSEosQUFvSEMsd0JBcEhZLENBb0haLDBCQUEwQixDQUFDO01BQ3pCLFNBQVMsRUFBRSxNQUFNO01BQ2pCLEtBQUssRUFBRSxJQUFJO01BQ1gsS0FBSyxFQUFFLElBQUksR0FNWjtNQTdIRixBQXlIRyx3QkF6SFUsQ0FvSFosMEJBQTBCLEFBS3ZCLFVBQVUsQ0FBQztRQUNWLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUksR0FDWjtJQTVISixBQStIQyx3QkEvSFksQ0ErSFosMEJBQTBCLENBQUM7TUFDekIsU0FBUyxFQUFFLEtBQUssR0FDakI7SUFqSUYsQUFtSUMsd0JBbklZLENBbUlaLDRCQUE0QixDQUFDO01BQzNCLFNBQVMsRUFBRSxNQUFNLEdBQ2xCO0lBcklGLEFBb0VDLHdCQXBFWSxDQW9FWix1QkFBdUIsQ0FtRUM7TUFDdEIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUE1TEwsQUErTEUsV0EvTFMsQ0ErTFQsZ0VBQWdFO0VBL0xsRSxXQUFXLENBZ01ULGdFQUFnRSxDQUFDO0lBQy9ELFFBQVEsRUFBRSxRQUFRLEdBQ25CO0VBbE1ILEFBb01FLFdBcE1TLENBb01ULGVBQWUsQ0FBQztJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixnQkFBZ0IsRUFBRSxrQ0FBa0M7SUFDcEQsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQixpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBUW5CO0lBdE5ILEFBaU5NLFdBak5LLENBb01ULGVBQWUsQUFZWixNQUFNLENBQ0wsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLENBQUMsR0FFWDtFQXBOUCxBQXdORSxXQXhOUyxDQXdOVCxhQUFhLENBQUM7SUFDWixVQUFVLEVBQUUsd0JBQXdCO0lBQ3BDLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLElBQUk7SUFDVCxJQUFJLEVBQUUsSUFBSTtJQUNWLGdCQUFnQixFakV6S1gsSUFBSTtJaUUwS1QsU0FBUyxFekluTkgsT0FBdUI7SXlJb043QixPQUFPLEVBQUUsQ0FBQztJQUNWLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLEtBQUssRUFBRSxLQUFLO0lBQ1osVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsR0E2Qm5EO0l6RTVLQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015RXRGdkMsQUF3TkUsV0F4TlMsQ0F3TlQsYUFBYSxDQUFDO1FBZ0JWLEtBQUssRUFBRSxLQUFLO1FBQ1osU0FBUyxFekk1TkwsU0FBdUIsR3lJcVA5QjtJQWxRSCxBQTRPSSxXQTVPTyxDQXdOVCxhQUFhLEFBb0JWLFFBQVEsRUE1T2IsV0FBVyxDQXdOVCxhQUFhLEFBcUJWLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxDQUFDO01BQ1IsTUFBTSxFQUFFLENBQUM7TUFDVCxZQUFZLEVBQUUsYUFBYTtNQUMzQixZQUFZLEVBQUUsS0FBSztNQUNuQixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7SUFyUEwsQUF1UEksV0F2UE8sQ0F3TlQsYUFBYSxBQStCVixRQUFRLENBQUM7TUFDUixZQUFZLEVBQUUsV0FBVyxDQUFNLG1CQUFJLENBQVEsV0FBVyxDQUFDLFdBQVc7TUFDbEUsTUFBTSxFQUFFLFNBQVM7TUFDakIsSUFBSSxFQUFFLElBQUksR0FFWDtJQTVQTCxBQThQSSxXQTlQTyxDQXdOVCxhQUFhLEFBc0NWLE9BQU8sQ0FBQztNQUNQLFlBQVksRUFBRSx3Q0FBd0M7TUFDdEQsSUFBSSxFQUFFLElBQUksR0FDWDs7QUNqUUwsQUFBQSxTQUFTLENBQUM7RUFDUixnQkFBZ0IsRWxFa0RELE9BQU87RWtFakR0QixRQUFRLEVBQUUsTUFBTSxHQTBGakI7RUF6RkUsQUFBRCxlQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLGNBQWMsR0FLdEM7STFFNEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTBFbkZwQyxBQUFELGVBQU8sQ0FBQztRQUtKLHFCQUFxQixFQUFFLGNBQWMsR0FFeEM7RUFFQSxBQUFELGlCQUFTLENBQUM7STVFV1YsT0FBTyxFNEVWUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FLekI7STFFb0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTBFMUVwQyxBQUFELGlCQUFTLENBQUM7UTVFV1YsT0FBTyxFNEVQVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FFM0I7RUFFQSxBQUFELGVBQU8sQ0FBQztJQUNOLEtBQUssRWxFaUNBLElBQUk7SWtFaENULFNBQVMsRTFJVEgsTUFBdUI7STBJVTdCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0kxRXlEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wRWxFcEMsQUFBRCxlQUFPLENBQUM7UUFPSixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQUVBLEFBQUQsY0FBTSxDQUFDO0lBQ0wsS0FBSyxFbEVzQkEsSUFBSTtJa0VyQlQsU0FBUyxFMUlwQkgsSUFBdUI7STBJcUI3QixTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGFBQWEsRUFBRSxJQUFJLEdBT3BCO0kxRTBDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wRXZEcEMsQUFBRCxjQUFNLENBQUM7UUFTSCxTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRTFJNUJMLFFBQXVCO1EwSTZCM0IsYUFBYSxFQUFFLElBQUksR0FFdEI7RUFFQSxBQUFELGFBQUssQ0FBQztJQUNKLFdBQVcsRUFBRSxHQUFHO0k1RXhCbEIsT0FBTyxFNEUwQlEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtJQUM5QixTQUFTLEUxSXJDSCxTQUF1QixHMEkwQzlCO0lBVEEsQWhFb0JELGFnRXBCSyxBaEVvQkosT0FBTyxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBQztNQUNSLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0Z6QmpCLE9BQU87TUUwQmxCLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lnRTlCQSxBaEVvQkQsYWdFcEJLLEFoRW9CSixPQUFPLENnRWRHO01BQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFHRixBQUFELGVBQU8sQ0FBQztJQUNOLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxJQUFJLEdBS2I7STFFc0JDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTBFN0JwQyxBQUFELGVBQU8sQ0FBQztRQUtKLE1BQU0sRUFBRSxLQUFLLEdBRWhCO0VBRUEsQUFBRCxlQUFPLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsZ0JBQWdCLEVBQUUsMENBQTBDO0lBQzVELE1BQU0sRUFBRSxJQUFJO0lBQ1osZ0JBQWdCLEVsRVhDLE9BQU8sR2tFMEJ6QjtJQWJDLEFBQUEsV0FBVyxDQVpaLGVBQU0sQ0FZUztNQUNaLEtBQUssRUFBRSxJQUFJLEdBS1o7TTFFRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRMEVSbkMsQUFBQSxXQUFXLENBWlosZUFBTSxDQVlTO1VBSVYsS0FBSyxFQUFFLEtBQUssR0FFZjtJMUVFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wRXBCcEMsQUFBRCxlQUFPLENBQUM7UUFxQkosS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsR0FBRztRQUNULFNBQVMsRUFBRSxNQUFNLEdBRXBCOztBQzNGSCxBQUFBLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsZ0JBQWdCLEVuRWtEVCxJQUFJO0VtRWpEWCxNQUFNLEVBQUUsNkNBQTZDO0VBQ3JELFVBQVUsRUFBRSxLQUFLLEdBK0VsQjtFQXJGRCxBQVNJLEtBVEMsQUFRRixNQUFNLENBQ0wsR0FBRyxDQUFDO0lBQ0YsS0FBSyxFQUFFLENBQUMsR0FDVDtFQUdGLEFBQUQsV0FBTyxDQUFDO0lBQ04sTUFBTSxFQUFFLEtBQUs7SUFDYixRQUFRLEVBQUUsTUFBTSxHQVVqQjtJQVpBLEFBSUMsV0FKSyxDQUlMLEdBQUcsQ0FBQztNQUNGLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsS0FBSztNQUNqQixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLHNCQUNkLEdBQUM7RUFHRixBQUFELGFBQVMsQ0FBQztJN0VMVixPQUFPLEU2RU1RLElBQUksQ0FBQyxJQUFJLEdBQ3ZCO0VBRUEsQUFBRCxnQkFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLEdBQUcsRUFBRSxNQUFNLEdBQ1o7RUFFQSxBQUFELGNBQVUsQ0FBQztJQUNULFNBQVMsRTNJM0JILFFBQXVCO0kySTRCN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsY0FBYyxFQUFFLE9BQU87SUFDdkIsUUFBUSxFQUFFLFFBQVEsR0FhbkI7SUFsQkEsQUFRRyxjQVJNLEFBT1AsSUFBSyxDakRrRkUsYUFBYSxDaURqRmxCLE9BQU8sQ0FBQztNQUNQLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLE9BQU8sRUFBRSxHQUFHO01BQ1osS0FBSyxFQUFFLE9BQU87TUFDZCxTQUFTLEVBQUUsT0FBTztNQUNsQixLQUFLLEVBQUUsSUFBSTtNQUNYLEdBQUcsRUFBRSxDQUFDLEdBQ1A7RUFJSixBQUFELFVBQU0sQ0FBQztJQUNMLFNBQVMsRTNJL0NILFNBQXVCO0kySWdEN0IsS0FBSyxFbkVBa0IsT0FBTztJbUVDOUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQUVBLEFBQUQsV0FBTyxDQUFDO0lBQ04sU0FBUyxFM0l4REgsU0FBdUI7STJJeUQ3QixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsT0FBTztJQUN2QixhQUFhLEVBQUUsQ0FBQztJQUNoQixVQUFVLEVBQUUsVUFBVTtJQUN0QixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBTW5COztBQ25GSCxBQUFBLFVBQVUsQ0FBQztFQUNULGdCQUFnQixFcEVnREgsT0FBTyxHb0VLckI7RUFuREUsQUFBRCxnQkFBTyxDQUFDO0lBQ04sVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLEtBQUs7STlFa0JuQixPQUFPLEU4RWpCUSxJQUFJLENBQUMsQ0FBQztJQUNuQixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNLEdBS3hCO0k1RXVFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO000RW5GcEMsQUFBRCxnQkFBTyxDQUFDO1FBVUosV0FBVyxFQUFFLFVBQVUsR0FFMUI7RUFFQSxBQUFELGdCQUFPLENBQUM7SUFDTixLQUFLLEVwRW9DQSxJQUFJO0lvRW5DVCxTQUFTLEU1SU5ILFVBQXVCO0k0SU83QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsR0FBRztJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixjQUFjLEVBQUUsTUFBTSxHQU92QjtJNUV3REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNNEVyRXBDLEFBQUQsZ0JBQU8sQ0FBQztRQVNKLFNBQVMsRTVJYkwsT0FBdUI7UTRJYzNCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBRW5CO0VBRUEsQUFBRCxlQUFNLENBQUM7SUFDTCxTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRXBFbUJBLElBQUk7SW9FbEJULFNBQVMsRTVJdkJILE9BQXVCO0k0SXdCN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLFFBQVEsR0FjekI7STVFaUNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTRFdERwQyxBQUFELGVBQU0sQ0FBQztRQVVILFNBQVMsRTVJN0JMLFFBQXVCO1E0SThCM0IsV0FBVyxFQUFFLElBQUk7UUFDakIsVUFBVSxFQUFFLElBQUksR0FTbkI7SUFyQkEsQUFlQyxlQWZJLENBZUosQ0FBQyxDQUFDO01BQ0EsS0FBSyxFQUFFLE9BQU87TUFDZCxJQUFJLEVBQUUsT0FBTztNQUNiLGNBQWMsRUFBRSxPQUFPO01BQ3ZCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQ3BETCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLGdCQUFnQixFckVtREcsT0FBTyxHcUVpQzNCO0VBbEZFLEFBQUQseUJBQU8sQ0FBQztJL0VvQlIsT0FBTyxFK0VuQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ3hCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU0sR0FNdkI7STdFMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTZFbkZwQyxBQUFELHlCQUFPLENBQUM7UUFNSixjQUFjLEVBQUUsTUFBTTtRL0VjMUIsT0FBTyxFK0ViVSxJQUFJLENBQUMsQ0FBQyxHQUV0QjtFQUVBLEFBQUQsMkJBQVMsQ0FBQztJQUNSLFdBQVcsRUFBRSxDQUFDLEdBS2Y7STdFa0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTZFeEVwQyxBQUFELDJCQUFTLENBQUM7UUFJTixhQUFhLEU3SUxULElBQXVCLEc2SU85QjtFN0VrRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkVoRXBDLEFBQUQseUJBQU8sQ0FBQztNQUdKLFNBQVMsRTdJWkwsT0FBdUI7TTZJYTNCLFdBQVcsRUFBRSxHQUFHLEdBRW5CO0VBSUEsQUFBRCx3QkFBTSxDQUFDO0lBQ0wsZ0JBQWdCLEVyRXFCWCxJQUFJO0lxRXBCVCxhQUFhLEVBQUUsSUFBSTtJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYLFdBQVcsRUFBRSxDQUFDO0kvRWJoQixPQUFPLEUrRWNRLElBQUksQ0FBQyxJQUFJO0lBQ3RCLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsT0FBTztJQUM5QixPQUFPLEVBQUUsSUFBSSxHQU9kO0k3RXVDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO002RXREcEMsQUFBRCx3QkFBTSxDQUFDO1FBV0gscUJBQXFCLEVBQUUsR0FBRztRQUMxQixLQUFLLEVBQUUsSUFBSTtRL0VyQmYsT0FBTyxFK0VzQlUsSUFBSSxDQUFDLElBQUksR0FFekI7RUFFQSxBQUFELDJCQUFTLENBQUM7SUFDUixTQUFTLEU3SXJDSCxTQUF1QjtJNklzQzdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRXJFSE0sT0FBTztJcUVJbEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsVUFBVSxFQUFFLElBQUksR0FDakI7RUFFQSxBQUVDLHdCQUZJLEFBRUgsSUFBSyxDbkRtRUUsYUFBYSxFbURuRUE7SUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFHRixBQUFELHlCQUFPLENBQUM7SUFDTixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFVBQVUsRUFBRSxLQUFLLEdBT2xCO0lBWEEsQUFNQyx5QkFOSyxDQU1MLEdBQUcsQ0FBQztNQUNGLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLEdBQUc7TUFDVixVQUFVLEVBQUUsT0FBTyxHQUNwQjtFQUdGLEFBQUQsd0JBQU0sQ0FBQztJQUNMLFNBQVMsRTdJbkVILE9BQXVCO0k2SW9FN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FDcEZILEFBQUEsUUFBUSxDQUFDO0VBQ1AsS0FBSyxFdEU2RG9CLE9BQU87RXNFNURoQyxnQkFBZ0IsRXRFb0RULElBQUk7RXNFbkRYLGFBQWEsRUFBRSxJQUFJO0VoRm9CbkIsT0FBTyxFZ0ZuQk0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO0VBQzNCLFVBQVUsRUFBRSxvQkFBb0IsR0E4RGpDO0U5RW1CRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4RXRGdkMsQUFBQSxRQUFRLENBQUM7TUFRTCxhQUFhLEU5SUtQLElBQXVCO004RFUvQixPQUFPLEVnRmRRLElBQUksQ0FBQyxJQUFJLEdBMER6QjtFQW5FRCxBQVlFLFFBWk0sQUFZTCxNQUFNLENBQUM7SUFDTixLQUFLLEV0RXlDQSxJQUFJO0lzRXhDVCxnQkFBZ0IsRXRFbUNMLE9BQU8sR3NFMUJuQjtJQXZCSCxBQWlCTSxRQWpCRSxBQVlMLE1BQU0sQ0FJTCxZQUFZLEFBQ1QsUUFBUSxDQUFDO01BQ1IsZ0JBQWdCLEV0RW9DZixJQUFJO01zRW5DTCxLQUFLLEV0RThCRSxPQUFPLEdzRTVCZjtNQXJCUCxBcEVrRUUsUW9FbEVNLEFBWUwsTUFBTSxDQUlMLFlBQVksQUFDVCxRQUFRLEFwRWlEWixPQUFPLENBQUM7UUFDUCxHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSxDQUFDO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLEtBQUs7UUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnpCakIsT0FBTztRRTBCbEIsT0FBTyxFQUFFLFlBQVksR0FDdEI7RW9FbkRBLEFBQUQsbUJBQVksQ0FBQztJQUNYLFNBQVMsRTlJYkgsUUFBdUI7SThJYzdCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLEdBQUc7SUFDbEIsS0FBSyxFQUFFLE9BQU87SUFDZCxjQUFjLEVBQUUsU0FBUztJQUN6QixjQUFjLEVBQUUsTUFBTTtJQUN0QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQUVBLEFBQUQsY0FBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLE9BQU87SUFDZCxTQUFTLEU5SXhCSCxNQUF1QjtJOEl5QjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO0VBRUEsQUFBRCxhQUFNLENBQUM7SUFDTCxTQUFTLEU5SS9CSCxTQUF1QjtJOElnQzdCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUk7SUFDbkIsS0FBSyxFQUFFLE9BQU8sR0FDZjtFQUVBLEFBQUQsYUFBTSxDQUFDO0lBQ0wsU0FBUyxFOUl0Q0gsT0FBdUI7SThJdUM3QixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVBQUUsT0FBTyxHQUNmO0VBRUEsQUFBRCxZQUFLLENBQUM7SUFDSixTQUFTLEU5STVDSCxJQUF1QjtJOERVL0IsT0FBTyxFZ0ZtQ1EsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtJQUU5QixVQUFVLEVBQUUsb0JBQW9CLEdBTWpDO0lBVkEsQXBFVUQsWW9FVkssQXBFVUosT0FBTyxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBQztNQUNSLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0ZwQnZCLElBQUk7TUVxQlQsT0FBTyxFQUFFLFlBQVksR0FDdEI7SW9FcEJBLEFwRVVELFlvRVZLLEFwRVVKLE9BQU8sQ29FSkc7TUFDUCxXQUFXLEVBQUUsR0FBRztNQUNoQixVQUFVLEVBQUUsb0JBQW9CLEdBQ2pDOztBQUlMLEFBRUUsbUJBRmlCLENBRWpCLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxPQUFPLEdBQ2xCOztBOUVhQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4RWpCdkMsQUFPSSxtQkFQZSxDQU9mLFFBQVEsQ0FBQztJQUNQLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBVEwsQUFXRSxtQkFYaUIsQ0FXakIsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxjQUFjO0VBQ3JDLEdBQUcsRUFBRSxTQUFTLEdBTWY7RTlFSEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEVqQnZDLEFBV0UsbUJBWGlCLENBV2pCLGFBQWEsQ0FBQztNQU1WLE9BQU8sRUFBRSxLQUFLO01BQ2QsT0FBTyxFQUFFLHlCQUF5QixHQUVyQzs7QUN6RkgsQUFBQSxhQUFhLENBQUM7RUFDWixnQkFBZ0IsRXZFZ0RILE9BQU8sR3VFZ0lyQjtFQTlLRSxBQUFELG1CQUFPLENBQUM7SUFDTixTQUFTLEVBQUUsTUFBTTtJQUNqQixLQUFLLEVBQUUsSUFBSTtJakZrQmIsT0FBTyxFaUZqQlEsSUFBSSxDQUFDLENBQUMsR0FDcEI7RUFFQSxBQUFELGlCQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxRQUFRO0lBQ3pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBRUEsQUFBRCxtQkFBTyxDQUFDO0lBQ04sTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEdBQUcsRUFBRSxNQUFNLEdBc0VaO0lBMUVBLEFBTUMsbUJBTkssQ0FNTCxLQUFLLENBQUM7TUFDSixLQUFLLEV2RWdDRixJQUFJO011RS9CUCxTQUFTLEUvSVZMLFFBQXVCO00rSVczQixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsUUFBUTtNQUN4QixZQUFZLEVBQUUsR0FBRyxHQUtsQjtNL0V1REQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRK0V2RXBDLEFBTUMsbUJBTkssQ0FNTCxLQUFLLENBQUM7VUFRRixhQUFhLEVBQUUsQ0FBQyxHQUVuQjtJQWhCRixBQWtCQyxtQkFsQkssQ0FrQkwsQ0FBQyxDQUFDO01BQ0EsWUFBWSxFdkVvQlQsSUFBSTtNdUVuQlAsT0FBTyxFQUFFLFdBQVc7TUFDcEIsV0FBVyxFQUFFLE1BQU07TUFDbkIsZUFBZSxFQUFFLE1BQU07TUFDdkIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNakZoQmhCLE9BQU8sRWlGaUJVLENBQUM7TUFDZCxNQUFNLEVBQUUsQ0FBQztNQUNULFdBQVcsRUFBRSxDQUFDLEdBOENmO01BekVGLEFBOEJLLG1CQTlCQyxDQWtCTCxDQUFDLEFBV0UsU0FBUyxDQUNSLEdBQUcsQ0FBQztRQUNGLEtBQUssRUFBRSxHQUFHO1FBQ1YsTUFBTSxFQUFFLElBQUksR0FDYjtNQWpDTixBQXFDSyxtQkFyQ0MsQ0FrQkwsQ0FBQyxBQWtCRSxjQUFjLENBQ2IsR0FBRyxDQUFDO1FBQ0YsS0FBSyxFQUFFLEdBQUc7UUFDVixNQUFNLEVBQUUsR0FBRyxHQUNaO01BeENOLEFBNENLLG1CQTVDQyxDQWtCTCxDQUFDLEFBeUJFLFlBQVksQ0FDWCxHQUFHLENBQUM7UUFDRixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHLEdBQ1o7TUEvQ04sQUFtREssbUJBbkRDLENBa0JMLENBQUMsQUFnQ0UsZUFBZSxDQUNkLEdBQUcsQ0FBQztRQUNGLEtBQUssRUFBRSxHQUFHO1FBQ1YsTUFBTSxFQUFFLEdBQUcsR0FDWjtNQXRETixBQXlERyxtQkF6REcsQ0FrQkwsQ0FBQyxDQXVDQyxNQUFNLENBQUM7UUFDTCxLQUFLLEVBQUUsZUFBZTtRQUN0QixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUksR0FDYjtNQW5FSixBQXFFRyxtQkFyRUcsQ0FrQkwsQ0FBQyxDQW1EQyxHQUFHO01BckVOLG1CQUFNLENBa0JMLENBQUMsQ0FvREMsQ0FBQyxDQUFDO1FBQ0EsSUFBSSxFdkVoQ0gsSUFBSSxHdUVpQ047RUFJSixBQUFELHFCQUFTLENBQUM7SUFDUixnQkFBZ0IsRXZFdENYLHdCQUFJO0l1RXVDVCxhQUFhLEVBQUUsSUFBSTtJakZ0RXJCLE9BQU8sRWlGdUVRLElBQUksQ0FBQyxJQUFJO0lBQ3RCLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO0VBRUEsQUFBRCxtQkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixhQUFhLEVBQUUsSUFBSTtJQUNuQixRQUFRLEVBQUUsUUFBUSxHQStCbkI7SUFuQ0EsQUFNQyxtQkFOSyxBQU1KLFFBQVEsQ0FBQztNQUNSLE9BQU8sRUFBRSxZQUFZO01BQ3JCLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLGdCQUFnQixFQUFFLDJDQUEyQztNQUM3RCxtQkFBbUIsRUFBRSxNQUFNO01BQzNCLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsZUFBZSxFQUFFLEtBQUs7TUFDdEIsWUFBWSxFQUFFLEdBQUcsR0FNbEI7TS9FakNELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UStFWXBDLEFBTUMsbUJBTkssQUFNSixRQUFRLENBQUM7VUFZTixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJLEdBRWY7SUFyQkYsQUF3QkcsbUJBeEJHLEFBdUJKLFlBQVksQUFDVixRQUFRLENBQUM7TUFDUixnQkFBZ0IsRUFBRSwwQ0FBMEM7TUFDNUQsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQU1iO00vRTdDSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1ErRVlwQyxBQXdCRyxtQkF4QkcsQUF1QkosWUFBWSxBQUNWLFFBQVEsQ0FBQztVQU1OLEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUksR0FFZjtFQUlKLEFBQUQsa0JBQU0sQ0FBQztJQUNMLFNBQVMsRS9JM0hILFVBQXVCO0krSTRIN0IsS0FBSyxFdkV4Rk0sT0FBTztJdUV5RmxCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0kvRTFEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00rRWlEcEMsQUFBRCxrQkFBTSxDQUFDO1FBT0gsU0FBUyxFL0lqSUwsUUFBdUIsRytJbUk5QjtFQUVBLEFBQUQsc0JBQVUsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRLEdBT25CO0lBUkEsQUFHQyxzQkFIUSxBQUdQLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLE9BQU87TUFDbEIsS0FBSyxFdkV2R0ksT0FBTyxHdUV3R2pCO0VBR0YsQUFBRCxtQkFBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLEdBQUc7SUFDbEIsU0FBUyxFL0lqSkgsVUFBdUI7SStJa0o3QixjQUFjLEVBQUUsTUFBTTtJQUN0QixLQUFLLEV2RS9HTSxPQUFPO0l1RWdIbEIsV0FBVyxFQUFFLENBQUMsR0FLZjtJL0VoRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNK0VzRXBDLEFBQUQsbUJBQU8sQ0FBQztRQVFKLFNBQVMsRS9JdkpMLE1BQXVCLEcrSXlKOUI7RUFFQSxBQUFELGtCQUFNLENBQUM7SUFDTCxTQUFTLEUvSTVKSCxPQUF1QjtJK0k2SjdCLEtBQUssRXZFckhPLE9BQU87SXVFc0huQixhQUFhLEVBQUUsQ0FBQyxHQUtqQjtJL0UxRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNK0VrRnBDLEFBQUQsa0JBQU0sQ0FBQztRQU1ILFNBQVMsRS9JaktMLElBQXVCLEcrSW1LOUI7O0FFaExILEFBQUEsUUFBUSxDQUFDO0V2RmdDUCxTQUFTLEVMZEMsS0FBSztFS2dCYixXQUFJLEVBQUUsSUFBSTtFQUNWLFlBQUssRUFBRSxJQUFJO0V1RmpDYixPQUFPLEVBQUUsWUFBWTtFQUNyQixNQUFNLEVBQUUsTUFBTSxHQXFFZjtFQXhFRCxBaEhRRSxRZ0hSTSxBaEhRTCxPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFZ0haSCxBQUtFLFFBTE0sQ0FLTixNQUFNLENBQUM7SUFDTCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVBILEFBU0UsUUFUTSxDQVNOLFlBQVksQ0FBQztJQUNYLFNBQVMsRWpKR0gsSUFBdUI7SWlKRjdCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBWkgsQUFjRSxRQWRNLENBY04sV0FBVyxDQUFDO0lBQ1YsU0FBUyxFakpGSCxTQUF1QixHaUpHOUI7RUFoQkgsQUFrQkUsUUFsQk0sQ0FrQk4sRUFBRSxDQUFDO0lBQ0QsU0FBUyxFakpOSCxJQUF1QjtJaUpPN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsY0FBYyxFQUFFLEdBQUcsR0FDcEI7RUF2QkgsQUF5QkUsUUF6Qk0sQ0F5Qk4sRUFBRSxDQUFDO0lBQ0QsU0FBUyxFakpiSCxRQUF1QjtJaUpjN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLENBQUMsR0FDakI7RUE3QkgsQUErQkUsUUEvQk0sQ0ErQk4sRUFBRSxDQUFDO0lBQ0QsU0FBUyxFakpuQkgsU0FBdUIsR2lKb0I5QjtFQWpDSCxBQW1DRSxRQW5DTSxDQW1DTixhQUFhLENBQUM7SUFDWixRQUFRLEVBQUUsUUFBUTtJdkd6QmxCLE1BQU0sRXVHMEJRLEtBQUs7SXZHbEJuQixLQUFLLEV1R2tCUyxLQUFLO0lBQ25CLE1BQU0sRUFBRSxDQUFDLEdBTVY7SUE1Q0gsQUF3Q0ksUUF4Q0ksQ0FtQ04sYUFBYSxDQUtYLEdBQUcsQ0FBQztNQUNGLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUksR0FDWjtFakYyQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUZ0RnZDLEFBQUEsUUFBUSxDQUFDO01BK0NMLE9BQU8sRUFBRSxTQUFTLEdBeUJyQjtNQXhFRCxBQUtFLFFBTE0sQ0FLTixNQUFNLENBNENHO1FBQ0wsYUFBYSxFQUFFLElBQUksR0FDcEI7TUFuREwsQUFxREksUUFyREksQ0FxREosWUFBWTtNQXJEaEIsUUFBUSxDQXNESixFQUFFLENBQUM7UUFDRCxTQUFTLEVqSjFDTCxRQUF1QixHaUoyQzVCO01BeERMLEFBY0UsUUFkTSxDQWNOLFdBQVcsQ0E0Q0c7UUFDVixTQUFTLEVqSjlDTCxTQUF1QixHaUorQzVCO01BNURMLEFBOERJLFFBOURJLENBOERKLEVBQUU7TUE5RE4sUUFBUSxDQStESixFQUFFLENBQUM7UUFDRCxTQUFTLEVqSm5ETCxPQUF1QixHaUpvRDVCO01BakVMLEFBbUNFLFFBbkNNLENBbUNOLGFBQWEsQ0FnQ0c7UUFDWixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBSUwsQUFLRSxpQ0FMK0IsQ0FLL0Isa0JBQWtCO0FBTHBCLGlDQUFpQyxDQU0vQixHQUFHLEFBQUEsaUJBQWlCO0FBTHRCLGdCQUFnQixDQUlkLGtCQUFrQjtBQUpwQixnQkFBZ0IsQ0FLZCxHQUFHLEFBQUEsaUJBQWlCLENBQUM7RUFDbkIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFSSCxBQWNFLGlDQWQrQixDQWMvQiwyQkFBMkI7QUFiN0IsZ0JBQWdCLENBYWQsMkJBQTJCLENBQUM7RUFDMUIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBaEJILEFBa0JFLGlDQWxCK0IsQ0FrQi9CLFlBQVk7QUFqQmQsZ0JBQWdCLENBaUJkLFlBQVksQ0FBQztFQUNYLFNBQVMsRWpKaEZILFNBQXVCO0VpSmlGN0IsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FqRlRDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWlGWnZDLEFBdUNJLGlDQXZDNkIsQ0F1QzdCLFVBQVU7RUF0Q2QsZ0JBQWdCLENBc0NaLFVBQVUsQ0FBQztJQUNULE1BQU0sRUFBRSxRQUFRLEdBQ2pCO0VBekNMLEFBa0JFLGlDQWxCK0IsQ0FrQi9CLFlBQVk7RUFqQmQsZ0JBQWdCLENBaUJkLFlBQVksQ0F5Qkc7SUFDWCxTQUFTLEVqSnpHTCxPQUF1QixHaUowRzVCOztBQUlMLEFBQUEsWUFBWSxDQUFDO0VBQ1gsZ0JBQWdCLEV6RXhFRyxPQUFPO0V5RXlFMUIsUUFBUSxFQUFFLE1BQU0sR0ErT2pCO0VqRnRSRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpRjBDbEMsQUFBRCxrQkFBTyxDQUFDO01BQ04sT0FBTyxFQUFFLElBQUksR0FDZDtFQUdGLEFBQ0MsMkJBRGMsQ0FDZCxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDbEIsT0FBTyxFQUFFLElBQUksR0FDZDtFQUdGLEFBQUQsa0JBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsVUFBVSxFQUFFLEtBQUssR0FDbEI7RUFFQSxBQUFELG9CQUFTLENBQUM7SUFDUixTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSTtJbkY1SGIsT0FBTyxFbUY2SFEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQWlCM0I7SWpGL0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWlGMkRwQyxBQUFELG9CQUFTLENBQUM7UUFNTixTQUFTLEVBQUUsSUFBSTtRbkZoSW5CLE9BQU8sRW1GaUlVLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQWF4QjtJakYvRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNaUZxRW5DLEFBQUEscUJBQXFCLENBVnRCLG9CQUFRLENBVWlCO1FuRnBJMUIsT0FBTyxFbUZzSVksSUFBSSxDQUFDLENBQUMsR0FFdEI7SUFFRCxBQUFBLGlCQUFpQixDQWhCbEIsb0JBQVE7SUFpQlAsMkJBQTJCLENBakI1QixvQkFBUSxDQWlCdUI7TUFDNUIsU0FBUyxFakp0SkwsU0FBdUIsR2lKdUo1QjtFQUdGLEFBQUQsbUJBQVEsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU07SUFDbkIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6RTFIYixPQUFPO0l5RTJIbEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFFQSxBQUFELG9CQUFTLENBQUM7SUFDUixTQUFTLEVqSnBLSCxNQUF1QjtJaUpxSzdCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLEtBQUssRXpFcElNLE9BQU8sR3lFcUluQjtFQUVBLEFBQUQsa0JBQU8sQ0FBQztJQUNOLFNBQVMsRWpKNUtILFFBQXVCO0lpSjZLN0IsYUFBYSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFakpqTFAsUUFBdUI7SWlKa0w3QixLQUFLLEV6RTlJTSxPQUFPLEd5RStJbkI7RUFFQSxBQUFELGlCQUFNLENBQUM7SUFDTCxLQUFLLEV6RTlJTyxPQUFPO0l5RStJbkIsU0FBUyxFakp2TEgsSUFBdUI7SWlKd0w3QixXQUFXLEVBQUUsSUFBSSxHQU1sQjtJQVRBLEFBS0MsaUJBTEksQ0FLSixDQUFDLENBQUM7TUFDQSxlQUFlLEVBQUUsU0FBUztNQUMxQixLQUFLLEV6RXhKSSxPQUFPLEd5RXlKakI7RUFHRixBQUFELG1CQUFRLENBQUM7SUFDUCxXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVqSmxNSCxRQUF1QjtJaUptTTdCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLEtBQUssRXpFaEtNLE9BQU87SXlFaUtsQixPQUFPLEVBQUUsV0FBVztJQUNwQixXQUFXLEVBQUUsTUFBTSxHQXNCcEI7SUFwQkMsQUFFRSxrQkFGZ0IsQ0FSbkIsbUJBQU8sQUFVSCxRQUFRO0lBRFgscUJBQXFCLENBVHRCLG1CQUFPLEFBVUgsUUFBUSxDQUFDO01BQ1IsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLE9BQU8sRUFBRSxFQUFFO01BQ1gsbUJBQW1CLEVBQUUsTUFBTTtNQUMzQixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLGVBQWUsRUFBRSxPQUFPO01BQ3hCLGdCQUFnQixFQUFFLHVDQUF1QztNQUN6RCxZQUFZLEVBQUUsR0FBRyxHQUNsQjtJQUdILEFBQ0UscUJBRG1CLENBdkJ0QixtQkFBTyxBQXdCSCxRQUFRLENBQUM7TUFDUixnQkFBZ0IsRUFBRSx3Q0FBd0MsR0FDM0Q7RUFJSixBQUFELGlCQUFNLENBQUM7SUFDTCxTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSSxHQXdFWjtJQXRFQyxBQUFBLHFCQUFxQixDQUp0QixpQkFBSyxDQUlvQjtNQUN0QixTQUFTLEVBQUUsS0FBSyxHQUtqQjtNakYvSkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRaUZ5SnBDLEFBQUEscUJBQXFCLENBSnRCLGlCQUFLLENBSW9CO1VBSXBCLFNBQVMsRUFBRSxJQUFJLEdBRWxCO0lBRUEsQUFBRCxzQkFBTSxDQUFDO01BQ0wsT0FBTyxFQUFFLElBQUk7TUFDYixxQkFBcUIsRUFBRSxjQUFjO01BQ3JDLEdBQUcsRUFBRSxNQUFNLEdBS1o7TWpGektELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWlGaUtsQyxBQUFELHNCQUFNLENBQUM7VUFNSCxPQUFPLEVBQUUsS0FBSyxHQUVqQjtJQXBCRixBQXNCQyxpQkF0QkksQ0FzQkosS0FBSyxDQUFDO01BQ0osU0FBUyxFakpyUEwsU0FBdUI7TWlKc1AzQixXQUFXLEVBQUUsTUFBTTtNQUNuQixLQUFLLEV6RW5OSSxPQUFPLEd5RW9OakI7SUExQkYsQUE0QkMsaUJBNUJJLENBNEJKLGNBQWMsQ0FBQztNQUNiLEtBQUssRXpFdk5JLE9BQU8sR3lFd05qQjtJQTlCRixBQWdDQyxpQkFoQ0ksQ0FnQ0osS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtJQWhDUCxpQkFBSyxDQWlDSixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO01BQ3JCLFlBQVksRXpFNU5ILE9BQU8sR3lFNk5qQjtJQW5DRixBQXFDQyxpQkFyQ0ksQ0FxQ0osWUFBWSxDQUFDO01BQ1gsT0FBTyxFQUFFLElBQUksR0FDZDtJQXZDRixBQXlDQyxpQkF6Q0ksQ0F5Q0osWUFBWSxDQUFDO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEV6RWhPRixJQUFJO015RWlPUCxnQkFBZ0IsRXpFdE9QLE9BQU87TXlFdU9oQixnQkFBZ0IsRUFBRSxnQ0FBZ0M7TUFDbEQsbUJBQW1CLEVBQUUscUJBQXFCO01BQzFDLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsU0FBUyxFako5UUwsSUFBdUI7TWlKK1EzQixXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVqSmhSTCxJQUF1QjtNaUppUjNCLGFBQWEsRWpKalJULE1BQXVCLEdpSmtSNUI7SUFwREYsQUFzREMsaUJBdERJLENBc0RKLFVBQVUsQ0FBQztNQUNULGFBQWEsRUFBRSxJQUFJLEdBa0JwQjtNQWhCQyxBQUFBLHFCQUFxQixDQXpEeEIsaUJBQUssQ0FzREosVUFBVSxDQUdnQjtRQUN0QixhQUFhLEVqSnhSWCxPQUF1QjtRaUp5UnpCLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7TUFFRCxBQUFBLGlCQUFpQixDQTlEcEIsaUJBQUssQ0FzREosVUFBVSxDQVFZO1FBQ2xCLGFBQWEsRWpKN1JYLFNBQXVCO1FpSjhSekIsVUFBVSxFQUFFLENBQUM7UUFDYixTQUFTLEVqSi9SUCxVQUF1QixHaUpnUzFCO01BRUQsQUFBQSwyQkFBMkIsQ0FwRTlCLGlCQUFLLENBc0RKLFVBQVUsQ0Fjc0I7UUFDNUIsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixXQUFXLEVBQUUsWUFBWSxHQUMxQjtFQUtKLEFBQUQsaUJBQU0sQ0FBQztJQUNMLFNBQVMsRWpKM1NILFNBQXVCO0lpSjRTN0IsZUFBZSxFQUFFLFNBQVMsR0FDM0I7RUExTEUsQUFBRCxrQkFBTyxDQTRMRDtJQUVOLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLFFBQVEsR0FLbkI7SWpGL09DLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWlGMENsQyxBQUFELGtCQUFPLENBNExEO1FBT0osT0FBTyxFQUFFLElBQUksR0FFaEI7RUFFQSxBQUFELGtCQUFPLENBQUM7SUFDTixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsZ0JBQWdCLEVBQUUsNkNBQTZDO0lBQy9ELE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDLEdBZVI7SWpGelFDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWlGaVByQyxBQUFELGtCQUFPLENBQUM7UUFZSixLQUFLLEVBQUUsSUFBSSxHQVlkO0lBeEJBLEFBZUMsa0JBZkssQUFlSixRQUFRLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLElBQUksRUFBRSxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osZ0JBQWdCLEV6RTVTUCxzQkFBTyxHeUU2U2pCO0VBR0YsQUFBRCxpQkFBTSxDQUFDO0lBQ0wsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFakp0VkgsUUFBdUI7SWlKdVY3QixPQUFPLEVBQUUsS0FBSztJQUNkLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRXpFclRNLE9BQU8sR3lFMFRuQjtJQVZBLEFBT0MsaUJBUEksQ0FPSixJQUFJLENBQUM7TUFDSCxXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUN6V0wsQUFBQSxpQkFBaUIsQ0FBQztFM0dpQmhCLFFBQVEsRTJHaEJVLEtBQUs7RTNHb0JuQixHQUFVLEUyR3BCVyxDQUFDO0UzR29CdEIsTUFBVSxFMkdwQmtCLENBQUM7RTNHb0I3QixJQUFVLEUyR3BCb0IsQ0FBQztFeEdTakMsTUFBTSxFd0dSVyxHQUFHO0V4R2dCcEIsS0FBSyxFd0doQk8sSUFBSTtFQUNsQixNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE9BQU8sRUFBRSxHQUFHLEdBQ2I7O0FBR0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsTUFBTTtFQUNmLFFBQVEsRUFBRSxRQUFRO0V4Rm9CbEIsU0FBUyxFd0ZsQmdCLE1BQU07RXhGb0I3QixXQUFJLEVBQUUsSUFBSTtFQUNWLFlBQUssRUFBRSxJQUFJLEd3RklkO0VBN0JELEFqSEZFLGlCaUhFZSxBakhGZCxPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFaUhGSCxBakhGRSxpQmlIRWUsQWpIRmQsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RWlIRkgsQUFNRSxpQkFOZSxDQU1mLGFBQWEsQ0FBQztJQUNaLFFBQVEsRUFBRSxRQUFRLEdBQ25CO0VsRm9FQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lrRjVFeEMsQUFBQSxpQkFBaUIsQ0FBQztNeEZzQmhCLFNBQVMsRXdGWGtCLEtBQUs7TXhGYTlCLFdBQUksRUFBRSxJQUFJO01BQ1YsWUFBSyxFQUFFLElBQUksR3dGSWQ7TUE3QkQsQWpIRkUsaUJpSEVlLEFqSEZkLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lrRjVFeEMsQUFBQSxpQkFBaUIsQ0FBQztNQWVkLE9BQU8sRUFBRSxZQUFZO014Rk92QixTQUFTLEV3Rk5rQixLQUFLO014RlE5QixXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJLEd3RklkO01BN0JELEFqSEZFLGlCaUhFZSxBakhGZCxPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0Y1RXZDLEFBQUEsaUJBQWlCLENBQUM7TUFvQmQsT0FBTyxFQUFFLE1BQU07TXhGRWpCLFNBQVMsRXdGRGtCLEtBQUs7TXhGRzlCLFdBQUksRUFBRSxJQUFJO01BQ1YsWUFBSyxFQUFFLElBQUksR3dGSWQ7TUE3QkQsQWpIRkUsaUJpSEVlLEFqSEZkLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRjVFdkMsQUFBQSxpQkFBaUIsQ0FBQztNQXlCZCxRQUFRLEVBQUUsTUFBTTtNQUNoQixPQUFPLEVBQUUsV0FBVztNQUNwQixLQUFLLEVBQUUsSUFBSSxHQUVkOztBQUdELEFBTU0sYUFOTyxBQUVWLE1BQU0sQ0FFTCxlQUFlLEFBRVosTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RXhHdENmLE1BQU0sRXdHdUNZLElBQUk7RXhHL0J0QixLQUFLLEV3RytCYSxJQUFJO0UxR3pDbEIsaUJBQW9CLEUwRzBDRCxVQUFVO0UxR3JDN0IsY0FBaUIsRTBHcUNFLFVBQVU7RTFHaEM3QixhQUFnQixFMEdnQ0csVUFBVTtFMUczQjdCLFlBQWUsRTBHMkJJLFVBQVU7RTFHdEI3QixTQUFZLEUwR3NCTyxVQUFVO0VBQzdCLFVBQVUsRTFFckJBLE9BQU87RTBFc0JqQixPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxHQUFHO0UzR3BDeEIsUUFBUSxFMkdxQ2dCLFFBQVE7RTNHakM1QixHQUFVLEUyR2lDb0IsSUFBSTtFM0dqQ2xDLEtBQVUsRTJHaUN5QixJQUFJO0UxRzlDckMsa0JBQW9CLEUwRytDQSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7RTFHMUN0QyxlQUFpQixFMEcwQ0csR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0UxRzNCdEMsVUFBWSxFMEcyQlEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ3ZDOztBbEY2QkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFa0Y1Q3hDLEFBb0JNLGFBcEJPLEFBRVYsTUFBTSxDQWtCSCxhQUFhLENBQUM7SUFDWixJQUFJLEVBQUUsTUFBTSxHQUNiO0VBdEJQLEFBd0JNLGFBeEJPLEFBRVYsTUFBTSxDQXNCSCxlQUFlLENBQUM7SXJGckJwQixXQUE2QixFQUFTLFNBQXNGO0lxRnVCdEgsT0FBTyxFQUFFLHNCQUFzQixHQUNoQzs7QWxGaUJILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RWtGNUN4QyxBQW9CTSxhQXBCTyxBQUVWLE1BQU0sQ0FrQkgsYUFBYSxDQVlDO0lBQ1osR0FBRyxFQUFFLEtBQUs7SUFDVixJQUFJLEVBQUUsTUFBTSxHQUNiO0VBbkNQLEFBd0JNLGFBeEJPLEFBRVYsTUFBTSxDQXNCSCxlQUFlLENBYUM7SXJGbENwQixXQUE2QixFQUFTLFFBQXNGLEdxRm9Ddkg7O0FsRktILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtGNUN2QyxBQW9CTSxhQXBCTyxBQUVWLE1BQU0sQ0FrQkgsYUFBYSxDQXdCQztJQUNaLElBQUksRUFBRSxLQUFLO0lBQ1gsR0FBRyxFQUFFLE9BQU87SUFDWixNQUFNLEVBQUUsTUFBTSxHQUNmO0VBaERQLEFBd0JNLGFBeEJPLEFBRVYsTUFBTSxDQXNCSCxlQUFlLENBMEJDO0lBQ2QsV0FBVyxFQUFFLEtBQUs7SUFDbEIsT0FBTyxFQUFFLHNCQUFzQixHQUtoQztJQXpEUCxBQU1NLGFBTk8sQUFFVixNQUFNLENBRUwsZUFBZSxBQUVaLE1BQU0sQ0FnREc7TUFDTixLQUFLLEVBQUUsSUFBSSxHQUNaOztBbEZaTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VrRjVDdkMsQUFFRSxhQUZXLEFBRVYsTUFBTSxDQUFDO0lBMkRKLGFBQWEsRUFBRSxLQUFLLEdBZXZCO0lBNUVILEFBb0JNLGFBcEJPLEFBRVYsTUFBTSxDQWtCSCxhQUFhLENBMkNDO01BQ1osSUFBSSxFQUFFLEtBQUs7TUFDWCxNQUFNLEVBQUUsT0FBTztNQUNmLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7SUFuRVAsQUFNTSxhQU5PLEFBRVYsTUFBTSxDQUVMLGVBQWUsQUFFWixNQUFNLENBK0RlO014R3BHeEIsTUFBTSxFd0dxR1ksSUFBSTtNeEc3RnRCLEtBQUssRXdHNkZhLElBQUk7TUFDbEIsR0FBRyxFQUFFLElBQUk7TUFDVCxLQUFLLEVBQUUsT0FBTztNQUNkLElBQUksRUFBRSxHQUFHLEdBQ1Y7O0FBMUVQLEFBZ0ZJLGFBaEZTLEFBOEVWLE1BQU0sQ0FFTCxlQUFlLENBQUM7RUFDZCxVQUFVLEVBQUUsS0FBSyxHQUNsQjs7QWxGdENELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RWtGNUN4QyxBQWdGSSxhQWhGUyxBQThFVixNQUFNLENBRUwsZUFBZSxDQU1HO0lBQ2QsTUFBTSxFQUFFLGVBQWUsR0FDeEI7O0FsRjVDSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VrRjVDeEMsQUFnRkksYUFoRlMsQUE4RVYsTUFBTSxDQUVMLGVBQWUsQ0FhRztJQUNkLE1BQU0sRUFBRSxlQUFlLEdBQ3hCO0VBL0ZQLEFBaUdNLGFBakdPLEFBOEVWLE1BQU0sQ0FtQkgsYUFBYSxDQUFDO0lBQ1osS0FBSyxFQUFFLEtBQUssR0FDYjs7QWxGdkRILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtGNUN2QyxBQWdGSSxhQWhGUyxBQThFVixNQUFNLENBRUwsZUFBZSxDQXdCRztJQUNkLE1BQU0sRUFBRSxlQUFlLEdBTXhCO0lBL0dQLEFBMkdRLGFBM0dLLEFBOEVWLE1BQU0sQ0EwQkgsZUFBZSxBQUdaLE1BQU0sQ0FBQztNQUNOLEdBQUcsRUFBRSxLQUFLO01BQ1YsSUFBSSxFQUFFLElBQUksR0FDWDtFQTlHVCxBQWlHTSxhQWpHTyxBQThFVixNQUFNLENBbUJILGFBQWEsQ0FnQkM7SUFDWixHQUFHLEVBQUUsTUFBTTtJQUNYLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FsRnhFSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VrRjVDdkMsQUE4RUUsYUE5RVcsQUE4RVYsTUFBTSxDQUFDO0lBMENKLGFBQWEsRUFBRSxLQUFLLEdBY3ZCO0lBdElILEFBaUdNLGFBakdPLEFBOEVWLE1BQU0sQ0FtQkgsYUFBYSxDQXlCQztNQUNaLElBQUksRUFBRSxPQUFPO01BQ2IsS0FBSyxFQUFFLEtBQUs7TUFDWixHQUFHLEVBQUUsTUFBTSxHQUNaO0lBOUhQLEFBMkdRLGFBM0dLLEFBOEVWLE1BQU0sQ0EwQkgsZUFBZSxBQUdaLE1BQU0sQ0FxQmE7TXhHL0p4QixNQUFNLEV3R2dLWSxJQUFJO014R3hKdEIsS0FBSyxFd0d3SmEsSUFBSTtNQUNsQixHQUFHLEVBQUUsR0FBRztNQUNSLElBQUksRUFBRSxJQUFJLEdBQ1g7O0FBcElQLEFBd0lFLGFBeElXLEFBd0lWLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJLEdBMkRqQjtFbEZ4SkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJa0Y1Q3hDLEFBNklNLGFBN0lPLEFBd0lWLE1BQU0sQ0FLSCxlQUFlLENBQUM7TXJGMUlwQixXQUE2QixFQUFTLFNBQXNGO01xRjRJdEgsT0FBTyxFQUFFLHVCQUF1QixHQUNqQztJQWhKUCxBQWtKTSxhQWxKTyxBQXdJVixNQUFNLENBVUgsYUFBYSxDQUFDO01BQ1osSUFBSSxFQUFFLE1BQU0sR0FDYjtFbEZ4R0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJa0Y1Q3hDLEFBd0lFLGFBeElXLEFBd0lWLE1BQU0sQ0FBQztNQWdCSixVQUFVLEVBQUUsSUFBSSxHQTRDbkI7TUFwTUgsQUE2SU0sYUE3SU8sQUF3SVYsTUFBTSxDQUtILGVBQWUsQ0FhQztRckZ2SnBCLFdBQTZCLEVBQVMsUUFBc0Y7UXFGeUp0SCxPQUFPLEVBQUUsdUJBQXVCLEdBQ2pDO0VsRmpISCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRjVDdkMsQUF3SUUsYUF4SVcsQUF3SVYsTUFBTSxDQUFDO01BeUJKLFVBQVUsRUFBRSxLQUFLLEdBbUNwQjtNQXBNSCxBQTZJTSxhQTdJTyxBQXdJVixNQUFNLENBS0gsZUFBZSxDQXNCQztRQUNkLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLE9BQU8sRUFBRSx1QkFBdUIsR0FNakM7UUEzS1AsQUF1S1EsYUF2S0ssQUF3SVYsTUFBTSxDQTJCSCxlQUFlLEFBSVosTUFBTSxDQUFDO1VBQ04sR0FBRyxFQUFFLElBQUk7VUFDVCxLQUFLLEVBQUUsS0FBSyxHQUNiO01BMUtULEFBa0pNLGFBbEpPLEFBd0lWLE1BQU0sQ0FVSCxhQUFhLENBMkJDO1FBQ1osR0FBRyxFQUFFLE1BQU07UUFDWCxJQUFJLEVBQUUsSUFBSSxHQUNYO0VsRnBJSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRjVDdkMsQUF3SUUsYUF4SVcsQUF3SVYsTUFBTSxDQUFDO01BNENKLFVBQVUsRUFBRSxDQUFDO01BQ2IsYUFBYSxFQUFFLEtBQUssR0FldkI7TUFwTUgsQUFrSk0sYUFsSk8sQUF3SVYsTUFBTSxDQVVILGFBQWEsQ0FxQ0M7UUFDWixJQUFJLEVBQUUsS0FBSztRQUNYLEdBQUcsRUFBRSxNQUFNLEdBQ1o7TUExTFAsQUF1S1EsYUF2S0ssQUF3SVYsTUFBTSxDQTJCSCxlQUFlLEFBSVosTUFBTSxDQXFCYTtReEczTnhCLE1BQU0sRXdHNE5ZLElBQUk7UXhHcE50QixLQUFLLEV3R29OYSxJQUFJO1FBQ2xCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsR0FBRztRQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBbE1QLEFBc01FLGFBdE1XLEFBc01WLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJLEdBd0VqQjtFQS9RSCxBQXlNSSxhQXpNUyxBQXNNVixNQUFNLENBR0wsYUFBYSxDQUFDO0lBQ1osTUFBTSxFQUFFLEtBQUssR0FDZDtFQTNNTCxBQTZNSSxhQTdNUyxBQXNNVixNQUFNLENBT0wsZUFBZSxBQUFBLE1BQU0sQ0FBQztJeEc1T3RCLE1BQU0sRXdHNk9VLElBQUk7SXhHck9wQixLQUFLLEV3R3FPVyxJQUFJO0kzR3RPdEIsUUFBUSxFMkd1T2MsUUFBUTtJM0duTzFCLEdBQVUsRTJHbU9rQixLQUFLO0kzR25PakMsS0FBVSxFMkdtT3dCLE9BQU87STNHbk96QyxNQUFVLEUyR21PZ0MsT0FBTztJM0duT2pELElBQVUsRTJHbU93QyxJQUFJLEdBQ3ZEO0VsRnBLRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lrRjVDeEMsQUFzTUUsYUF0TVcsQUFzTVYsTUFBTSxDQUFDO01BYUosVUFBVSxFQUFFLENBQUMsR0E0RGhCO01BL1FILEFBeU1JLGFBek1TLEFBc01WLE1BQU0sQ0FHTCxhQUFhLENBWUc7UUFDWixLQUFLLEVBQUUsS0FBSyxHQUNiO01Bdk5QLEFBeU5NLGFBek5PLEFBc01WLE1BQU0sQ0FtQkgsZUFBZSxDQUFDO1FBQ2QsV0FBVyxFQUFFLEtBQUssR0FDbkI7RWxGL0tILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWtGNUN4QyxBQXNNRSxhQXRNVyxBQXNNVixNQUFNLENBQUM7TUF5QkosVUFBVSxFQUFFLEtBQUssR0FnRHBCO01BL1FILEFBeU1JLGFBek1TLEFBc01WLE1BQU0sQ0FHTCxhQUFhLENBd0JHO1FBQ1osS0FBSyxFQUFFLE1BQU07UUFDYixNQUFNLEVBQUUsS0FBSyxHQUNkO01BcE9QLEFBeU5NLGFBek5PLEFBc01WLE1BQU0sQ0FtQkgsZUFBZSxDQWFDO1FBQ2QsV0FBVyxFQUFFLEtBQUssR0FDbkI7RWxGNUxILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtGNUN2QyxBQXNNRSxhQXRNVyxBQXNNVixNQUFNLENBQUM7TUFzQ0osVUFBVSxFQUFFLEtBQUssR0FtQ3BCO01BL1FILEFBeU1JLGFBek1TLEFBc01WLE1BQU0sQ0FHTCxhQUFhLENBcUNHO1FBQ1osS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsTUFBTTtRQUNYLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO01BbFBQLEFBeU5NLGFBek5PLEFBc01WLE1BQU0sQ0FtQkgsZUFBZSxDQTJCQztRQUNkLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLE9BQU8sRUFBRSx1QkFBdUIsR0FNakM7UUE1UFAsQUE2TUksYUE3TVMsQUFzTVYsTUFBTSxDQU9MLGVBQWUsQUFBQSxNQUFNLENBMkNUO1VBQ04sR0FBRyxFQUFFLElBQUk7VUFDVCxJQUFJLEVBQUUsSUFBSSxHQUNYO0VsRi9NTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRjVDdkMsQUFzTUUsYUF0TVcsQUFzTVYsTUFBTSxDQUFDO01BMERKLFVBQVUsRUFBRSxDQUFDO01BQ2IsYUFBYSxFQUFFLEtBQUssR0FjdkI7TUEvUUgsQUF5TUksYUF6TVMsQUFzTVYsTUFBTSxDQUdMLGFBQWEsQ0EwREc7UUFDWixLQUFLLEVBQUUsS0FBSztRQUNaLEdBQUcsRUFBRSxNQUFNLEdBQ1o7TUF0UVAsQUE2TUksYUE3TVMsQUFzTVYsTUFBTSxDQU9MLGVBQWUsQUFBQSxNQUFNLENBMkRHO1F4R3ZTeEIsTUFBTSxFd0d3U1ksSUFBSTtReEdoU3RCLEtBQUssRXdHZ1NhLElBQUk7UUFDbEIsR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsR0FBRztRQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBN1FQLEFBaVJFLGFBalJXLEFBaVJWLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJLEdBMEdqQjtFQTVYSCxBQW9SSSxhQXBSUyxBQWlSVixNQUFNLENBR0wsYUFBYSxDQUFDO0lBQ1osR0FBRyxFQUFFLElBQUksR0FTVjtJQTlSTCxBQXVSTSxhQXZSTyxBQWlSVixNQUFNLENBR0wsYUFBYSxBQUdWLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO01BQ1gsYUFBYSxFQUFFLEdBQUc7TXhHeFR0QixNQUFNLEV3R3lUWSxJQUFJO014R2pUdEIsS0FBSyxFd0dpVGEsSUFBSTtNQUNsQixVQUFVLEVBQUUsdUJBQXVCO00zR25UekMsUUFBUSxFMkdvVGdCLFFBQVE7TTNHaFQ1QixNQUFVLEUyR2dUOEIsSUFBSTtNM0doVDVDLElBQVUsRTJHZ1RtQyxHQUFHLEdBQy9DO0VBN1JQLEFBZ1NJLGFBaFNTLEFBaVJWLE1BQU0sQ0FlTCxlQUFlLEFBQUEsTUFBTSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxHQUFHO0l4R2hVZCxNQUFNLEV3R2lVVSxJQUFJO0l4R3pUcEIsS0FBSyxFd0d5VFcsSUFBSTtJM0cxVHRCLFFBQVEsRTJHMlRjLFFBQVE7STNHdlQxQixHQUFVLEUyR3VUa0IsS0FBSztJM0d2VGpDLEtBQVUsRTJHdVR3QixPQUFPO0kzR3ZUekMsTUFBVSxFMkd1VGdDLE9BQU87STNHdlRqRCxJQUFVLEUyR3VUeUMsS0FBSSxHQUN4RDtFbEZ4UEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJa0Y1Q3hDLEFBaVJFLGFBalJXLEFBaVJWLE1BQU0sQ0FBQztNQXNCSixVQUFVLEVBQUUsSUFBSSxHQXFGbkI7TUE1WEgsQUFvUkksYUFwUlMsQUFpUlYsTUFBTSxDQUdMLGFBQWEsQ0FxQkc7UUFDWixJQUFJLEVBQUUsS0FBSyxHQUNaO01BM1NQLEFBNlNNLGFBN1NPLEFBaVJWLE1BQU0sQ0E0QkgsZUFBZSxDQUFDO1FyRjFTcEIsV0FBNkIsRUFBUyxRQUFzRjtRcUY0U3RILE9BQU8sRUFBRSx1QkFBdUIsR0FDakM7RWxGcFFILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWtGNUN4QyxBQWlSRSxhQWpSVyxBQWlSVixNQUFNLENBQUM7TUFtQ0osVUFBVSxFQUFFLElBQUksR0F3RW5CO01BNVhILEFBb1JJLGFBcFJTLEFBaVJWLE1BQU0sQ0FHTCxhQUFhLENBa0NHO1FBQ1osR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTSxHQU1iO1FBOVRQLEFBdVJNLGFBdlJPLEFBaVJWLE1BQU0sQ0FHTCxhQUFhLEFBR1YsTUFBTSxDQW1DRztVQUNOLE1BQU0sRUFBRSxLQUFLO1VBQ2IsSUFBSSxFQUFFLElBQUksR0FDWDtNQTdUVCxBQTZTTSxhQTdTTyxBQWlSVixNQUFNLENBNEJILGVBQWUsQ0FtQkM7UXJGN1RwQixXQUE2QixFQUFTLFFBQXNGLEdxRm9Vdkg7UUF2VVAsQUFnU0ksYUFoU1MsQUFpUlYsTUFBTSxDQWVMLGVBQWUsQUFBQSxNQUFNLENBbUNUO1VBQ04sR0FBRyxFQUFFLEtBQUs7VUFDVixJQUFJLEVBQUUsSUFBSSxHQUNYO0VsRjFSTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRjVDdkMsQUFpUkUsYUFqUlcsQUFpUlYsTUFBTSxDQUFDO01BMERKLFVBQVUsRUFBRSxLQUFLLEdBaURwQjtNQTVYSCxBQW9SSSxhQXBSUyxBQWlSVixNQUFNLENBR0wsYUFBYSxDQXlERztRQUNaLElBQUksRUFBRSxJQUFJO1FBQ1YsR0FBRyxFQUFFLE1BQU0sR0FRWjtRQXZWUCxBQXVSTSxhQXZSTyxBQWlSVixNQUFNLENBR0wsYUFBYSxBQUdWLE1BQU0sQ0EwREc7VUFDTixHQUFHLEVBQUUsQ0FBQztVQUNOLEtBQUssRUFBRSxLQUFLO1VBQ1osSUFBSSxFQUFFLE9BQU87VUFDYixNQUFNLEVBQUUsT0FBTyxHQUNoQjtNQXRWVCxBQTZTTSxhQTdTTyxBQWlSVixNQUFNLENBNEJILGVBQWUsQ0E0Q0M7UUFDZCxXQUFXLEVBQUUsS0FBSztRQUNsQixPQUFPLEVBQUUsdUJBQXVCLEdBT2pDO1FBbFdQLEFBZ1NJLGFBaFNTLEFBaVJWLE1BQU0sQ0FlTCxlQUFlLEFBQUEsTUFBTSxDQTZEVDtVQUNOLEdBQUcsRUFBRSxLQUFLO1VBQ1YsSUFBSSxFQUFFLE9BQU87VUFDYixLQUFLLEVBQUUsS0FBSyxHQUNiO0VsRnJUTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRjVDdkMsQUFpUkUsYUFqUlcsQUFpUlYsTUFBTSxDQUFDO01BcUZKLFVBQVUsRUFBRSxDQUFDO01BQ2IsYUFBYSxFQUFFLEtBQUssR0FxQnZCO01BNVhILEFBb1JJLGFBcFJTLEFBaVJWLE1BQU0sQ0FHTCxhQUFhLENBcUZHO1FBQ1osSUFBSSxFQUFFLEtBQUs7UUFDWCxHQUFHLEVBQUUsTUFBTSxHQVFaO1FBblhQLEFBdVJNLGFBdlJPLEFBaVJWLE1BQU0sQ0FHTCxhQUFhLEFBR1YsTUFBTSxDQXNGRztVQUNOLEdBQUcsRUFBRSxHQUFHO1VBQ1IsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsR0FBRztVeEcvWWxCLE1BQU0sRXdHZ1pjLElBQUk7VXhHeFl4QixLQUFLLEV3R3dZZSxJQUFJLEdBQ25CO01BbFhULEFBZ1NJLGFBaFNTLEFBaVJWLE1BQU0sQ0FlTCxlQUFlLEFBQUEsTUFBTSxDQXFGRztReEdwWnhCLE1BQU0sRXdHcVpZLElBQUk7UXhHN1l0QixLQUFLLEV3RzZZYSxJQUFJO1FBQ2xCLEdBQUcsRUFBRSxLQUFLO1FBQ1YsSUFBSSxFQUFFLEdBQUc7UUFDVCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQTFYUCxBQWdZSSxhQWhZUyxBQThYVixXQUFXLENBRVYsYUFBYSxDQUFDO0UzR3haaEIsUUFBUSxFMkd5WmMsUUFBUTtFM0dyWjFCLEdBQVUsRTJHcVprQixDQUFDO0UzR3JaN0IsSUFBVSxFMkdxWjhCLENBQUMsR0FDMUM7O0FBbFlMLEFBb1lJLGFBcFlTLEFBOFhWLFdBQVcsQ0FNVixlQUFlLENBQUM7RXJGallsQixXQUE2QixFQUFTLFNBQXNGO0VDdEI1SCxPQUFPLEVvRnlaVSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBVXBDO0VBaFpMLEFBd1lNLGFBeFlPLEFBOFhWLFdBQVcsQ0FNVixlQUFlLEFBSVosTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SXhHeGFmLE1BQU0sRXdHeWFZLElBQUk7SXhHamF0QixLQUFLLEV3R2lhYSxJQUFJO0lBQ2xCLFVBQVUsRTFFdFpBLE9BQU87STBFdVpqQixhQUFhLEVBQUUsR0FBRztJM0dwYXhCLFFBQVEsRTJHcWFnQixRQUFRO0kzR2phNUIsR0FBVSxFMkdpYW9CLElBQUk7STNHamFsQyxLQUFVLEUyR2lheUIsSUFBSTtJMUc5YXJDLGtCQUFvQixFMEcrYUEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0kxRzFhdEMsZUFBaUIsRTBHMGFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJMUczWnRDLFVBQVksRTBHMlpRLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUN2Qzs7QUEvWVAsQUFxWkksYUFyWlMsQUFtWlYsWUFBWSxDQUVYLGFBQWEsQ0FBQztFM0c3YWhCLFFBQVEsRTJHOGFjLFFBQVE7RTNHMWExQixLQUFVLEUyRzBhdUIsQ0FBQztFM0cxYWxDLE1BQVUsRTJHMGF5QixDQUFDLEdBQ3JDOztBQXZaTCxBQXlaSSxhQXpaUyxBQW1aVixZQUFZLENBTVgsZUFBZSxDQUFDO0VyRnRabEIsV0FBNkIsRUFBUyxRQUFzRjtFQ3RCNUgsT0FBTyxFb0Y4YVUsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQWNyQztFQXphTCxBQTZaTSxhQTdaTyxBQW1aVixZQUFZLENBTVgsZUFBZSxDQUliLFFBQVEsQ0FBQztJQUNQLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0VBL1pQLEFBaWFNLGFBamFPLEFBbVpWLFlBQVksQ0FNWCxlQUFlLEFBUVosTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxhQUFhLEVBQUUsR0FBRztJeEdsY3RCLE1BQU0sRXdHbWNZLElBQUk7SXhHM2J0QixLQUFLLEV3RzJiYSxJQUFJO0lBQ2xCLFVBQVUsRTFFaGJBLE9BQU87SWpDYnZCLFFBQVEsRTJHOGJnQixRQUFRO0kzRzFiNUIsR0FBVSxFMkcwYm9CLEtBQUs7STNHMWJuQyxJQUFVLEUyRzBib0MsSUFBSTtJMUd2Y2hELGtCQUFvQixFMEd3Y0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0kxR25jdEMsZUFBaUIsRTBHbWNHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtJMUdwYnRDLFVBQVksRTBHb2JRLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUN2Qzs7QUFNUCxBQUFBLGFBQWEsQ0FBQztFeEc3Y1YsTUFBTSxFd0c4Y00sS0FBSztFeEd0Y2pCLEtBQUssRXdHc2NPLEtBQUs7RTFHaGRiLGlCQUFvQixFMEdpZFAsVUFBVTtFMUc1Y3ZCLGNBQWlCLEUwRzRjSixVQUFVO0UxR3ZjdkIsYUFBZ0IsRTBHdWNILFVBQVU7RTFHbGN2QixZQUFlLEUwR2tjRixVQUFVO0UxRzdidkIsU0FBWSxFMEc2YkMsVUFBVTtFQUM3QixPQUFPLEVBQUUsR0FBRztFQUNaLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtFMUd2ZHJCLGtCQUFvQixFMEd3ZE4sR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRO0UxR25kakMsZUFBaUIsRTBHbWRILEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUTtFMUdwY2pDLFVBQVksRTBHb2NFLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUTtFQUN2QyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsR0E2RHREO0VBM0RDLEFBQUEsT0FBTyxDQVpULGFBQWEsQ0FZRDtJQUNSLGNBQWMsRUFBRSxtQkFBbUI7SUFDbkMsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixtQkFBbUIsRUFBRSxRQUFRO0lBQzdCLHlCQUF5QixFQUFFLENBQUM7SUFDNUIseUJBQXlCLEVBQUUsUUFBUSxHQUNwQztFQUVELEFBQUEsUUFBUSxDQXBCVixhQUFhLENBb0JBO0lBQ1QsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxrQkFBa0IsRUFBRSxFQUFFO0lBQ3RCLG1CQUFtQixFQUFFLFFBQVE7SUFDN0IseUJBQXlCLEVBQUUsQ0FBQztJQUM1Qix5QkFBeUIsRUFBRSxRQUFRLEdBQ3BDO0VsRjVaQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lrRmtZeEMsQUFBQSxhQUFhLENBQUM7TXhHN2NWLE1BQU0sRXdHMGVRLEtBQUs7TXhHbGVuQixLQUFLLEV3R2tlUyxLQUFLLEdBMEN0QjtFbEZ6Y0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0ZrWXZDLEFBQUEsYUFBYSxDQUFDO014RzdjVixNQUFNLEV3RzhlUSxLQUFLO014R3RlbkIsS0FBSyxFd0dzZVMsS0FBSyxHQXNDdEI7RWxGemNHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtGa1l2QyxBQUFBLGFBQWEsQ0FBQztNeEc3Y1YsTUFBTSxFd0drZlEsS0FBSztNeEcxZW5CLEtBQUssRXdHMGVTLEtBQUssR0FrQ3RCOztBQS9CQyxVQUFVLENBQVYsbUJBQVU7RUFDUixFQUFFO0lBQ0EsT0FBTyxFQUFFLEdBQUc7RUFFZCxHQUFHO0lBQ0QsT0FBTyxFQUFFLEdBQUc7STFHNWZWLGlCQUFvQixFMEc2ZkgsVUFBVTtJMUd4ZjNCLGNBQWlCLEUwR3dmQSxVQUFVO0kxR25mM0IsYUFBZ0IsRTBHbWZDLFVBQVU7STFHOWUzQixZQUFlLEUwRzhlRSxVQUFVO0kxR3plM0IsU0FBWSxFMEd5ZUssVUFBVTtFQUUvQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUM7STFHaGdCUixpQkFBb0IsRTBHaWdCSCxRQUFRO0kxRzVmekIsY0FBaUIsRTBHNGZBLFFBQVE7STFHdmZ6QixhQUFnQixFMEd1ZkMsUUFBUTtJMUdsZnpCLFlBQWUsRTBHa2ZFLFFBQVE7STFHN2V6QixTQUFZLEUwRzZlSyxRQUFRO0lBQzNCLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3Qjs7QUFJekQsVUFBVSxDQUFWLG9CQUFVO0VBQ1IsRUFBRSxFQUFFLEdBQUc7SUFDTCxPQUFPLEVBQUUsQ0FBQztJMUd4Z0JSLGlCQUFvQixFMEd5Z0JILFFBQVE7STFHcGdCekIsY0FBaUIsRTBHb2dCQSxRQUFRO0kxRy9mekIsYUFBZ0IsRTBHK2ZDLFFBQVE7STFHMWZ6QixZQUFlLEUwRzBmRSxRQUFRO0kxR3JmekIsU0FBWSxFMEdxZkssUUFBUTtJQUMzQixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0I7RUFFdkQsR0FBRztJQUNELE9BQU8sRUFBRSxHQUFHO0lBQ1osVUFBVSxFQUFFLElBQUk7STFHOWdCZCxpQkFBb0IsRTBHK2dCSCxVQUFVO0kxRzFnQjNCLGNBQWlCLEUwRzBnQkEsVUFBVTtJMUdyZ0IzQixhQUFnQixFMEdxZ0JDLFVBQVU7STFHaGdCM0IsWUFBZSxFMEdnZ0JFLFVBQVU7STFHM2YzQixTQUFZLEUwRzJmSyxVQUFVO0VBRS9CLElBQUk7SUFDRixPQUFPLEVBQUUsR0FBRztJMUdsaEJWLGlCQUFvQixFMEdtaEJILFVBQVU7STFHOWdCM0IsY0FBaUIsRTBHOGdCQSxVQUFVO0kxR3pnQjNCLGFBQWdCLEUwR3lnQkMsVUFBVTtJMUdwZ0IzQixZQUFlLEUwR29nQkUsVUFBVTtJMUcvZjNCLFNBQVksRTBHK2ZLLFVBQVU7O0FBTW5DLEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsS0FBSyxHQTRSbEI7RUEvUkQsQUFLRSxlQUxhLENBS2IsZ0JBQWdCLENBQUM7SUFDZixPQUFPLEVBQUUsQ0FBQztJMUcvaEJOLGlCQUFvQixFMEdnaUJMLGVBQWU7STFHM2hCOUIsY0FBaUIsRTBHMmhCRixlQUFlO0kxR3RoQjlCLGFBQWdCLEUwR3NoQkQsZUFBZTtJMUdqaEI5QixZQUFlLEUwR2loQkEsZUFBZTtJMUc1Z0I5QixTQUFZLEUwRzRnQkcsZUFBZTtJMUdoaUI5QixrQkFBb0IsRTBHaWlCSixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0kxRzVoQnhDLGVBQWlCLEUwRzRoQkQsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSztJMUc3Z0J4QyxVQUFZLEUwRzZnQkksR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUM3QztFQUVELEFBRUUsT0FGSyxDQVhULGVBQWUsQ0FhWCxnQkFBZ0IsQ0FBQztJQUNmLE9BQU8sRUFBRSxDQUFDO0kxR3ZpQlIsaUJBQW9CLEUwR3dpQkgsYUFBYTtJMUduaUI5QixjQUFpQixFMEdtaUJBLGFBQWE7STFHOWhCOUIsYUFBZ0IsRTBHOGhCQyxhQUFhO0kxR3poQjlCLFlBQWUsRTBHeWhCRSxhQUFhO0kxR3BoQjlCLFNBQVksRTBHb2hCSyxhQUFhLEdBTWpDO0lsRmplRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01rRnVkckMsQUFFRSxPQUZLLENBWFQsZUFBZSxDQWFYLGdCQUFnQixDQUFDO1FBS2IsR0FBRyxFQUFFLEdBQUc7UTFHM2lCUixpQkFBb0IsRTBHNGlCRCxnQkFBZ0I7UTFHdmlCbkMsY0FBaUIsRTBHdWlCRSxnQkFBZ0I7UTFHbGlCbkMsYUFBZ0IsRTBHa2lCRyxnQkFBZ0I7UTFHN2hCbkMsWUFBZSxFMEc2aEJJLGdCQUFnQjtRMUd4aEJuQyxTQUFZLEUwR3doQk8sZ0JBQWdCLEdBRXRDO0VBVkgsQUFZRSxPQVpLLENBWFQsZUFBZSxBQXVCVixPQUFPLENBQUM7SUFDUCxjQUFjLEVBQUUsNEJBQTRCO0lBQzVDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsbUJBQW1CLEVBQUUsUUFBUTtJQUM3Qix5QkFBeUIsRUFBRSxDQUFDO0lBQzVCLHlCQUF5QixFQUFFLFFBQVEsR0FDcEM7RUFuQkgsQUFxQkUsT0FyQkssQ0FYVCxlQUFlLEFBZ0NWLE1BQU0sQ0FBQztJQUNOLGNBQWMsRUFBRSwyQkFBMkI7SUFDM0Msa0JBQWtCLEVBQUUsRUFBRTtJQUN0QixlQUFlLEVBQUUsS0FBSztJQUN0QixtQkFBbUIsRUFBRSxRQUFRO0lBQzdCLHlCQUF5QixFQUFFLENBQUM7SUFDNUIseUJBQXlCLEVBQUUsUUFBUSxHQUNwQztFQUdILEFBRUUsUUFGTSxDQTFDVixlQUFlLENBNENYLGdCQUFnQixDQUFDO0kxR3JrQmIsaUJBQW9CLEUwR3NrQkgsZUFBZTtJMUdqa0JoQyxjQUFpQixFMEdpa0JBLGVBQWU7STFHNWpCaEMsYUFBZ0IsRTBHNGpCQyxlQUFlO0kxR3ZqQmhDLFlBQWUsRTBHdWpCRSxlQUFlO0kxR2xqQmhDLFNBQVksRTBHa2pCSyxlQUFlO0lBQ2xDLE9BQU8sRUFBRSxDQUFDO0kxR3ZrQlIsa0JBQW9CLEUwR3drQkYsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0kxR25rQnBDLGVBQWlCLEUwR21rQkMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0kxR3BqQnBDLFVBQVksRTBHb2pCTSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FDdkM7RUFOSCxBQVFFLFFBUk0sQ0ExQ1YsZUFBZSxBQWtEVixPQUFPLENBQUM7SUFDUCxjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsbUJBQW1CLEVBQUUsUUFBUTtJQUM3Qix5QkFBeUIsRUFBRSxDQUFDO0lBQzVCLHlCQUF5QixFQUFFLFFBQVEsR0FDcEM7RUFkSCxBQWdCRSxRQWhCTSxDQTFDVixlQUFlLEFBMERWLE1BQU0sQ0FBQztJQUNOLGNBQWMsRUFBRSw0QkFBNEI7SUFDNUMsa0JBQWtCLEVBQUUsRUFBRTtJQUN0QixtQkFBbUIsRUFBRSxRQUFRO0lBQzdCLHlCQUF5QixFQUFFLENBQUM7SUFDNUIseUJBQXlCLEVBQUUsUUFBUSxHQUNwQztFQWhFTCxBQW1FRSxlQW5FYSxBQW1FWixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLGFBQWEsRUFBRSxHQUFHO0kzR3JsQnBCLFFBQVEsRTJHc2xCWSxRQUFRO0kzR2xsQnhCLEdBQVUsRTJHa2xCZ0IsQ0FBQztJM0dsbEIzQixJQUFVLEUyR2tsQjRCLENBQUM7SXhHN2xCekMsTUFBTSxFd0c4bEJRLEtBQUs7SXhHdGxCbkIsS0FBSyxFd0dzbEJTLEtBQUs7SUFDbkIsVUFBVSxFMUVwbEJNLE9BQU87STBFcWxCdkIsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQTFFSCxBQTRFRSxlQTVFYSxDQTRFYixNQUFNLENBQUM7SUFDTCxTQUFTLEVsSmxtQkgsUUFBdUI7SWtKbW1CN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsS0FBSyxFMUU5bUJVLE9BQU8sRzBFK21CdkI7RUFwRkgsQUFzRkUsZUF0RmEsQ0FzRmIsVUFBVSxDQUFDO0lBQ1QsU0FBUyxFbEo1bUJILFFBQXVCO0lrSjZtQjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTFFam5CaUIsT0FBTztJMEVrbkI3QixjQUFjLEVBQUUsT0FBTztJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQTdGSCxBQStGRSxlQS9GYSxDQStGYixRQUFRLENBQUM7SUFDUCxTQUFTLEVsSnJuQkgsU0FBdUI7SWtKc25CN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFMUU1bkJlLE9BQU87STBFNm5CM0IsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFwR0gsQUFzR0UsZUF0R2EsQ0FzR2IsY0FBYyxDQUFDO0lBQ2IsU0FBUyxFbEo1bkJILFNBQXVCO0lrSjZuQjdCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTFFcG9CaUIsT0FBTztJMEVxb0I3QixNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQTlHSCxBQWdIRSxlQWhIYSxDQWdIYixRQUFRLENBQUM7SUFDUCxhQUFhLEVBQUUsSUFBSSxHQXlDcEI7SUExSkgsQUFtSEksZUFuSFcsQ0FnSGIsUUFBUSxDQUdOLEtBQUssRUFuSFQsZUFBZSxDQWdIYixRQUFRLENBR0MsUUFBUSxDQUFDO01BQ2QsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLEdBQUcsR0FDcEI7SUF0SEwsQUF3SEksZUF4SFcsQ0FnSGIsUUFBUSxDQVFOLEtBQUssQ0FBQztNeEcvb0JOLE1BQU0sRXdHZ3BCVSxJQUFJO014R3hvQnBCLEtBQUssRXdHd29CVyxJQUFJO01BQ2xCLFlBQVksRUFBRSxJQUFJO01BQ2xCLFVBQVUsRUFBRSw2Q0FBNkMsQ0FBQyxTQUFTLENBQUMsTUFBTTtNQUMxRSxlQUFlLEVBQUUsS0FBSyxHQU12QjtNQWxJTCxBQThITSxlQTlIUyxDQWdIYixRQUFRLENBUU4sS0FBSyxBQU1GLGlCQUFpQixDQUFDO1FBQ2pCLGdCQUFnQixFQUFFLHVDQUF1QyxHQUUxRDtJQWpJUCxBQW9JSSxlQXBJVyxDQWdIYixRQUFRLENBb0JOLFFBQVEsQ0FBQztNeEczcEJULE1BQU0sRXdHNHBCNEIsSUFBSTtNeEdwcEJ0QyxLQUFLLEV3R29wQlcsaUJBQWlCLEdBQ2hDO0lBdElMLEFBd0lJLGVBeElXLENBZ0hiLFFBQVEsQ0F3Qk4sS0FBSyxDQUFDO01BQ0osU0FBUyxFbEo5cEJMLFNBQXVCO01rSitwQjNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRTFFbnFCZSxPQUFPO00wRW9xQjNCLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLE1BQU0sRUFBRSxTQUFTLEdBQ2xCO0lBL0lMLEFBaUpJLGVBakpXLENBZ0hiLFFBQVEsQ0FpQ04sWUFBWSxDQUFDO01BQ1gsU0FBUyxFbEp2cUJMLFNBQXVCO01rSndxQjNCLEtBQUssRTFFNXFCZSxPQUFPO00wRTZxQjNCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0lBckpMLEFBdUpJLGVBdkpXLENBZ0hiLFFBQVEsQ0F1Q04scUJBQXFCLENBQUM7TUFDcEIsY0FBYyxFQUFFLFNBQVMsR0FDMUI7RWxGcm1CRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lrRjRjeEMsQUE4SkksZUE5SlcsQ0E4SlgsZ0JBQWdCLENBQUM7TUFDZixLQUFLLEVBQUUsS0FBSyxHQUNiO0VsRjVtQkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0Y0Y3ZDLEFBQUEsZUFBZSxDQUFDO01Bb0taLEtBQUssRUFBRSxLQUFLO01BQ1osVUFBVSxFQUFFLEtBQUssR0EwSHBCO01BL1JELEFBbUVFLGVBbkVhLEFBbUVaLE9BQU8sQ0FvR0c7UXhHOXJCVCxNQUFNLEV3RytyQlUsS0FBSztReEd2ckJyQixLQUFLLEV3R3VyQlcsS0FBSyxHQUNwQjtNQXpLTCxBQTRFRSxlQTVFYSxDQTRFYixNQUFNLENBK0ZHO1FBQ0wsU0FBUyxFbEpqc0JMLE9BQXVCLEdrSmtzQjVCO01BN0tMLEFBc0ZFLGVBdEZhLENBc0ZiLFVBQVUsQ0F5Rkc7UUFDVCxTQUFTLEVsSnJzQkwsTUFBdUI7UWtKc3NCM0IsYUFBYSxFQUFFLEdBQUcsR0FDbkI7TUFsTEwsQUErRkUsZUEvRmEsQ0ErRmIsUUFBUSxDQXFGRztRQUNQLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BdExMLEFBc0dFLGVBdEdhLENBc0diLGNBQWMsQ0FrRkc7UUFDYixNQUFNLEVBQUUsV0FBVyxHQUNwQjtNQTFMTCxBQWdIRSxlQWhIYSxDQWdIYixRQUFRLENBNEVHO1FBQ1AsYUFBYSxFQUFFLElBQUksR0FDcEI7RWxGMW9CRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRjRjdkMsQUFBQSxlQUFlLENBQUM7TUFrTVosTUFBTSxFQUFFLFlBQVk7TUFDcEIsT0FBTyxFQUFFLGVBQWU7TUFDeEIsS0FBSyxFQUFFLGdCQUFnQjtNQUN2QixNQUFNLEVBQUUsZ0JBQWdCO01BQ3hCLFVBQVUsRUFBRSxPQUFPLEdBeUZ0QjtNQS9SRCxBQUtFLGVBTGEsQ0FLYixnQkFBZ0IsQ0FtTUc7UUFDZixLQUFLLEVBQUUsaUJBQWlCO1EzR3p0QjVCLFFBQVEsRTJHMHRCYyxRQUFRO1EzR3R0QjFCLEdBQVUsRTJHc3RCa0IsR0FBRztRM0d0dEIvQixJQUFVLEUyR3N0QmdDLElBQUksR0FDL0M7TUEzTUwsQUFtRUUsZUFuRWEsQUFtRVosT0FBTyxDQTBJRztReEdwdUJULE1BQU0sRXdHcXVCVSxLQUFLO1F4Rzd0QnJCLEtBQUssRXdHNnRCVyxLQUFLO1FBQ25CLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE1BQU0sRUFBRSxJQUFJO1FBQ1osR0FBRyxFQUFFLENBQUM7UUFDTixNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksRUFBRSxJQUFJLEdBQ1g7TUFyTkwsQUE0RUUsZUE1RWEsQ0E0RWIsTUFBTSxDQTJJRztRQUNMLFNBQVMsRWxKN3VCTCxNQUF1QjtRa0o4dUIzQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtNQTFOTCxBQXNGRSxlQXRGYSxDQXNGYixVQUFVLENBc0lHO1FBQ1QsU0FBUyxFbEpsdkJMLE1BQXVCO1FrSm12QjNCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BL05MLEFBK0ZFLGVBL0ZhLENBK0ZiLFFBQVEsQ0FrSUc7UUFDUCxTQUFTLEVsSnZ2QkwsU0FBdUI7UWtKd3ZCM0IsY0FBYyxFQUFFLE9BQU87UUFDdkIsV0FBVyxFQUFFLEdBQUcsR0FDakI7TUFyT0wsQUF1T0ksZUF2T1csQ0F1T1gsUUFBUTtNQXZPWixlQUFlLENBd09YLGNBQWMsQ0FBQztRQUNiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0gsVUFBVSxDQUFWLDRCQUFVO0VBQ1IsRUFBRTtJMUd2d0JFLGlCQUFvQixFMEd3d0JILFVBQVU7STFHbndCM0IsY0FBaUIsRTBHbXdCQSxVQUFVO0kxRzl2QjNCLGFBQWdCLEUwRzh2QkMsVUFBVTtJMUd6dkIzQixZQUFlLEUwR3l2QkUsVUFBVTtJMUdwdkIzQixTQUFZLEUwR292QkssVUFBVTtFQUUvQixHQUFHO0kxRzF3QkMsaUJBQW9CLEUwRzJ3QkgsVUFBVTtJMUd0d0IzQixjQUFpQixFMEdzd0JBLFVBQVU7STFHandCM0IsYUFBZ0IsRTBHaXdCQyxVQUFVO0kxRzV2QjNCLFlBQWUsRTBHNHZCRSxVQUFVO0kxR3Z2QjNCLFNBQVksRTBHdXZCSyxVQUFVO0VBRS9CLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBQztJMUc5d0JSLGlCQUFvQixFMEcrd0JILFFBQVE7STFHMXdCekIsY0FBaUIsRTBHMHdCQSxRQUFRO0kxR3J3QnpCLGFBQWdCLEUwR3F3QkMsUUFBUTtJMUdod0J6QixZQUFlLEUwR2d3QkUsUUFBUTtJMUczdkJ6QixTQUFZLEUwRzJ2QkssUUFBUTs7QUFJL0IsVUFBVSxDQUFWLDZCQUFVO0VBQ1IsRUFBRSxFQUFFLEdBQUc7SUFDTCxPQUFPLEVBQUUsR0FBRztJMUdyeEJWLGlCQUFvQixFMEdzeEJILFFBQVE7STFHanhCekIsY0FBaUIsRTBHaXhCQSxRQUFRO0kxRzV3QnpCLGFBQWdCLEUwRzR3QkMsUUFBUTtJMUd2d0J6QixZQUFlLEUwR3V3QkUsUUFBUTtJMUdsd0J6QixTQUFZLEUwR2t3QkssUUFBUTtFQUU3QixHQUFHO0kxR3h4QkMsaUJBQW9CLEUwR3l4QkgsVUFBVTtJMUdweEIzQixjQUFpQixFMEdveEJBLFVBQVU7STFHL3dCM0IsYUFBZ0IsRTBHK3dCQyxVQUFVO0kxRzF3QjNCLFlBQWUsRTBHMHdCRSxVQUFVO0kxR3J3QjNCLFNBQVksRTBHcXdCSyxVQUFVO0VBRS9CLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBQztJMUc1eEJSLGlCQUFvQixFMEc2eEJILFVBQVU7STFHeHhCM0IsY0FBaUIsRTBHd3hCQSxVQUFVO0kxR254QjNCLGFBQWdCLEUwR214QkMsVUFBVTtJMUc5d0IzQixZQUFlLEUwRzh3QkUsVUFBVTtJMUd6d0IzQixTQUFZLEUwR3l3QkssVUFBVTs7QUFJakMsVUFBVSxDQUFWLDJCQUFVO0VBQ1IsRUFBRTtJMUdseUJFLGlCQUFvQixFMEdteUJILFVBQVU7STFHOXhCM0IsY0FBaUIsRTBHOHhCQSxVQUFVO0kxR3p4QjNCLGFBQWdCLEUwR3l4QkMsVUFBVTtJMUdweEIzQixZQUFlLEUwR294QkUsVUFBVTtJMUcvd0IzQixTQUFZLEUwRyt3QkssVUFBVTtFQUUvQixHQUFHO0kxR3J5QkMsaUJBQW9CLEUwR3N5QkgsVUFBVTtJMUdqeUIzQixjQUFpQixFMEdpeUJBLFVBQVU7STFHNXhCM0IsYUFBZ0IsRTBHNHhCQyxVQUFVO0kxR3Z4QjNCLFlBQWUsRTBHdXhCRSxVQUFVO0kxR2x4QjNCLFNBQVksRTBHa3hCSyxVQUFVO0VBRS9CLElBQUk7STFHeHlCQSxpQkFBb0IsRTBHeXlCSCxRQUFRO0kxR3B5QnpCLGNBQWlCLEUwR295QkEsUUFBUTtJMUcveEJ6QixhQUFnQixFMEcreEJDLFFBQVE7STFHMXhCekIsWUFBZSxFMEcweEJFLFFBQVE7STFHcnhCekIsU0FBWSxFMEdxeEJLLFFBQVE7O0FBSS9CLFVBQVUsQ0FBViw0QkFBVTtFQUNSLEVBQUUsRUFBRSxHQUFHO0kxRzl5QkgsaUJBQW9CLEUwRyt5QkgsUUFBUTtJMUcxeUJ6QixjQUFpQixFMEcweUJBLFFBQVE7STFHcnlCekIsYUFBZ0IsRTBHcXlCQyxRQUFRO0kxR2h5QnpCLFlBQWUsRTBHZ3lCRSxRQUFRO0kxRzN4QnpCLFNBQVksRTBHMnhCSyxRQUFRO0VBRTdCLEdBQUc7STFHanpCQyxpQkFBb0IsRTBHa3pCSCxVQUFVO0kxRzd5QjNCLGNBQWlCLEUwRzZ5QkEsVUFBVTtJMUd4eUIzQixhQUFnQixFMEd3eUJDLFVBQVU7STFHbnlCM0IsWUFBZSxFMEdteUJFLFVBQVU7STFHOXhCM0IsU0FBWSxFMEc4eEJLLFVBQVU7RUFFL0IsSUFBSTtJMUdwekJBLGlCQUFvQixFMEdxekJILFVBQVU7STFHaHpCM0IsY0FBaUIsRTBHZ3pCQSxVQUFVO0kxRzN5QjNCLGFBQWdCLEUwRzJ5QkMsVUFBVTtJMUd0eUIzQixZQUFlLEUwR3N5QkUsVUFBVTtJMUdqeUIzQixTQUFZLEUwR2l5QkssVUFBVTs7QUFLbkMsQUFBQSxnQkFBZ0IsQ0FBQTtFQUNkLFVBQVUsRUFBRSxJQUFJLEdBUWpCO0VBVEQsQUFFRSxnQkFGYyxDQUVkLGNBQWMsQ0FBQTtJQUNaLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VsRmp2QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0Y2dUJ2QyxBQUFBLGdCQUFnQixDQUFBO01BT1osVUFBVSxFQUFFLENBQUMsR0FFaEI7O0FBQ0QsQUFDRSxnQkFEYyxDQUNkLGVBQWUsQ0FBQTtFQUNiLEtBQUssRTFFMXhCTyxPQUFPLEcwRTJ4QnBCOztBQUVILEFBQUEsdUJBQXVCLENBQUE7RUFDckIsZ0JBQWdCLEUxRWx5QkgsT0FBTztFMEVteUJwQixtQkFBbUIsRUFBRSxXQUFXO0VBQ2hDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsZUFBZSxFQUFFLFFBQVE7RUFDekIsT0FBTyxFQUFFLE1BQU0sR0FXaEI7RUFUQyxNQUFNLEVBQUMsU0FBUyxFQUFFLE1BQU07SUFQMUIsQUFBQSx1QkFBdUIsQ0FBQTtNQVFuQixlQUFlLEVBQUUsT0FBTyxHQVEzQjtFbEY1d0JHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtGNHZCdkMsQUFBQSx1QkFBdUIsQ0FBQTtNQVduQixlQUFlLEVBQUUsT0FBTztNQUN4QixtQkFBbUIsRUFBRSxVQUFVO01BQy9CLFdBQVcsRUFBRSxLQUFLO01BQ2xCLGNBQWMsRUFBRSxJQUFJLEdBRXZCOztBQUNELEFBQUEsc0JBQXNCLENBQUE7RUFDcEIsVUFBVSxFQUFFLHdCQUFxQjtFQUNqQyxhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBV2xCO0VBaEJELEFBUUUsc0JBUm9CLENBUXBCLGVBQWUsQ0FBQTtJQUNiLFVBQVUsRUFBRSxXQUFXLEdBQ3hCO0VsRnZ4QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0Y2d0J2QyxBQUFBLHNCQUFzQixDQUFBO01BYWxCLE9BQU8sRUFBRSxJQUFJO01BQ2IsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBQ0QsQUFBQSxxQkFBcUIsQ0FBQTtFQUNuQixTQUFTLEVsSngyQkQsTUFBdUI7RWtKeTJCL0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFMUV0MEJRLE9BQU87RTBFdTBCcEIsTUFBTSxFQUFFLE1BQU07RUFDZCxVQUFVLEVBQUUsNENBQTRDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO0VBQzlFLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxHQUFHLEdBTWpCO0VsRjN5QkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0Y4eEJ2QyxBQUFBLHFCQUFxQixDQUFBO01BVWpCLGFBQWEsRUFBRSxJQUFJO01BQ25CLFNBQVMsRWxKbDNCSCxPQUF1QixHa0pvM0JoQzs7QUFDRCxBQUFBLDRCQUE0QixDQUFBO0VBQzFCLFNBQVMsRWxKdDNCRCxTQUF1QjtFa0p1M0IvQixLQUFLLEUxRW4xQlEsT0FBTztFMEVvMUJwQixhQUFhLEVBQUUsSUFBSTtFQUNuQixXQUFXLEVBQUUsR0FBRyxHQUtqQjtFbEZyekJHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtGNHlCdkMsQUFBQSw0QkFBNEIsQ0FBQTtNQU94QixTQUFTLEVsSjUzQkgsT0FBdUIsR2tKODNCaEM7O0FBQ0QsQUFBQSwyQkFBMkIsQ0FBQyxDQUFDLENBQUE7RUFDM0IsS0FBSyxFMUV4MUJTLE9BQU87RTBFeTFCckIsU0FBUyxFQUFFLElBQUk7RUFDZixZQUFZLEVBQUUsSUFBSTtFQUNsQixhQUFhLEVBQUUsSUFBSSxHQVdwQjtFQWZELEFBTUUsMkJBTnlCLENBQUMsQ0FBQyxDQU0zQixDQUFDLENBQUE7SUFDQyxLQUFLLEUxRWgyQlEsT0FBTztJMEVpMkJwQixlQUFlLEVBQUUsU0FBUyxHQUMzQjtFbEYvekJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtGc3pCdkMsQUFBQSwyQkFBMkIsQ0FBQyxDQUFDLENBQUE7TUFZekIsU0FBUyxFbEozNEJILElBQXVCO01rSjQ0QjdCLFlBQVksRUFBRSxDQUFDLEdBRWxCOztBQUNELEFBQUEsOEJBQThCLENBQUE7RUFDNUIsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsSUFBSSxHQVNWO0VsRmoxQkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0ZzMEJ2QyxBQUFBLDhCQUE4QixDQUFBO01BSzFCLE9BQU8sRUFBRSxLQUFLLEdBTWpCO01BWEQsQUFPSSw4QkFQMEIsQ0FPMUIsQ0FBQyxBQUFBLElBQUssQ3BFdzRFSSxXQUFXLEVvRXg0RUg7UUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FDcjZCTCxBQUdJLHFCQUhpQixDQUVuQixjQUFjLENBQ1osV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFMTCxBQVFFLHFCQVJtQixDQVFuQixZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQVZILEFBYUkscUJBYmlCLENBWW5CLE9BQU8sQUFBQSxXQUFXLENBQ2hCLE9BQU8sQUFBQSxxQkFBcUIsQ0FBQztFQUMzQixVQUFVLEUzRU9ELE9BQU8sRzJFeUNqQjtFQTlETCxBQWdCTSxxQkFoQmUsQ0FZbkIsT0FBTyxBQUFBLFdBQVcsQ0FDaEIsT0FBTyxBQUFBLHFCQUFxQixDQUcxQixXQUFXLENBQUM7SUFDVixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsSUFBSTtJQUNiLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFbkpQSixTQUF1QjtJbUpRekIsTUFBTSxFQUFFLE1BQU07SUFDZCxTQUFTLEVuSlRQLE9BQXVCO0ltSlV6QixRQUFRLEVBQUUsT0FBTztJQUNqQixjQUFjLEVBQUUsVUFBVTtJQUMxQixLQUFLLEVBQUUsSUFBSSxHQW9DWjtJbkZ5QkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNbUZ0RnhDLEFBZ0JNLHFCQWhCZSxDQVluQixPQUFPLEFBQUEsV0FBVyxDQUNoQixPQUFPLEFBQUEscUJBQXFCLENBRzFCLFdBQVcsQ0FBQztRQVlSLFlBQVksRW5KZlosTUFBdUIsR21KZ0QxQjtJbkZ5QkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUZ0RnZDLEFBZ0JNLHFCQWhCZSxDQVluQixPQUFPLEFBQUEsV0FBVyxDQUNoQixPQUFPLEFBQUEscUJBQXFCLENBRzFCLFdBQVcsQ0FBQztRQWdCUixZQUFZLEVuSm5CWixPQUF1QixHbUpnRDFCO0lBN0RQLEFBbUNRLHFCQW5DYSxDQVluQixPQUFPLEFBQUEsV0FBVyxDQUNoQixPQUFPLEFBQUEscUJBQXFCLENBRzFCLFdBQVcsQ0FtQlQsQ0FBQyxDQUFDO01BQ0EsU0FBUyxFbkp2QlQsT0FBdUI7TW1Kd0J2QixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsR0FBRztNQUNoQixvQkFBb0IsRUFBRSxTQUFTLEdBS2hDO01uRjBDTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FtRnRGdkMsQUFtQ1EscUJBbkNhLENBWW5CLE9BQU8sQUFBQSxXQUFXLENBQ2hCLE9BQU8sQUFBQSxxQkFBcUIsQ0FHMUIsV0FBVyxDQW1CVCxDQUFDLENBQUM7VUFPRSxTQUFTLEVuSjdCWCxNQUF1QixHbUorQnhCO0lBNUNULEFBOENRLHFCQTlDYSxDQVluQixPQUFPLEFBQUEsV0FBVyxDQUNoQixPQUFPLEFBQUEscUJBQXFCLENBRzFCLFdBQVcsQ0E4QlQsVUFBVSxDQUFDO01BQ1QsZ0JBQWdCLEVBQUUscUNBQXFDO01BQ3ZELGVBQWUsRUFBRSxHQUFHO01BQ3BCLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7SUFyRFQsQUF1RFEscUJBdkRhLENBWW5CLE9BQU8sQUFBQSxXQUFXLENBQ2hCLE9BQU8sQUFBQSxxQkFBcUIsQ0FHMUIsV0FBVyxDQXVDVCxhQUFhLENBQUM7TUFDWixLQUFLLEUzRVBBLE9BQU87TTJFUVosV0FBVyxFQUFFLEdBQUc7TUFDaEIsU0FBUyxFbko3Q1QsT0FBdUI7TW1KOEN2QixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QW5GMEJMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW1GdEZ2QyxBQWdFSSxxQkFoRWlCLENBWW5CLE9BQU8sQUFBQSxXQUFXLENBb0RoQixhQUFhLENBQUM7SUFFVixVQUFVLEUzRWZELE9BQU8sRzJFeUJuQjtJQTVFTCxBQW9FUSxxQkFwRWEsQ0FZbkIsT0FBTyxBQUFBLFdBQVcsQ0FvRGhCLGFBQWEsQUFJUixJQUFLLENBQUEsZUFBZSxFQUFFO01BQ3JCLFFBQVEsRUFBRSxPQUFPLEdBQ2xCO0lBdEVULEFBd0VRLHFCQXhFYSxDQVluQixPQUFPLEFBQUEsV0FBVyxDQTREWCxtQkFBTSxDQUFDO01yRmpEZCxPQUFPLEVxRmtEYyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FDekI7O0FBMUVULEFBK0VFLHFCQS9FbUIsQ0ErRW5CLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRTNFM0RNLE9BQU87RWhDYm5CLGtCQUFvQixFMkd5RUosR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0UzR3BFaEMsZUFBaUIsRTJHb0VELEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtFM0dyRGhDLFVBQVksRTJHcURJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQTZEckM7RUEvSUgsQUFvRkkscUJBcEZpQixDQStFbkIsV0FBVyxBQUtSLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLENBQUM7STVHcEVkLFFBQVEsRTRHcUVjLFFBQVE7STVHakUxQixHQUFVLEU0R2lFa0IsQ0FBQztJNUdqRTdCLElBQVUsRTRHaUU4QixDQUFDO0l6RzVFM0MsTUFBTSxFeUc2RVUsSUFBSTtJekdyRXBCLEtBQUssRXlHcUVXLElBQUk7SUFDbEIsVUFBVSxFQUFFLHNCQUFzQjtJM0doRmhDLGtCQUFvQixFMkdpRkYsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0kzRzVFbEMsZUFBaUIsRTJHNEVDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJM0c3RGxDLFVBQVksRTJHNkRNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJQUNwQyxjQUFjLEVBQUUsSUFBSSxHQUNyQjtFQTVGTCxBQThGSSxxQkE5RmlCLENBK0VuQixXQUFXLENBZVQsYUFBYTtFQTlGakIscUJBQXFCLENBK0VuQixXQUFXLENBZ0JULFdBQVcsQ0FBQztJckZ4RWQsT0FBTyxFcUZ5RVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBVXpCO0lBMUdMLEFsSFFFLHFCa0hSbUIsQ0ErRW5CLFdBQVcsQ0FlVCxhQUFhLEFsSHRGZCxPQUFPO0lrSFJWLHFCQUFxQixDQStFbkIsV0FBVyxDQWdCVCxXQUFXLEFsSHZGWixPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUZ0RnZDLEFBOEZJLHFCQTlGaUIsQ0ErRW5CLFdBQVcsQ0FlVCxhQUFhO01BOUZqQixxQkFBcUIsQ0ErRW5CLFdBQVcsQ0FnQlQsV0FBVyxDQUFDO1FyRnhFZCxPQUFPLEVxRjZFWSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FNM0I7SW5GcEJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1GdEZ2QyxBQThGSSxxQkE5RmlCLENBK0VuQixXQUFXLENBZVQsYUFBYTtNQTlGakIscUJBQXFCLENBK0VuQixXQUFXLENBZ0JULFdBQVcsQ0FBQztRckZ4RWQsT0FBTyxFcUZpRlksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUU3QjtFQTFHTCxBQThHTSxxQkE5R2UsQ0ErRW5CLFdBQVcsQUE2QlIsZ0JBQWdCLEFBRWQsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsRUFBRTtJQUNYLGNBQWMsRUFBRSxJQUNsQixHQUFDOztBQWxIUCxBQW1KSSxxQkFuSmlCLENBaUpuQix1QkFBdUIsQ0FFckIsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLFdBQVc7RUFDcEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxlQUFlLEdBa0J2QjtFbkZwRkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUZ0RnZDLEFBbUpJLHFCQW5KaUIsQ0FpSm5CLHVCQUF1QixDQUVyQixhQUFhLENBQUM7TUFRVixLQUFLLEVBQUUsZUFBZSxHQWV6QjtFbkZwRkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUZ0RnZDLEFBOEpNLHFCQTlKZSxDQWlKbkIsdUJBQXVCLENBRXJCLGFBQWEsQ0FXWCxLQUFLLENBQUM7TUFJRixVQUFVLEVBQUUsSUFBSTtNQUNoQixLQUFLLEVBQUUsaUJBQWlCLENBQUMsVUFBVTtNQUNuQyxNQUFNLEVBQUUsV0FBVztNQUNuQixVQUFVLEUzRS9JQSxPQUFPO00yRWdKakIsS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEVBQUUsSUFBSSxHQUVkOztBQXpLUCxBQTZLRSxxQkE3S21CLENBNktuQixpQkFBaUIsQ0FBQztFckZ0SmxCLE9BQU8sRXFGdUpRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtFQUNyQixnQkFBZ0IsRTNFekhYLElBQUksRzJFb0lWO0VBMUxILEFBaUxJLHFCQWpMaUIsQ0E2S25CLGlCQUFpQixDQUlmLFdBQVcsQ0FBQztJQUNWLGdCQUFnQixFM0U1SGIsSUFBSSxHMkU2SFI7RUFuTEwsQUFxTEkscUJBckxpQixDQTZLbkIsaUJBQWlCLENBUWYsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsR0FBRyxFQUFFLFNBQVMsR0FDZjs7QUF6TEwsQUE4TEkscUJBOUxpQixDQTRMbkIscUJBQXFCLENBRW5CLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUscUNBQXFDO0VBQzVELEdBQUcsRUFBRSxTQUFTLEdBQ2Y7O0FBbE1MLEFBcU1FLHFCQXJNbUIsQ0FxTW5CLGNBQWMsQ0FBQztFQUNiLGNBQWMsRUFBRSxJQUFJLEdBbUJyQjtFQXpOSCxBQXdNSSxxQkF4TWlCLENBcU1uQixjQUFjLENBR1osbUJBQW1CLENBQUM7SXJGakx0QixPQUFPLEVxRmtMVSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FDN0I7RUExTUwsQUE0TUkscUJBNU1pQixDQXFNbkIsY0FBYyxDQU9aLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsY0FBYztJQUNyQyxHQUFHLEVBQUUsU0FBUztJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUksR0FNWjtJbkZsSUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUZ0RnZDLEFBNE1JLHFCQTVNaUIsQ0FxTW5CLGNBQWMsQ0FPWixhQUFhLENBQUM7UUFTVixxQkFBcUIsRUFBRSxjQUFjO1FBQ3JDLEdBQUcsRUFBRSxTQUFTLEdBRWpCOztBQXhOTCxBQTRORSxxQkE1Tm1CLENBNE5uQixlQUFlLENBQUM7RXpHak5kLE1BQU0sRXlHa05RLElBQUk7RXpHMU1sQixLQUFLLEV5RzBNUyxJQUFJO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLDhDQUE4QyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEMzRXRNdkUsSUFBSTtFMkV1TVIsZUFBZSxFQUFFLFFBQVEsR0ErQzFCO0VBaFJILEFBbU9JLHFCQW5PaUIsQ0E0Tm5CLGVBQWUsQUFPWixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBck9MLEFBdU9JLHFCQXZPaUIsQ0E0Tm5CLGVBQWUsQUFXWixxQkFBcUIsQ0FBQztJQUNyQixJQUFJLEVBQUUsR0FBRyxHQUNWO0VBek9MLEFBMk9JLHFCQTNPaUIsQ0E0Tm5CLGVBQWUsQUFlWixzQkFBc0IsQ0FBQztJQUN0QixLQUFLLEVBQUUsR0FBRyxHQUNYO0VuRnZKRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ltRnRGeEMsQUF1T0kscUJBdk9pQixDQTRObkIsZUFBZSxBQVdaLHFCQUFxQixDQVVHO01BQ3JCLElBQUksRUFBRSxJQUFJLEdBQ1g7SUFuUFAsQUEyT0kscUJBM09pQixDQTRObkIsZUFBZSxBQWVaLHNCQUFzQixDQVVHO01BQ3RCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RW5GaktILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1GdEZ2QyxBQXVPSSxxQkF2T2lCLENBNE5uQixlQUFlLEFBV1oscUJBQXFCLENBcUJHO01BQ3JCLElBQUksRUFBRSxJQUFJLEdBQ1g7SUE5UFAsQUEyT0kscUJBM09pQixDQTRObkIsZUFBZSxBQWVaLHNCQUFzQixDQXFCRztNQUN0QixLQUFLLEVBQUUsSUFBSSxHQUNaO0VuRjVLSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltRnRGdkMsQUE0TkUscUJBNU5tQixDQTRObkIsZUFBZSxDQUFDO016R2pOZCxNQUFNLEV5RzJQVSxJQUFJO016R25QcEIsS0FBSyxFeUdtUFcsSUFBSSxHQVVyQjtNQWhSSCxBQXVPSSxxQkF2T2lCLENBNE5uQixlQUFlLEFBV1oscUJBQXFCLENBaUNHO1FBQ3JCLElBQUksRUFBRSxHQUFHLEdBQ1Y7TUExUVAsQUEyT0kscUJBM09pQixDQTRObkIsZUFBZSxBQWVaLHNCQUFzQixDQWlDRztRQUN0QixLQUFLLEVBQUUsSUFBSSxHQUNaOztBbkZ4TEgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFbUZ0RnZDLEFBbVJFLHFCQW5SbUIsQ0FtUm5CLGtCQUFrQixDQUFDO0lyRjVQbkIsT0FBTyxFcUYrUFUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQXlCcEM7SUEvU0gsQUF3Uk0scUJBeFJlLENBbVJuQixrQkFBa0IsQUFLYixPQUFPLENBQUM7TXpHN1FYLE1BQU0sRXlHOFFZLEtBQUs7TXpHdFF2QixLQUFLLEV5R3NRYSxLQUFLO01BQ25CLElBQUksRUFBRSxNQUFNO01BQ1osS0FBSyxFQUFFLE9BQU87TUFDZCxHQUFHLEVBQUUsS0FBSyxHQUNYO0lBN1JQLEFBK1JNLHFCQS9SZSxDQW1SbkIsa0JBQWtCLEFBWWIsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLElBQUksR0FDZDtJQWpTUCxBQW1TTSxxQkFuU2UsQ0FtUm5CLGtCQUFrQixDQWdCZCxRQUFRLENBQUM7TUFDUCxPQUFPLEVBQUUsQ0FBQztNQUNWLEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFQUFFLEtBQUssR0FDakI7SUF2U1AsQUF5U00scUJBelNlLENBbVJuQixrQkFBa0IsQ0FzQmQsQ0FBQyxDQUFDO01BQ0EsU0FBUyxFQUFFLElBQUk7TUFDZixPQUFPLEVBQUUsS0FBSztNQUNkLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQTdTUCxBQWtURSxxQkFsVG1CLENBa1RuQixZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsWUFBWSxHQWdCdEI7RUFuVUgsQUFxVEkscUJBclRpQixDQWtUbkIsWUFBWSxDQUdWLENBQUMsQ0FBQztJQUNBLFNBQVMsRXBKM1NMLFFBQXNCO0lvSjRTMUIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsYUFBYSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLE9BQU8sR0FDckI7RW5GcE9ELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1GdEZ2QyxBQWtURSxxQkFsVG1CLENBa1RuQixZQUFZLENBQUM7TUFXVCxPQUFPLEVBQUUsU0FBUyxHQU1yQjtNQW5VSCxBQXFUSSxxQkFyVGlCLENBa1RuQixZQUFZLENBR1YsQ0FBQyxDQVVHO1FBQ0EsU0FBUyxFcEpyVFAsUUFBc0IsR29Kc1R6Qjs7QUFqVVAsQUFxVUUscUJBclVtQixDQXFVbkIsd0JBQXdCLENBQUMsd0JBQXdCO0FBclVuRCxxQkFBcUIsQ0FzVW5CLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDO0VBQ2hELFNBQVMsRUFBRSxnQkFBZ0IsR0FDNUI7O0FBR0gsQUFBQSxXQUFXLENBQUM7RUFDVixTQUFTLEVuSi9URCxTQUF1QjtFbUpnVS9CLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxVQUFVLEdBZTNCO0VBbEJELEFBS0UsV0FMUyxDQUtULENBQUMsQ0FBQztJQUNBLFNBQVMsRW5KcFVILFNBQXVCO0ltSnFVN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLFVBQVUsR0FDM0I7RW5GOVBDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1GcVB2QyxBQUFBLFdBQVcsQ0FBQztNQVlSLFNBQVMsRW5KMVVILFFBQXVCLEdtSmdWaEM7TUFsQkQsQUFLRSxXQUxTLENBS1QsQ0FBQyxDQVNHO1FBQ0EsU0FBUyxFbko3VUwsUUFBdUIsR21KOFU1Qjs7QUFLTCxBQUVJLGFBRlMsQ0FDWCw2QkFBNkIsQ0FDM0IsRUFBRSxBQUFBLFlBQVksQ0FBQztFQUNiLE9BQU8sRUFBRSxlQUFlLEdBQ3pCOztBQUtMLEFBQ0UseUJBRHVCLENBQ3ZCLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUscUNBQXFDO0VBQzVELEdBQUcsRUFBRSxTQUFTLEdBQ2Y7O0FBR0gsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixjQUFjLEVBQUUsSUFBSTtFQUNwQixnQkFBZ0IsRTNFblRHLE9BQU8sRzJFMFQzQjtFQUxFLEFBQUQsNkJBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUscUNBQXFDO0lBQzVELEdBQUcsRUFBRSxTQUFTLEdBQ2Y7O0FBR0gsQUFBQSxXQUFXLENBQUM7RUFDVixnQkFBZ0IsRTNFN1RHLE9BQU8sRzJFa1UzQjtFQUhDLEFBQUEsaUJBQWlCLENBSG5CLFdBQVcsQ0FHVztJQUNsQixnQkFBZ0IsRTNFMVVYLElBQUksRzJFMlVWOztBQUdILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsZ0JBQWdCLEUzRS9VVCxJQUFJO0VWL0JYLE9BQU8sRXFGK1dNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQTZDdEI7RUEvQ0QsQUFJRSxpQkFKZSxDQUlmLG1CQUFtQixDQUFDO0lyRmpYcEIsT0FBTyxFcUZrWFEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBUzdCO0luRjVUQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01tRjhTeEMsQUFJRSxpQkFKZSxDQUlmLG1CQUFtQixDQUFDO1FyRmpYcEIsT0FBTyxFcUZxWFUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBTTlCO0luRjVUQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01tRjhTdkMsQUFJRSxpQkFKZSxDQUlmLG1CQUFtQixDQUFDO1FyRmpYcEIsT0FBTyxFcUZ5WFUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBRTNCO0VuRjVUQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltRjhTdkMsQUFnQkUsaUJBaEJlLENBZ0JmLGFBQWEsQ0FBQztNQUVWLFFBQVEsRUFBRSxNQUFNLEdBRW5CO0VBcEJILEFBc0JFLGlCQXRCZSxDQXNCZixhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLGNBQWM7SUFDckMsR0FBRyxFQUFFLElBQUksR0FxQlY7SW5GNVZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1GOFN2QyxBQXNCRSxpQkF0QmUsQ0FzQmYsYUFBYSxDQUFDO1FBTVYscUJBQXFCLEVBQUUsY0FBYyxHQWtCeEM7SUFmQyxBQUFBLHFCQUFxQixDQS9CekIsaUJBQWlCLENBc0JmLGFBQWEsQ0FTYTtNckY1WTFCLE9BQU8sRXFGNllVLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQWE3QjtNbkYzVkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRbUY2VXBDLEFBQUEscUJBQXFCLENBL0J6QixpQkFBaUIsQ0FzQmYsYUFBYSxDQVNhO1VyRjVZMUIsT0FBTyxFcUZnWlksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBVTlCO01uRjNWRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FtRjZVbkMsQUFBQSxxQkFBcUIsQ0EvQnpCLGlCQUFpQixDQXNCZixhQUFhLENBU2E7VXJGNVkxQixPQUFPLEVxRm9aWSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FNM0I7TW5GM1ZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UW1GNlVuQyxBQUFBLHFCQUFxQixDQS9CekIsaUJBQWlCLENBc0JmLGFBQWEsQ0FTYTtVckY1WTFCLE9BQU8sRXFGd1pZLElBQUksQ0FBQyxJQUFJLEdBRXpCOztBQUlMLEFBQ0Usa0JBRGdCLENBQ2hCLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsY0FBYztFQUNyQyxHQUFHLEVBQUUsSUFBSSxHQUNWOztBQ3hiSCxBQUFBLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRLEdBOEVuQjtFQS9FRCxBQVdFLFlBWFUsQ0FXVixhQUFhLENBQUM7SUFDWixTQUFTLEVwSkRILFFBQXVCO0lvSkU3QixTQUFTLEVBQUUsS0FBSztJQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQWZILEFBaUJFLFlBakJVLENBaUJWLFlBQVksQ0FBQztJQUNYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFNBQVMsRXBKUkgsU0FBdUI7SW9KUzdCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBU2pCO0lBOUJILEFBdUJJLFlBdkJRLENBaUJWLFlBQVksQ0FNVixDQUFDLENBQUM7TUFDQSxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQXpCTCxBQTJCSSxZQTNCUSxDQWlCVixZQUFZLENBVVYsQ0FBQyxDQUFDO01BQ0EsS0FBSyxFNUVBSyxPQUFPLEc0RUNsQjtFQTdCTCxBQWdDRSxZQWhDVSxDQWdDVixjQUFjLENBQUM7SUFDYixTQUFTLEVwSnRCSCxRQUF1QjtJb0p1QjdCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VwRmdEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvRnBGdkMsQUFBQSxZQUFZLENBQUM7TUF5RFQsT0FBTyxFQUFFLEdBQUcsR0FzQmY7RXBGS0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0ZwRnZDLEFBOERJLFlBOURRLENBOERSLEVBQUUsQ0FBQztNQUNELFNBQVMsRXBKcERMLElBQXVCO01vSnFEM0IsYUFBYSxFcEpyRFQsSUFBdUI7TW9Kc0QzQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsT0FBTyxHQUN4QjtJQW5FTCxBQVdFLFlBWFUsQ0FXVixhQUFhLENBMERHO01BQ1osYUFBYSxFQUFFLElBQUksR0FDcEI7SUF2RUwsQUFpQkUsWUFqQlUsQ0FpQlYsWUFBWSxDQXdERztNQUNYLFVBQVUsRUFBRSxJQUFJO01BQ2hCLFNBQVMsRXBKaEVMLFNBQXVCLEdvSmlFNUI7O0FBS0wsQUFBQSxrQkFBa0IsQ0FBQztFekZsQmYsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztFTW1DN0MsV0FBNkIsRUFBUyxRQUFzRixHdUY4QzdIO0VBUkQsQXpGR00sa0J5RkhZLEF6RkdYLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFS0ZILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9GSHZDLEFBQUEsa0JBQWtCLENBQUM7TUFLZixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxZQUFZLEdBRXZCOztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsU0FBUztFQUNsQixhQUFhLEVBQUUsSUFBSSxHQW1IcEI7RUF2SEQsQUFNRSxzQkFOb0IsQUFNbkIsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRTVFakdQLElBQUk7STRFa0dQLGFBQWEsRUFBRSxHQUFHO0kxRzVGbEIsTUFBTSxFMEc2RlEsS0FBSztJMUdyRm5CLEtBQUssRTBHcUZTLEtBQUs7SUFDbkIsTUFBTSxFQUFFLElBQUk7STVHaEdSLGNBQW9CLEU0R2lHUixVQUFVO0k1RzdFdEIsTUFBWSxFNEc2RUEsVUFBVTtJN0d4RjVCLFFBQVEsRTZHeUZZLFFBQVE7STdHckZ4QixLQUFVLEU2R3FGcUIsQ0FBQztJN0dyRmhDLE1BQVUsRTZHcUZ3QixLQUFJO0k3R3JGdEMsSUFBVSxFNkdxRjZCLENBQUMsR0FDM0M7RUFmSCxBQWlCRSxzQkFqQm9CLENBaUJwQixNQUFNLENBQUM7SUFDTCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUVYO0lBckJILEFuSHJGRSxzQm1IcUZvQixDQWlCcEIsTUFBTSxBbkh0R0wsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RW1IaUZILEFBdUJFLHNCQXZCb0IsQ0F1QnBCLEVBQUUsQ0FBQztJQUNELEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLE9BQU87SUFDZixTQUFTLEVySjVHSCxLQUFzQixHcUo2RzdCO0VBM0JILEFBNkJFLHNCQTdCb0IsQ0E2QnBCLGtCQUFrQixDQUFDO0lBQ2pCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsS0FBSyxFQUFFLEtBQUssR0FDYjtFQWpDSCxBQW1DRSxzQkFuQ29CLENBbUNwQixTQUFTLENBQUM7SUFDUixPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVwSnZISCxRQUF1QjtJb0p3SDdCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFlBQVksRUFBRSxFQUFFLEdBQ2pCO0VBM0NILEFBNkNFLHNCQTdDb0IsQ0E2Q3BCLDhCQUE4QixDQUFDO0lBQzdCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLEtBQUssRUFBRSxHQUFHO0lBQ1YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLElBQUk7SUFDWixhQUFhLEVBQUUsS0FBSztJQUNwQixVQUFVLEU1RXZITixJQUFJO0k0RXdIUixVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQXRESCxBQXdERSxzQkF4RG9CLENBd0RwQixzQkFBc0IsQ0FBQztJQUNyQixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRTVFeEhTLE9BQU87STRFeUhyQixTQUFTLEVwSjNJSCxRQUF1QjtJb0o0STdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFVBQVUsRTVFaklOLElBQUk7STRFa0lSLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7RUFqRUgsQUFtRUUsc0JBbkVvQixDQW1FcEIsWUFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLEVBQUU7SXRGNUlqQixPQUFPLEVzRjZJUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDNUI7RXBGL0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9GT3ZDLEFBQUEsc0JBQXNCLENBQUM7TUEyRW5CLE9BQU8sRUFBRSxjQUFjO01BQ3ZCLFVBQVUsRUFBRSxJQUFJLEdBMkNuQjtNQXZIRCxBQXVCRSxzQkF2Qm9CLENBdUJwQixFQUFFLENBdURHO1FBQ0QsS0FBSyxFQUFFLEdBQUc7UUFDVixTQUFTLEVySmxLTCxRQUFzQixHcUptSzNCO01BakZMLEFBNkJFLHNCQTdCb0IsQ0E2QnBCLGtCQUFrQixDQXNERztRQUNqQixVQUFVLEVBQUUsSUFBSTtRQUNoQixLQUFLLEVBQUUsZ0JBQWdCLEdBQ3hCO01BdEZMLEFBbUNFLHNCQW5Db0IsQ0FtQ3BCLFNBQVMsQ0FxREc7UUFDUixPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRXBKMUtMLFFBQXVCO1FvSjJLM0IsV0FBVyxFQUFFLEdBQUc7UUFDaEIsWUFBWSxFQUFFLElBQUk7UUFDbEIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7TUE5RkwsQUE2Q0Usc0JBN0NvQixDQTZDcEIsOEJBQThCLENBbURHO1FBQzdCLEtBQUssRUFBRSxLQUFLLEdBQ2I7TUFsR0wsQUF3REUsc0JBeERvQixDQXdEcEIsc0JBQXNCLENBNENHO1FBQ3JCLFNBQVMsRXBKckxMLFFBQXVCLEdvSnNMNUI7TUF0R0wsQUFtRUUsc0JBbkVvQixDQW1FcEIsWUFBWSxDQXFDRztRQUNYLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FBQ1AsTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTLEVwSjVMTCxTQUF1QjtRb0o2TDNCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLEtBQUssRTVFakxILElBQUk7UTRFa0xOLFdBQVcsRUFBRSxDQUFDO1FBQ2QsTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLEVBQUUsQ0FBQztRQUNULE9BQU8sRUFBRSxDQUFDO1FBQ1YsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBS0wsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixVQUFVLEU1RTdMSixJQUFJO0U0RThMVixLQUFLLEVBQUUsS0FBSztFQUNaLFNBQVMsRUFBRSxJQUFJO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RTVHbE5GLGlCQUFvQixFNEdtTlAsZ0JBQWdCO0U1RzlNN0IsY0FBaUIsRTRHOE1KLGdCQUFnQjtFNUd6TTdCLGFBQWdCLEU0R3lNSCxnQkFBZ0I7RTVHcE03QixZQUFlLEU0R29NRixnQkFBZ0I7RTVHL0w3QixTQUFZLEU0RytMQyxnQkFBZ0I7RUFDbkMsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLGNBQWM7RUFDdkIsVUFBVSxFQUFFLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBRSxJQUFHLEM1RXJNeEUsSUFBSSxHNEV5U1g7RXBGN09HLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9GZ0l2QyxBQUFBLGtCQUFrQixDQUFDO01BWWYsT0FBTyxFQUFFLElBQUksR0FpR2hCO0VBN0dELEFBZUUsa0JBZmdCLENBZWhCLFlBQVksQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBakJILEFBbUJFLGtCQW5CZ0IsQ0FtQmhCLEVBQUUsQ0FBQztJQUNELFNBQVMsRXBKN05ILFFBQXVCO0lvSjhON0IsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLENBQUMsR0FDakI7RUF4QkgsQUEwQkUsa0JBMUJnQixDQTBCaEIsY0FBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLE1BQU07SUFDdEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRXBKM09ILFFBQXVCO0lvSjRPN0IsS0FBSyxFNUUxTlMsT0FBTztJNEUyTnJCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxlQUFlLEdBQzVCO0VBeENILEFBMENFLGtCQTFDZ0IsQ0EwQ2hCLFFBQVEsQ0FBQztJQUNQLE1BQU0sRUFBRSxDQUFDO0lBQ1QsU0FBUyxFQUFFLEtBQUs7SUFDaEIsT0FBTyxFQUFFLE1BQU0sR0FTaEI7SXBGdExDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW9GZ0l2QyxBQTBDRSxrQkExQ2dCLENBMENoQixRQUFRLENBQUM7UUFNTCxTQUFTLEVBQUUsSUFBSSxHQU1sQjtJcEZ0TEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNb0ZnSXZDLEFBMENFLGtCQTFDZ0IsQ0EwQ2hCLFFBQVEsQ0FBQztRQVVMLE9BQU8sRUFBRSxNQUFNLEdBRWxCO0VBdERILEFBd0RFLGtCQXhEZ0IsQ0F3RGhCLE1BQU0sQ0FBQztJQUNMLFNBQVMsRXBKbFFILFNBQXVCO0lvSm1RN0IsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFNUUxTUQsTUFBTTtJNEUyTW5CLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDNUUvUGYsT0FBTztJNEVnUWhCLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFNUUzUWlCLE9BQU8sRzRFNFE5QjtFQWhFSCxBQWtFRSxrQkFsRWdCLENBa0VoQixXQUFXLENBQUM7SUFDVixhQUFhLEVBQUUsSUFBSSxHQThCcEI7SUFqR0gsQUFxRUksa0JBckVjLENBa0VoQixXQUFXLEFBR1IsS0FBSyxDQUFDO016RjFOUCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDLEc2RndSMUM7TUE1RUwsQXpGaElNLGtCeUZnSVksQ0FrRWhCLFdBQVcsQUFHUixLQUFLLEF6RnJNSCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TUtGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FvRmdJdkMsQUFxRUksa0JBckVjLENBa0VoQixXQUFXLEFBR1IsS0FBSyxDQUFDO1VBSUgsS0FBSyxFQUFFLElBQUk7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUVsQjtJQTVFTCxBQThFSSxrQkE5RWMsQ0FrRWhCLFdBQVcsQUFZUixLQUFLLENBQUM7TUFDTCxLQUFLLEVBQUUsSUFBSSxHQUNaO0lBaEZMLEFBa0ZJLGtCQWxGYyxDQWtFaEIsV0FBVyxBQWdCUixNQUFNLENBQUM7TTNGalBOLFlBQW9CLEVBQVMsQ0FBQyxHMkZtUC9CO0lBcEZMLEFBc0ZJLGtCQXRGYyxDQWtFaEIsV0FBVyxDQW9CVCxLQUFLLENBQUM7TUFDSixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDNUU5UkQsT0FBTztNNEUrUnZCLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFNBQVMsRXBKblNMLFNBQXVCO01vSm9TM0IsT0FBTyxFQUFFLFFBQVEsR0FDbEI7SXBGNU5ELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW9GZ0l2QyxBQWtFRSxrQkFsRWdCLENBa0VoQixXQUFXLENBQUM7UUE2QlIsYUFBYSxFQUFFLEdBQUcsR0FFckI7RUFqR0gsQUFtR0Usa0JBbkdnQixDQW1HaEIsS0FBSyxDQUFDO0lBQ0osU0FBUyxFcEo3U0gsU0FBdUI7SW9KOFM3QixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsR0FBRztJQUNqQixLQUFLLEU1RXBUaUIsT0FBTyxHNEVxVDlCO0VBeEdILEFBMEdFLGtCQTFHZ0IsQ0EwR2hCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYztJQUNsQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUdILEFBQUEsZUFBZSxDQUFDO0VBQ2QsU0FBUyxFcEp6VEQsUUFBdUI7RW9KMFQvQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUlFLEFBQUQsV0FBSyxDQUFDO0VBQ0osZ0JBQWdCLEU1RXpSQyxPQUFPLEc0RTBSekI7O0FBRUEsQUFBRCxpQkFBVyxDQUFDO0VBQ1YsVUFBVSxFQUFFLE1BQU07RXRGMVRwQixPQUFPLEVzRjJUUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FLekI7RXBGalFDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9GMFBwQyxBQUFELGlCQUFXLENBQUM7TXRGelRaLE9BQU8sRXNGOFRVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUUzQjs7QUFFQSxBQUFELGFBQU8sQ0FBQztFQUNOLFNBQVMsRXBKN1VILFVBQXVCO0VvSjhVN0IsS0FBSyxFNUUxU00sT0FBTztFNEUyU2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUVBLEFBQUQsWUFBTSxDQUFDO0VBQ0wsU0FBUyxFcEpyVkgsT0FBdUI7RW9Kc1Y3QixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEU1RS9TTyxPQUFPO0U0RWdUbkIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsTUFBTSxHQVVmO0VwRjNSQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvRjJRcEMsQUFBRCxZQUFNLENBQUM7TUFTSCxTQUFTLEVwSjdWTCxJQUF1QjtNb0o4VjNCLFdBQVcsRUFBRSxHQUFHLEdBTW5CO0VBaEJBLEFBYUMsWUFiSSxDQWFKLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0YsQUFBRCxlQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLGNBQWM7RUFDckMsR0FBRyxFQUFFLFNBQVM7RXRGL1ZoQixPQUFPLEVzRmdXUSxDQUFDLENBQUMsSUFBSTtFQUNuQixVQUFVLEVBQUUsSUFBSSxHQVdqQjtFcEY3U0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0Y2UnBDLEFBQUQsZUFBUyxDQUFDO010RjVWVixPQUFPLEVzRm9XVSxDQUFDO01BQ2QsR0FBRyxFQUFFLElBQUksR0FPWjtFcEY3U0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0Y2UnBDLEFBQUQsZUFBUyxDQUFDO01BYU4sT0FBTyxFQUFFLEtBQUs7TUFDZCxVQUFVLEVwSnBYTixNQUF1QixHb0pzWDlCOztBQUVBLEFBQUQsY0FBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZ0JBQWdCLEU1RWpWWCxJQUFJO0U0RWtWVCxhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxLQUFLO0V0RnJYbkIsT0FBTyxFc0ZzWFEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBVXRCO0VwRmpVQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvRitTcEMsQUFBRCxjQUFRLENBQUM7TUFXTCxVQUFVLEVBQUUsS0FBSztNdEZ6WHJCLE9BQU8sRXNGMFhVLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQU14QjtFcEZqVUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0YrU3BDLEFBQUQsY0FBUSxDQUFDO01BZ0JMLGFBQWEsRXBKeFlULElBQXVCLEdvSjBZOUI7O0FBRUEsQUFBRCxZQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsQ0FBQztFQUNkLGFBQWEsRUFBRSxJQUFJLEdBUXBCO0VBYkEsQUFPQyxZQVBJLENBT0osR0FBRyxDQUFDO0lBQ0YsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsZUFBZTtJQUN2QixVQUFVLEVBQUUsS0FBSyxHQUNsQjs7QUFHRixBQUFELGNBQVEsQ0FBQztFQUNQLFNBQVMsRXBKNVpILElBQXVCO0VvSjZaN0IsS0FBSyxFNUV2WFEsT0FBTztFNEV3WHBCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE9BQU8sRUFBRSxLQUNYLEdBQUM7O0FBRUEsQUFBRCxhQUFPLENBQUM7RUFDTixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFFQSxBQUFELGFBQU8sQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtFQUNuQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1RXRZTixPQUFPO0U0RXVZbEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsU0FBUyxFcEo1YUgsT0FBdUI7RW9KNmE3QixXQUFXLEU1RW5YRixTQUFTLEVBQUUsVUFBVTtFNEVvWDlCLEtBQUssRTVFMVlNLE9BQU87RTRFMllsQixVQUFVLEVBQUUsTUFBTTtFdEZyYXBCLE9BQU8sRXNGc2FRLENBQUMsR0FTZjtFQWxCQSxBQVdDLGFBWEssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FXTCxhQUFhLENBQUM7SUFDYixTQUFTLEVwSm5iTCxPQUF1QjtJb0pvYjNCLEtBQUssRTVFaFpJLE9BQU87STRFaVpoQixXQUFXLEU1RTNYSixTQUFTLEVBQUUsVUFBVTtJNEU0WDVCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxTQUFTLEdBQzFCOztBQUdGLEFBQUQsZ0JBQVUsQ0FBQztFQUNULFNBQVMsRXBKNWJILE9BQXVCO0VvSjZiN0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLEtBQ1gsR0FBQzs7QUFFQSxBQUFELFdBQUssQ0FBQztFQUNKLFdBQVcsRUFBRSxHQUFHO0V0RnpibEIsT0FBTyxFc0YwYlEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtFQUU5QixTQUFTLEVwSnRjSCxJQUF1QixHb0oyYzlCO0VBVEEsQTFFN1lELFcwRTZZSyxBMUU3WUosT0FBTyxDQUFDO0lBQ1AsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxLQUFLO0lBQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0ZwQnZCLElBQUk7SUVxQlQsT0FBTyxFQUFFLFlBQVksR0FDdEI7RTBFbVlBLEExRTdZRCxXMEU2WUssQTFFN1lKLE9BQU8sQzBFbVpHO0lBQ1AsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FBR0YsQUFBRCxjQUFRLENBQUM7RUFDUCxnQkFBZ0IsRTVFMWFMLE9BQU8sRzRFMmFuQjs7QUFFQSxBQUFELG9CQUFjLENBQUM7RXRGdmNmLE9BQU8sRXNGd2NRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUt6QjtFcEY5WUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0Z3WXBDLEFBQUQsb0JBQWMsQ0FBQztNdEZ2Y2YsT0FBTyxFc0YyY1UsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBRTNCOztBQUVBLEFBQUQsZ0JBQVUsQ0FBQztFQUNULFNBQVMsRXBKMWRILElBQXVCO0VvSjJkN0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsS0FBSyxFNUV0YkEsSUFBSSxHNEU0YlY7RXBGNVpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9GZ1pwQyxBQUFELGdCQUFVLENBQUM7TUFTUCxTQUFTLEVwSmxlTCxPQUF1QjtNb0ptZTNCLFdBQVcsRUFBRSxHQUFHLEdBRW5COztBQUVBLEFBQ0MsV0FERyxDQUNILENBQUMsQ0FBQztFQUNBLFNBQVMsRXBKemVMLElBQXVCO0VvSjBlM0IsS0FBSyxFNUVqY0YsSUFBSTtFNEVrY1AsYUFBYSxFQUFFLENBQUM7RUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FPcEI7RXBGMWFELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9GOFpwQyxBQUNDLFdBREcsQ0FDSCxDQUFDLENBQUM7TUFPRSxTQUFTLEVwSi9lUCxPQUF1QjtNb0pnZnpCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxXQUFXLEdBRTlCOztBQ2hnQkwsQUFBQSxpQ0FBaUMsQ0FBQztFQUNoQyxVQUFVLEU3RXFCUSxPQUFPO0U2RXBCekIsUUFBUSxFQUFFLE1BQU07RUFDaEIsS0FBSyxFN0VTSyxJQUFJLEc2RW1CZjtFQS9CRCxBQUtFLGlDQUwrQixDQUsvQixZQUFZLENBQUM7STNGMkJiLFNBQVMsRUxkQyxLQUFLO0lLZ0JiLFdBQUksRUFBRSxJQUFJO0lBQ1YsWUFBSyxFQUFFLElBQUk7STJGNUJYLE9BQU8sRUFBRSxXQUFXLEdBZXJCO0lBdEJILEFwSFFFLGlDb0hSK0IsQ0FLL0IsWUFBWSxBcEhHWCxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNcUZ0RnhDLEFBS0UsaUNBTCtCLENBSy9CLFlBQVksQ0FBQztRM0YyQmIsU0FBUyxFMkZ0Qm9CLEtBQUs7UTNGd0JoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEcyRmJaO1FBdEJILEFwSFFFLGlDb0hSK0IsQ0FLL0IsWUFBWSxBcEhHWCxPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUZ0RnZDLEFBS0UsaUNBTCtCLENBSy9CLFlBQVksQ0FBQztRQVNULE9BQU8sRUFBRSxjQUFjLEdBUTFCO0lyRmdFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRnRGdkMsQUFLRSxpQ0FMK0IsQ0FLL0IsWUFBWSxDQUFDO1FBYVQsVUFBVSxFQUFFLE1BQU07UTNGY3RCLFNBQVMsRTJGYm9CLElBQUk7UTNGZS9CLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUk7UUlaYixPQUFPLEV1RkhVLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUU1QjtRQXRCSCxBcEhRRSxpQ29IUitCLENBSy9CLFlBQVksQXBIR1gsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RW9IWkgsQUF3QkUsaUNBeEIrQixDQXdCL0IsUUFBUSxDQUFDO0lBQ1AsU0FBUyxFckpaSCxTQUF1QixHcUphOUI7RUExQkgsQUE0QkUsaUNBNUIrQixDQTRCL0IsVUFBVSxDQUFDO0lBQ1QsTUFBTSxFQUFFLElBQUksR0FDYjs7QUFHSCxBQUFBLFVBQVUsQ0FBQyxFQUFFLEFBQUEsMkJBQTJCLENBQUM7RUFDdkMsYUFBYSxFQUFFLGdCQUFnQjtFQUMvQixRQUFRLEVBQUUsTUFBTSxHQWdGakI7RUFsRkQsQUFJRSxVQUpRLENBQUMsRUFBRSxBQUFBLDJCQUEyQixDQUl0QyxFQUFFLENBQUM7SUFDRCxXQUFXLEVBQUUsR0FBRztJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULE1BQU0sRUFBRSxNQUFNO0lBQ2QsVUFBVSxFQUFFLElBQUksR0FrQ2pCO0lBMUNILEFBVUksVUFWTSxDQUFDLEVBQUUsQUFBQSwyQkFBMkIsQ0FJdEMsRUFBRSxBQU1DLE1BQU0sQ0FBQztNQUNOLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7SUFaTCxBQWNJLFVBZE0sQ0FBQyxFQUFFLEFBQUEsMkJBQTJCLENBSXRDLEVBQUUsQUFVQyxPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUseUJBQXlCO01BQ2xDLGlCQUFpQixFQUFFLGdCQUFnQjtNQUNuQyxVQUFVLEU3RW5DRSxPQUFPO002RW9DbkIsS0FBSyxFN0V6QkgsSUFBSTtNNkUwQk4sU0FBUyxFckp2Q0wsVUFBdUI7TXFKd0MzQixXQUFXLEVBQUUsR0FBRztNQUNoQixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osYUFBYSxFQUFFLEdBQUc7TUFDbEIsT0FBTyxFQUFFLFlBQVk7TUFDckIsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLEdBQUc7TUFDWixZQUFZLEVBQUUsSUFBSSxHQUNuQjtJQTVCTCxBQThCSSxVQTlCTSxDQUFDLEVBQUUsQUFBQSwyQkFBMkIsQ0FJdEMsRUFBRSxBQTBCQyxPQUFPLENBQUM7TUFDUCxLQUFLLEU3RWpDTyxPQUFPLEc2RXNDcEI7TUFwQ0wsQUFpQ00sVUFqQ0ksQ0FBQyxFQUFFLEFBQUEsMkJBQTJCLENBSXRDLEVBQUUsQUEwQkMsT0FBTyxBQUdMLE9BQU8sQ0FBQztRQUNQLFVBQVUsRTdFcENBLE9BQU8sRzZFcUNsQjtJQW5DUCxBQXNDSSxVQXRDTSxDQUFDLEVBQUUsQUFBQSwyQkFBMkIsQ0FJdEMsRUFBRSxDQWtDQSxDQUFDLENBQUM7TUFDQSxTQUFTLEVySjNETCxTQUF1QjtNcUo0RDNCLEtBQUssRTdFN0RDLElBQUksRzZFOERYO0VyRllELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXFGckR2QyxBQUlFLFVBSlEsQ0FBQyxFQUFFLEFBQUEsMkJBQTJCLENBSXRDLEVBQUUsQ0EwQ0c7TUFDRCxTQUFTLEVBQUUsQ0FBQztNQUNaLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE1BQU0sRUFBRSxNQUFNO01BQ2QsYUFBYSxFQUFFLEdBQUcsR0FhbkI7TUEvREwsQUFzQ0ksVUF0Q00sQ0FBQyxFQUFFLEFBQUEsMkJBQTJCLENBSXRDLEVBQUUsQ0FrQ0EsQ0FBQyxDQWNHO1FBQ0EsU0FBUyxFQUFFLENBQUMsR0FDYjtNQXREUCxBQThCSSxVQTlCTSxDQUFDLEVBQUUsQUFBQSwyQkFBMkIsQ0FJdEMsRUFBRSxBQTBCQyxPQUFPLENBMEJHO1FBQ1AsU0FBUyxFcko3RVAsT0FBdUIsR3FKOEUxQjtNQTFEUCxBQTRETSxVQTVESSxDQUFDLEVBQUUsQUFBQSwyQkFBMkIsQ0E4Q3BDLEVBQUUsQUFjQyxjQUFjLENBQUM7UUFDZCxXQUFXLEVBQUUsQ0FBQyxHQUNmO0VyRlRILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXFGckR2QyxBQUFBLFVBQVUsQ0FBQyxFQUFFLEFBQUEsMkJBQTJCLENBQUM7TUFtRXJDLFVBQVUsRUFBRSxNQUFNO01BQ2xCLE9BQU8sRUFBRSxZQUFZLEdBY3hCO01BbEZELEFBSUUsVUFKUSxDQUFDLEVBQUUsQUFBQSwyQkFBMkIsQ0FJdEMsRUFBRSxDQWtFRztRM0c1RkgsTUFBTSxFMkc2RlUsSUFBSTtRM0dyRnBCLEtBQUssRTJHcUZXLElBQUk7UUFDbEIsTUFBTSxFQUFFLE9BQU87UUFDZixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxZQUFZLEdBTXRCO1FBaEZMLEFBNEVNLFVBNUVJLENBQUMsRUFBRSxBQUFBLDJCQUEyQixDQXNFcEMsRUFBRSxDQU1BLENBQUMsRUE1RVAsVUFBVSxDQUFDLEVBQUUsQUFBQSwyQkFBMkIsQ0FzRXBDLEVBQUUsQUFPQyxPQUFPLENBQUM7VUFDUCxTQUFTLEVBQUUsQ0FBQyxHQUNiOztBQUtQLEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsZ0JBQWdCLEU3RWxFRyxPQUFPO0VWN0IxQixPQUFPLEV1RmdHTSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FtZ0J6QjtFckZwaUJHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXFGK0J4QyxBQUFBLHdCQUF3QixDQUFDO012RjlGdkIsT0FBTyxFdUZtR1EsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBZ2dCOUI7RUFyZ0JELEFBUUUsd0JBUnNCLENBUXRCLGdCQUFnQixDQUFDO0lBQ2YsZ0JBQWdCLEU3RXhFWCxJQUFJO0k2RXlFVCxTQUFTLEVBQUUsTUFBTTtJQUNqQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxNQUFNO0lBQ2QsYUFBYSxFQUFFLElBQUk7SXZGM0dyQixPQUFPLEV1RjRHUSxDQUFDLENBQUMsS0FBSyxHQVNyQjtJckZ0REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNcUYrQnhDLEFBUUUsd0JBUnNCLENBUXRCLGdCQUFnQixDQUFDO1F2RnRHakIsT0FBTyxFdUYrR1UsQ0FBQyxDQUFDLElBQUksR0FNdEI7SXJGdERDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXFGK0J2QyxBQVFFLHdCQVJzQixDQVF0QixnQkFBZ0IsQ0FBQztRdkZ0R2pCLE9BQU8sRXVGbUhVLENBQUMsQ0FBQyxJQUFJLEdBRXRCO0VBdkJILEFBeUJFLHdCQXpCc0IsQ0F5QnRCLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxXQUFXLEdBQ3JCO0VBM0JILEFBNkJFLHdCQTdCc0IsQ0E2QnRCLGFBQWEsQ0FBQztJQUNaLGNBQWMsRUFBRSxLQUFLLEdBQ3RCO0VyRjlEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lxRitCeEMsQUFpQ0Usd0JBakNzQixDQWlDdEIsYUFBYTtJQWpDZix3QkFBd0IsQ0FrQ3RCLFlBQVksQ0FBQztNM0Z2SGIsU0FBUyxFMkY0SG9CLEtBQUs7TTNGMUhoQyxXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJLEcyRnVKWjtNQXJFSCxBcEg3R0Usd0JvSDZHc0IsQ0FpQ3RCLGFBQWEsQXBIOUlaLE9BQU87TW9INkdWLHdCQUF3QixDQWtDdEIsWUFBWSxBcEgvSVgsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXFGK0J4QyxBQWlDRSx3QkFqQ3NCLENBaUN0QixhQUFhO0lBakNmLHdCQUF3QixDQWtDdEIsWUFBWSxDQUFDO00zRnZIYixTQUFTLEUyRmdJb0IsS0FBSztNM0Y5SGhDLFdBQUksRUFBRSxJQUFJO01BQ1YsWUFBSyxFQUFFLElBQUksRzJGdUpaO01BckVILEFwSDdHRSx3Qm9INkdzQixDQWlDdEIsYUFBYSxBcEg5SVosT0FBTztNb0g2R1Ysd0JBQXdCLENBa0N0QixZQUFZLEFwSC9JWCxPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJcUYrQnZDLEFBaUNFLHdCQWpDc0IsQ0FpQ3RCLGFBQWE7SUFqQ2Ysd0JBQXdCLENBa0N0QixZQUFZLENBQUM7TTNGdkhiLFNBQVMsRTJGb0lvQixLQUFLO00zRmxJaEMsV0FBSSxFQUFFLElBQUk7TUFDVixZQUFLLEVBQUUsSUFBSSxHMkZ1Slo7TUFyRUgsQXBIN0dFLHdCb0g2R3NCLENBaUN0QixhQUFhLEFwSDlJWixPQUFPO01vSDZHVix3QkFBd0IsQ0FrQ3RCLFlBQVksQXBIL0lYLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO01vSHlHSCxBQWlETSx3QkFqRGtCLENBaUN0QixhQUFhLEFBZ0JSLFlBQVk7TUFqRG5CLHdCQUF3QixDQWtDdEIsWUFBWSxBQWVQLFlBQVksQ0FBQztRQUNaLE9BQU8sRUFBRSxNQUFNLEdBQ2hCO01BbkRQLEFBcURNLHdCQXJEa0IsQ0FpQ3RCLGFBQWEsQUFvQlIsYUFBYTtNQXJEcEIsd0JBQXdCLENBa0N0QixZQUFZLEFBbUJQLGFBQWEsQ0FBQztRQUNiLGNBQWMsRUFBRSxJQUFJLEdBQ3JCO0VyRnRGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lxRitCdkMsQUFpQ0Usd0JBakNzQixDQWlDdEIsYUFBYTtJQWpDZix3QkFBd0IsQ0FrQ3RCLFlBQVksQ0FBQztNM0Z2SGIsU0FBUyxFMkZnSm9CLElBQUk7TTNGOUkvQixXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJLEcyRnVKWjtNQXJFSCxBcEg3R0Usd0JvSDZHc0IsQ0FpQ3RCLGFBQWEsQXBIOUlaLE9BQU87TW9INkdWLHdCQUF3QixDQWtDdEIsWUFBWSxBcEgvSVgsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TW9IeUdILEFBaURNLHdCQWpEa0IsQ0FpQ3RCLGFBQWEsQUFnQlIsWUFBWTtNQWpEbkIsd0JBQXdCLENBa0N0QixZQUFZLEFBZVAsWUFBWSxDQVlDO1FBQ1osT0FBTyxFQUFFLFdBQVcsR0FDckI7TUEvRFAsQUFxRE0sd0JBckRrQixDQWlDdEIsYUFBYSxBQW9CUixhQUFhO01BckRwQix3QkFBd0IsQ0FrQ3RCLFlBQVksQUFtQlAsYUFBYSxDQVlDO1FBQ2IsT0FBTyxFQUFFLFFBQVEsR0FDbEI7RUFuRVAsQUF1RUUsd0JBdkVzQixDQXVFdEIsV0FBVyxDQUFDO0lBQ1YsS0FBSyxFQUFFLElBQUksR0FLWjtJQTdFSCxBQTBFSSx3QkExRW9CLENBdUV0QixXQUFXLENBR1QsQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLElBQUksR0FDZDtFQTVFTCxBQStFRSx3QkEvRXNCLENBK0V0QixJQUFJLENBQUM7STFGbklILEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUM7SThGNEwzQyxRQUFRLEVBQUUsUUFBUSxHQWlFbkI7SUFsSkgsQTFGL0JNLHdCMEYrQmtCLENBK0V0QixJQUFJLEExRjlHQyxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7STBGNkJQLEFBbUZJLHdCQW5Gb0IsQ0ErRXRCLElBQUksQ0FJRixLQUFLLENBQUM7TUFDSixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxRQUFRLEdBQ2pCO0lBdEZMLEFBd0ZJLHdCQXhGb0IsQ0ErRXRCLElBQUksQ0FTRixLQUFLLENBQUMsRUFBRSxDQUFDO01BQ1AsU0FBUyxFdEpuTUwsUUFBc0I7TXNKb00xQixjQUFjLEVBQUUsU0FBUztNQUN6QixLQUFLLEU3RXZNZSxPQUFPO002RXdNM0IsV0FBVyxFQUFFLElBQUk7TXZGMUxyQixPQUFPLEV1RjJMVSxHQUFHLENBQUMsQ0FBQyxHQUNuQjtJQTlGTCxBQWtHTSx3QkFsR2tCLENBK0V0QixJQUFJLENBaUJGLEtBQUssQ0FFSCxFQUFFLENBQUM7TXZGaE1QLE9BQU8sRXVGaU1ZLENBQUMsR0FhZjtNQWhIUCxBQXVHVSx3QkF2R2MsQ0ErRXRCLElBQUksQ0FpQkYsS0FBSyxDQUVILEVBQUUsQUFHQyxVQUFVLEFBQUEsT0FBTyxDQUVoQixpQkFBaUI7TUF2RzNCLHdCQUF3QixDQStFdEIsSUFBSSxDQWlCRixLQUFLLENBRUgsRUFBRSxBQUdDLFVBQVUsQUFBQSxPQUFPLENBR2hCLG9CQUFvQixDQUFDO1FBQ25CLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUExR1gsQUE2R1Esd0JBN0dnQixDQStFdEIsSUFBSSxDQWlCRixLQUFLLENBRUgsRUFBRSxBQVdDLEtBQUssQ0FBQztRQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUEvR1QsQUFrSE0sd0JBbEhrQixDQStFdEIsSUFBSSxDQWlCRixLQUFLLENBa0JILEVBQUUsQ0FBQztNdkZoTlAsT0FBTyxFdUZpTlksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQ3pCO0lyRm5KSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01xRitCeEMsQUErRUUsd0JBL0VzQixDQStFdEIsSUFBSSxDQUFDO1ExRm5JSCxLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELElBQXFDLEc4RjZQNUM7UUFsSkgsQTFGL0JNLHdCMEYrQmtCLENBK0V0QixJQUFJLEExRjlHQyxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SUtGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRitCdkMsQUFtRkksd0JBbkZvQixDQStFdEIsSUFBSSxDQUlGLEtBQUssQ0EwQ0c7UUFDSixNQUFNLEVBQUUsUUFBUSxHQUNqQjtNQS9IUCxBQXdGSSx3QkF4Rm9CLENBK0V0QixJQUFJLENBU0YsS0FBSyxDQUFDLEVBQUUsQ0F5Q0c7UXZGL05iLE9BQU8sRXVGZ09ZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUNyQjtNQW5JUCxBQXFJTSx3QkFySWtCLENBK0V0QixJQUFJLENBc0RBLDJCQUEyQjtNQXJJakMsd0JBQXdCLENBK0V0QixJQUFJLENBdURBLGdDQUFnQztNQXRJdEMsd0JBQXdCLENBK0V0QixJQUFJLENBd0RBLGdDQUFnQyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUF6SVAsQUFrSE0sd0JBbEhrQixDQStFdEIsSUFBSSxDQWlCRixLQUFLLENBa0JILEVBQUUsQ0EyQkc7UXZGM09ULE9BQU8sRXVGNE9jLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUN4QjtFQS9JVCxBQW9KRSx3QkFwSnNCLENBb0p0QixFQUFFLENBQUM7SUFDRCxTQUFTLEVySjdQSCxNQUF1QjtJcUo4UDdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxNQUFNLEdBS3ZCO0lyRjdMQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRitCdkMsQUFvSkUsd0JBcEpzQixDQW9KdEIsRUFBRSxDQUFDO1FBUUMsU0FBUyxFckpwUUwsT0FBdUIsR3FKc1E5QjtFQTlKSCxBQWdLRSx3QkFoS3NCLENBZ0t0QixFQUFFLENBQUM7SUFDRCxXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVySjFRSCxTQUF1QjtJcUoyUTdCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0lyRnZNQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRitCdkMsQUFnS0Usd0JBaEtzQixDQWdLdEIsRUFBRSxDQUFDO1FBTUMsU0FBUyxFcko5UUwsUUFBdUIsR3FKZ1I5QjtFQXhLSCxBQTBLRSx3QkExS3NCLENBMEt0QixZQUFZLENBQUM7SUFDWCxTQUFTLEVySm5SSCxTQUF1QjtJcUpvUjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO0VBOUtILEFBZ0xFLHdCQWhMc0IsQ0FnTHRCLEtBQUssQUFBQSxpQkFBaUIsQ0FBQztJQUNyQixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRTdFelFTLE9BQU87STZFMFFyQixPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRXRKL1JILE1BQXNCO0lzSmdTNUIsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7RUF4TEgsQUEwTEUsd0JBMUxzQixDQTBMdEIsb0JBQW9CLENBQUM7SUFDbkIsS0FBSyxFQUFFLEdBQUc7SUFDVixTQUFTLEVBQUUsS0FBSyxHQU1qQjtJckZqT0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUYrQnZDLEFBMExFLHdCQTFMc0IsQ0EwTHRCLG9CQUFvQixDQUFDO1FBS2pCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLEtBQUssRUFBRSxpQkFBaUIsR0FFM0I7RUFsTUgsQUFvTUUsd0JBcE1zQixDQW9NdEIsMEJBQTBCLENBQUM7SUFDekIsS0FBSyxFQUFFLEtBQUs7SUFDWixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVBQUUsTUFBTSxHQW1GbkI7SUEzUkgsQUEwTUksd0JBMU1vQixDQW9NdEIsMEJBQTBCLENBTXhCLFVBQVUsQ0FBQztNQUNULE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDN0VoVEQsT0FBTztNNkVpVHZCLE9BQU8sRUFBRSxLQUFLO01BQ2QsYUFBYSxFQUFFLEdBQUc7TUFDbEIsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEVBQUUsS0FBSztNQUNaLE1BQU0sRUFBRSxNQUFNLEdBQ2Y7SUFqTkwsQUFtTkksd0JBbk5vQixDQW9NdEIsMEJBQTBCLENBZXhCLGlDQUFpQyxDQUFDO01BQ2hDLFVBQVUsRUFBRSxJQUFJLEdBcUJqQjtNQXpPTCxBQXNOTSx3QkF0TmtCLENBb010QiwwQkFBMEIsQ0FleEIsaUNBQWlDLENBRy9CLENBQUMsQ0FBQztRQUNBLEtBQUssRTdFNVNLLE9BQU87UTZFNlNqQixXQUFXLEVBQUUsR0FBRyxHQU1qQjtRQTlOUCxBQTBOUSx3QkExTmdCLENBb010QiwwQkFBMEIsQ0FleEIsaUNBQWlDLENBRy9CLENBQUMsQUFJRSxNQUFNLENBQUM7VUFDTixVQUFVLEVBQUUsQ0FBQztVQUNiLEtBQUssRTdFalRHLE9BQU8sRzZFa1RoQjtNQTdOVCxBQWdPTSx3QkFoT2tCLENBb010QiwwQkFBMEIsQ0FleEIsaUNBQWlDLEFBYTlCLDBDQUEwQyxBQUFBLElBQUssQ0FBQSwwQ0FBMEMsRUFBRTtRQUMxRixPQUFPLEVBQUUsR0FBRyxHQU1iO1FBdk9QLEFBbU9RLHdCQW5PZ0IsQ0FvTXRCLDBCQUEwQixDQWV4QixpQ0FBaUMsQUFhOUIsMENBQTBDLEFBQUEsSUFBSyxDQUFBLDBDQUEwQyxFQUd4RixDQUFDLENBQUM7VUFDQSxNQUFNLEVBQUUsT0FBTztVQUNmLGNBQWMsRUFBRSxJQUFJLEdBQ3JCO0lBdE9ULEFBMk9JLHdCQTNPb0IsQ0FvTXRCLDBCQUEwQixDQXVDeEIsVUFBVSxDQUFDO01BQ1QsTUFBTSxFQUFFLENBQUM7TUFDVCxVQUFVLEVBQUUsQ0FBQztNQUNiLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDN0VwVlYsT0FBTztNNkVxVm5CLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDN0VyVlgsT0FBTztNNkVzVm5CLEtBQUssRUFBRSxPQUFPO01BQ2QsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLEtBQUssR0FDZjtJckZsUkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUYrQnZDLEFBb01FLHdCQXBNc0IsQ0FvTXRCLDBCQUEwQixDQUFDO1FBa0R2QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLEdBbUNiO1FBM1JILEFBME1JLHdCQTFNb0IsQ0FvTXRCLDBCQUEwQixDQU14QixVQUFVLENBZ0RHO1VBQ1QsUUFBUSxFQUFFLFFBQVE7VUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3RWpXSCxPQUFPO1U2RWtXckIsT0FBTyxFQUFFLEtBQUs7VUFDZCxNQUFNLEVBQUUsSUFBSTtVQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1o7UUFoUVAsQUFtTkksd0JBbk5vQixDQW9NdEIsMEJBQTBCLENBZXhCLGlDQUFpQyxDQStDRztVOUdyV3RDLFFBQVEsRThHc1dnQixRQUFRO1U5R2xXNUIsR0FBVSxFOEdrV29CLEdBQUc7VTlHbFdqQyxLQUFVLEU4R2tXd0IsR0FBRztVM0c3V3ZDLE1BQU0sRTJHOFdZLElBQUk7VTNHdFd0QixLQUFLLEUyR3NXYSxJQUFJLEdBZW5CO1VBblJQLEFBc1FRLHdCQXRRZ0IsQ0FvTXRCLDBCQUEwQixDQThEdEIsaUNBQWlDLEFBSTlCLDBDQUEwQyxDQUFDO1lBQzFDLEdBQUcsRUFBRSxPQUFPO1lBQ1osTUFBTSxFQUFFLEdBQUcsR0FDWjtVQXpRVCxBQXNOTSx3QkF0TmtCLENBb010QiwwQkFBMEIsQ0FleEIsaUNBQWlDLENBRy9CLENBQUMsQ0FxREc7WUFDQSxPQUFPLEVBQUUsQ0FBQztZQUNWLE1BQU0sRUFBRSxDQUFDO1lBQ1QsV0FBVyxFQUFFLEdBQUc7WTNHeFh0QixNQUFNLEUyR3lYYyxJQUFJO1kzR2pYeEIsS0FBSyxFMkdpWGUsSUFBSTtZQUNsQixhQUFhLEVBQUUsQ0FBQztZOUduWHhCLFFBQVEsRThHb1hrQixRQUFRO1k5R2hYOUIsR0FBVSxFOEdnWHNCLENBQUM7WTlHaFhqQyxJQUFVLEU4R2dYa0MsQ0FBQyxHQUMxQztRQWxSVCxBQTJPSSx3QkEzT29CLENBb010QiwwQkFBMEIsQ0F1Q3hCLFVBQVUsQ0EwQ0c7VUFDVCxNQUFNLEVBQUUsQ0FBQztVQUNULEtBQUssRUFBRSxJQUFJO1VBQ1gsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUF6UlAsQUE2UkUsd0JBN1JzQixDQTZSdEIsRUFBRSxBQUFBLDJCQUEyQjtFQTdSL0Isd0JBQXdCLENBOFJ0QixFQUFFLEFBQUEsZ0NBQWdDO0VBOVJwQyx3QkFBd0IsQ0ErUnRCLEVBQUUsQUFBQSxnQ0FBZ0MsQ0FBQztJQUNqQyxVQUFVLEVBQUUsS0FBSztJQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQWxTSCxBQW9TRSx3QkFwU3NCLENBb1N0QixFQUFFLEFBQUEsMkJBQTJCO0VBcFMvQix3QkFBd0IsQ0FxU3RCLEVBQUUsQUFBQSxnQ0FBZ0M7RUFyU3BDLHdCQUF3QixDQXNTdEIsRUFBRSxBQUFBLGdDQUFnQyxDQUFDO0lBQ2pDLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRXJKaFpILElBQXVCO0lxSmlaN0IsVUFBVSxFQUFFLEtBQUs7SUFDakIsS0FBSyxFN0V4WlUsT0FBTztJNkV5WnRCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBN1NILEFBK1NFLHdCQS9Tc0IsQ0ErU3RCLEVBQUUsQUFBQSwwQkFBMEIsQ0FBQztJQUMzQixPQUFPLEVBQUUsV0FBVyxHQUNyQjtFQWpUSCxBQXVUSSx3QkF2VG9CLENBbVR0QixvQ0FBb0MsQ0FJbEMsZ0JBQWdCO0VBdlRwQix3QkFBd0IsQ0FtVHRCLG9DQUFvQyxDQUtsQyxpQ0FBaUM7RUF4VHJDLHdCQUF3QixDQW9UdEIsY0FBYyxDQUdaLGdCQUFnQjtFQXZUcEIsd0JBQXdCLENBb1R0QixjQUFjLENBSVosaUNBQWlDO0VBeFRyQyx3QkFBd0IsQ0FxVHRCLE9BQU8sQ0FFTCxnQkFBZ0I7RUF2VHBCLHdCQUF3QixDQXFUdEIsT0FBTyxDQUdMLGlDQUFpQyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUExVEwsQUE0VEksd0JBNVRvQixDQW1UdEIsb0NBQW9DLENBU2xDLDBCQUEwQixDQUFDLFVBQVU7RUE1VHpDLHdCQUF3QixDQW9UdEIsY0FBYyxDQVFaLDBCQUEwQixDQUFDLFVBQVU7RUE1VHpDLHdCQUF3QixDQXFUdEIsT0FBTyxDQU9MLDBCQUEwQixDQUFDLFVBQVUsQ0FBQztJQUNwQyxNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBOVRMLEFBZ1VJLHdCQWhVb0IsQ0FtVHRCLG9DQUFvQyxDQWFsQywwQkFBMEIsQ0FBQyxVQUFVO0VBaFV6Qyx3QkFBd0IsQ0FvVHRCLGNBQWMsQ0FZWiwwQkFBMEIsQ0FBQyxVQUFVO0VBaFV6Qyx3QkFBd0IsQ0FxVHRCLE9BQU8sQ0FXTCwwQkFBMEIsQ0FBQyxVQUFVLENBQUM7SUFDcEMsV0FBVyxFQUFFLENBQUM7SUFDZCxZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsY0FBYyxFQUFFLElBQUk7SUFDcEIsS0FBSyxFQUFFLE9BQU8sR0FDZjtFQXRVTCxBQTBVRSx3QkExVXNCLENBMFV0QixrQkFBa0IsQ0FBQztJQUNqQixNQUFNLEVBQUUsUUFBUTtJOUc5YWxCLFFBQVEsRThHK2FZLFFBQVE7STlHM2F4QixLQUFVLEU4RzJhcUIsS0FBSyxHQW9DdkM7SUFoWEgsQUE4VUksd0JBOVVvQixDQTBVdEIsa0JBQWtCLENBSWhCLElBQUksQ0FBQztNQUNILE9BQU8sRUFBRSxZQUFZO01BQ3JCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0lBalZMLEFBbVZJLHdCQW5Wb0IsQ0EwVXRCLGtCQUFrQixDQVNoQixzQkFBc0IsQ0FBQztNQUNyQixTQUFTLEV0SjliTCxPQUFzQjtNc0orYjFCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRTdFbmNhLE9BQU87TTZFb2N6QixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsT0FBTztNQUN2QixjQUFjLEVBQUUsU0FBUyxHQUMxQjtJQTFWTCxBQTRWSSx3QkE1Vm9CLENBMFV0QixrQkFBa0IsQ0FrQmhCLG9CQUFvQixDQUFDO01BQ25CLFNBQVMsRXRKdmNMLEtBQXNCO01zSndjMUIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLElBQUk7TUFDakIsS0FBSyxFN0UzY2UsT0FBTztNNkU0YzNCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0lyRmpZRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xRitCdkMsQUEwVUUsd0JBMVVzQixDQTBVdEIsa0JBQWtCLENBQUM7UUEyQmYsTUFBTSxFQUFFLENBQUM7UTlHeGNiLFFBQVEsRThHeWNjLFFBQVE7UTlHcmMxQixHQUFVLEU4R3Fja0IsT0FBTztROUdyY25DLEtBQVUsRThHcWNrQixPQUFPO1E5R3JjbkMsTUFBVSxFOEdxY2tCLE9BQU87UTlHcmNuQyxJQUFVLEU4R3Fja0IsT0FBTztRQUNuQyxLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLFVBQVUsRUFBRSxJQUFJLEdBTW5CO1FBaFhILEFBNFZJLHdCQTVWb0IsQ0EwVXRCLGtCQUFrQixDQWtCaEIsb0JBQW9CLENBZ0JHO1VBQ25CLFNBQVMsRXJKcmRQLE9BQXVCLEdxSnNkMUI7RUE5V1AsQUFrWEUsd0JBbFhzQixDQWtYdEIsYUFBYSxDQUFDO0lBQ1osS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsV0FBVyxHQVNwQjtJckY1WkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUYrQnZDLEFBa1hFLHdCQWxYc0IsQ0FrWHRCLGFBQWEsQ0FBQztRQUtWLE9BQU8sRUFBRSxLQUFLO1FBQ2QsY0FBYyxFQUFFLE1BQU07UUFDdEIsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsVUFBVTtRQUNsQixVQUFVLEVBQUUsSUFBSSxHQUVuQjtFQTdYSCxBQStYRSx3QkEvWHNCLENBK1h0QixjQUFjLENBQUM7SUFFYixVQUFVLEU3RXJjQyxPQUFPO0k2RXNjbEIsS0FBSyxFN0U3ZEQsSUFBSTtJNkU4ZFIsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRXJKN2VILFNBQXVCO0lxSjhlN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3RTNjTixPQUFPLEc2RW1kbkI7SUEvWUgsQUF5WUksd0JBellvQixDQStYdEIsY0FBYyxBQVVYLE1BQU0sQ0FBQztNQUNOLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CO01BQzVDLFVBQVUsRTdFMWNQLElBQUk7TTZFMmNQLEtBQUssRTdFaGRJLE9BQU87TTZFaWRoQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzdFamRSLE9BQU8sRzZFa2RqQjtFQTlZTCxBQWlaRSx3QkFqWnNCLENBaVp0QixnQkFBZ0IsQ0FBQztJQUNmLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLElBQUksR0FPYjtJQUxDLE1BQU0sRUFBQyxTQUFTLEVBQUUsS0FBSztNQXJaM0IsQUFpWkUsd0JBalpzQixDQWladEIsZ0JBQWdCLENBQUM7UUFLYixRQUFRLEVBQUUsUUFBUTtRQUNsQixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxJQUFJLEdBRWY7RUExWkgsQUE0WkUsd0JBNVpzQixDQTRadEIsWUFBWTtFQTVaZCx3QkFBd0IsQ0E2WnRCLGVBQWUsQ0FBQztJQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUEvWkgsQUFpYUUsd0JBamFzQixDQWlhdEIsaUJBQWlCO0VBamFuQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQUFDO0kxRnRkbkIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHOEZvbEI1QztJQXplSCxBMUYvQk0sd0IwRitCa0IsQ0FpYXRCLGlCQUFpQixBMUZoY1osV0FBVztJMEYrQmxCLHdCQUF3QixDQWthdEIsb0JBQW9CLEExRmpjZixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7STBGNkJQLEFBcWFJLHdCQXJhb0IsQ0FpYXRCLGlCQUFpQixDQUlmLFVBQVU7SUFyYWQsd0JBQXdCLENBa2F0QixvQkFBb0IsQ0FHbEIsVUFBVSxDQUFDO01BQ1QsTUFBTSxFQUFFLENBQUMsR0FDVjtJQXZhTCxBQXlhSSx3QkF6YW9CLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZO0lBemFoQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQU9sQixZQUFZLENBQUM7TUFFWCxXQUFXLEVBQUUsR0FBRztNQUNoQixPQUFPLEVBQUUsYUFBYTtNQUN0QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzdFbGdCTCxPQUFPO002RW1nQm5CLFVBQVUsRUFBRSxJQUFJLEdBUWpCO01BdGJMLEFBZ2JNLHdCQWhia0IsQ0FpYXRCLGlCQUFpQixDQVFmLFlBQVksQUFPVCxNQUFNO01BaGJiLHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksQUFPVCxNQUFNLENBQUM7UUFDTixXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEU3RXZnQkssT0FBTztRNkV5Z0JqQixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixHQUM3QztJQXJiUCxBQXdiSSx3QkF4Ym9CLENBaWF0QixpQkFBaUIsQ0F1QmYsNEJBQTRCO0lBeGJoQyx3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQXNCbEIsNEJBQTRCLENBQUM7TUFDM0IsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLEdBQUcsR0FDWDtJQTNiTCxBQTZiSSx3QkE3Ym9CLENBaWF0QixpQkFBaUIsQ0E0QmYsS0FBSztJQTdiVCx3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQTJCbEIsS0FBSyxDQUFDO01BQ0osTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEU3RTNpQmUsT0FBTztNNkU0aUIzQixTQUFTLEV0SjFpQkwsUUFBc0I7TXNKMmlCMUIsV0FBVyxFQUFFLE1BQU07TUFDbkIsV0FBVyxFQUFFLElBQUk7TUFDakIsUUFBUSxFQUFFLG1CQUFtQixHQUs5QjtNQXhjTCxBQXFjTSx3QkFyY2tCLENBaWF0QixpQkFBaUIsQ0E0QmYsS0FBSyxDQVFILGNBQWM7TUFyY3BCLHdCQUF3QixDQWthdEIsb0JBQW9CLENBMkJsQixLQUFLLENBUUgsY0FBYyxDQUFDO1FBQ2IsT0FBTyxFQUFFLElBQUksR0FDZDtJQXZjUCxBQTBjSSx3QkExY29CLENBaWF0QixpQkFBaUIsQ0F5Q2YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtJQTFjVix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQXdDbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO012RnhpQnJCLE9BQU8sRXVGeWlCVSxJQUFJLENBQUMsSUFBSTtNQUN0QixTQUFTLEV0SnRqQkwsT0FBc0I7TXNKdWpCMUIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFN0UzakJhLE9BQU87TTZFNGpCekIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsY0FBYyxFQUFFLE9BQU87TUFDdkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3RXRqQkQsT0FBTztNNkV1akJ2QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtJckZsZkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNcUYrQnZDLEFBaWFFLHdCQWphc0IsQ0FpYXRCLGlCQUFpQjtNQWphbkIsd0JBQXdCLENBa2F0QixvQkFBb0IsQ0FBQztRQW9EakIsT0FBTyxFQUFFLFlBQVk7UUFDckIsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxRQUFRLEdBZ0JuQjtRQXplSCxBQXlhSSx3QkF6YW9CLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZO1FBemFoQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQU9sQixZQUFZLENBa0RHO1VBQ1gsVUFBVSxFQUFFLEdBQUc7VUFDZixLQUFLLEVBQUUsS0FBSztVQUNaLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO1FBL2RQLEFBd2JJLHdCQXhib0IsQ0FpYXRCLGlCQUFpQixDQXVCZiw0QkFBNEI7UUF4YmhDLHdCQUF3QixDQWthdEIsb0JBQW9CLENBc0JsQiw0QkFBNEIsQ0F5Q0c7VUFDM0IsS0FBSyxFQUFFLGtCQUFrQixHQUMxQjtRQW5lUCxBQTZiSSx3QkE3Ym9CLENBaWF0QixpQkFBaUIsQ0E0QmYsS0FBSztRQTdiVCx3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQTJCbEIsS0FBSyxDQXdDRztVQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUF2ZVAsQUEyZUUsd0JBM2VzQixDQTJldEIseUJBQXlCLENBQUM7SUFDeEIsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVySnJsQkgsUUFBdUI7SXFKc2xCN0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3RXBrQkgsT0FBTztJNkVxa0JyQixPQUFPLEVBQUUsSUFBSTtJQUNiLGFBQWEsRUFBRSxJQUFJLEdBb0JwQjtJQWxCQyxNQUFNLEVBQUMsU0FBUyxFQUFFLEtBQUs7TUFsZjNCLEFBMmVFLHdCQTNlc0IsQ0EyZXRCLHlCQUF5QixDQUFDO1FBUXRCLEtBQUssRUFBRSxrQkFBa0I7UUFDekIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLElBQUksR0FlWjtJQXBnQkgsQUF3Zkksd0JBeGZvQixDQTJldEIseUJBQXlCLENBYXZCLEtBQUssQ0FBQztNQUNKLEtBQUssRTdFdm1CUSxPQUFPO002RXdtQnBCLFNBQVMsRXJKbG1CTCxTQUF1QixHcUptbUI1QjtJQTNmTCxBQTZmSSx3QkE3Zm9CLENBMmV0Qix5QkFBeUIsQ0FrQnZCLFlBQVksQ0FBQztNQUNYLFNBQVMsRXJKdG1CTCxPQUF1QjtNcUp1bUIzQixPQUFPLEVBQUUsR0FBRztNQUNaLE9BQU8sRUFBRSxDQUFDO01BQ1YsTUFBTSxFQUFFLENBQUM7TUFDVCxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFJTCxBQUFBLDhCQUE4QixDQUFDO0UzRjVsQjdCLFNBQVMsRUxkQyxLQUFLO0VLZ0JiLFdBQUksRUFBRSxJQUFJO0VBQ1YsWUFBSyxFQUFFLElBQUk7RTJGMmxCYixPQUFPLEVBQUUsTUFBTSxHQVdoQjtFQWJELEFwSHBuQkUsOEJvSG9uQjRCLEFwSHBuQjNCLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VvSGduQkgsQUFJRSw4QkFKNEIsQ0FJNUIsOEJBQThCLENBQUM7STFGL2pCN0IsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHOEZ3bkI1QztJQU5ILEExRnRpQk0sOEIwRnNpQndCLENBSTVCLDhCQUE4QixBMUYxaUJ6QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTBGb2lCUCxBQVFFLDhCQVI0QixDQVE1QixtQkFBbUIsQ0FBQztJMUZua0JsQixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0lNbUM3QyxXQUE2QixFQUFTLFNBQXNGO0lKVXhILFlBQW9CLEVBQVMsQ0FBQyxHNEZpbEJqQztJQVpILEExRnRpQk0sOEIwRnNpQndCLENBUTVCLG1CQUFtQixBMUY5aUJkLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QTBGbWpCUCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsU0FBUyxFdEpqb0JELFFBQXNCO0VzSmtvQjlCLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLGNBQWMsRUFBRSxTQUFTO0V2RnZuQnpCLE9BQU8sRXVGd25CTSxJQUFJLENBQUMsQ0FBQztFQUNuQixVQUFVLEVBQUUsbUJBQW1CO0UzRmhuQi9CLFNBQVMsRUxkQyxLQUFLO0VLZ0JiLFdBQUksRUFBRSxJQUFJO0VBQ1YsWUFBSyxFQUFFLElBQUksRzJGNG5CZDtFQXBCRCxBcEhub0JFLGdCb0htb0JjLEFwSG5vQmIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXFGcWpCeEMsQUFBQSxnQkFBZ0IsQ0FBQztNM0YzbUJmLFNBQVMsRTJGcW5Ca0IsS0FBSztNM0ZubkI5QixXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJLEcyRjRuQmQ7TUFwQkQsQXBIbm9CRSxnQm9IbW9CYyxBcEhub0JiLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lxRnFqQnZDLEFBQUEsZ0JBQWdCLENBQUM7TTNGM21CZixTQUFTLEUyRnluQmtCLEtBQUs7TTNGdm5COUIsV0FBSSxFQUFFLElBQUk7TUFDVixZQUFLLEVBQUUsSUFBSSxHMkY0bkJkO01BcEJELEFwSG5vQkUsZ0JvSG1vQmMsQXBIbm9CYixPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJcUZxakJ2QyxBQUFBLGdCQUFnQixDQUFDO00zRjNtQmYsU0FBUyxFMkY2bkJrQixJQUFJO00zRjNuQjdCLFdBQUksRUFBRSxJQUFJO01BQ1YsWUFBSyxFQUFFLElBQUksRzJGNG5CZDtNQXBCRCxBcEhub0JFLGdCb0htb0JjLEFwSG5vQmIsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FvSHFwQkgsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixTQUFTLEV0SnZwQkQsT0FBc0I7RXNKd3BCOUIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBRUQsQUFFRSxnQ0FGOEIsQ0FFOUIsU0FBUyxDQUFDLGNBQWM7QUFGMUIsZ0NBQWdDLENBRzlCLGNBQWMsQ0FBQyxtQkFBbUI7QUFIcEMsZ0NBQWdDLENBSTlCLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztFQUNuQyxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUdILEFBQUEsd0VBQXdFLENBQUM7RUFDdkUsUUFBUSxFQUFFLE1BQU07RUFDaEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFFRCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLGdCQUFnQixFN0Vqb0JHLE9BQU87RTZFbW9CMUIsT0FBTyxFQUFFLE1BQU07RUFDZixVQUFVLEVBQUUsTUFBTSxHQU1uQjtFQVZELEFBTUUsc0JBTm9CLENBTXBCLGNBQWMsQ0FBQztJQUNiLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxXQUFXLEdBQ3BCOztBQUdILEFBRUUscUNBRm1DLENBRW5DLDRCQUE0QixDQUFDO0VBQzNCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBQUpILEFBUUkscUNBUmlDLENBTW5DLDRCQUE0QixDQUUxQixRQUFRLENBQUM7RUFDUCxhQUFhLEVBQUUsSUFBSTtFQUNuQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzdFenFCTCxPQUFPO0U2RTBxQm5CLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBWkwsQUFjSSxxQ0FkaUMsQ0FNbkMsNEJBQTRCLENBUTFCLE1BQU0sQ0FBQztFQUNMLFVBQVUsRTdFOXFCRSxPQUFPO0U2RStxQm5CLEtBQUssRTdFdHJCSCxJQUFJO0U2RXVyQk4sS0FBSyxFQUFFLGdCQUFnQjtFQUN2QixPQUFPLEVBQUUsUUFBUTtFQUNqQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUF0QkwsQUF3QkkscUNBeEJpQyxDQU1uQyw0QkFBNEIsQ0FrQjFCLEtBQUssQ0FBQztFQUNKLFNBQVMsRXJKNXNCTCxRQUF1QjtFcUo2c0IzQixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUEzQkwsQUE2QkkscUNBN0JpQyxDQU1uQyw0QkFBNEIsQ0F1QjFCLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxTQUFTLEdBQ25COztBQWxDTCxBQW9DSSxxQ0FwQ2lDLENBTW5DLDRCQUE0QixDQThCMUIsVUFBVSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEdBSzNCO0VBMUNMLEFBdUNNLHFDQXZDK0IsQ0FNbkMsNEJBQTRCLENBOEIxQixVQUFVLEFBR1AsVUFBVyxDQUFBLElBQUksRUFBRTtJQUNoQixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUF6Q1AsQUE2Q0UscUNBN0NtQyxDQTZDbkMsaUJBQWlCLENBQUM7RTNGN3NCbEIsU0FBUyxFTGRDLEtBQUs7RUtnQmIsV0FBSSxFQUFFLElBQUk7RUFDVixZQUFLLEVBQUUsSUFBSTtFMkY0c0JYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsY0FBYyxFQUFFLEtBQUs7RUFDckIsVUFBVSxFQUFFLE1BQU0sR0FNbkI7RUF2REgsQXBIeHJCRSxxQ29Id3JCbUMsQ0E2Q25DLGlCQUFpQixBcEhydUJoQixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFb0hvckJILEFBbURJLHFDQW5EaUMsQ0E2Q25DLGlCQUFpQixDQU1mLEtBQUssQUFBQSxJQUFLLENBQUEsY0FBYztFQW5ENUIscUNBQXFDLENBNkNuQyxpQkFBaUIsQ0FPZixnQkFBZ0IsQ0FBQztJQUNmLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FDdHZCTCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLGdCQUFnQixFOUVtREcsT0FBTyxHOEVsRDNCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsTUFBTTtFeEZnQmQsT0FBTyxFd0ZmTSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FrS3pCO0V0RnBGRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lzRmxGeEMsQUFBQSxjQUFjLENBQUM7TXhGbUJiLE9BQU8sRXdGWlEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBK0o5QjtFdEZwRkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0ZsRnZDLEFBQUEsY0FBYyxDQUFDO014Rm1CYixPQUFPLEV3RlJRLElBQUksQ0FBQyxJQUFJLEdBMkp6QjtFQXhKRSxBQUFELG9CQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxhQUFhO0lBQzlCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLFlBQVksRUFBRSxLQUFLLEdBVXBCO0l0RnNEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01zRnBFckMsQUFBRCxvQkFBTyxDQUFDO1FBT0osWUFBWSxFQUFFLENBQUMsR0FPbEI7SXRGc0RDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNGcEVwQyxBQUFELG9CQUFPLENBQUM7UUFXSixjQUFjLEVBQUUsTUFBTTtRQUN0QixHQUFHLEVBQUUsTUFBTSxHQUVkO0VBRUEsQUFBRCx1QkFBVSxDQUFDO0lBQ1QsV0FBVyxFQUFFLENBQUM7SUFDZCxTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsR0FBRyxHQU1YO0l0RjJDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zRnBEcEMsQUFBRCx1QkFBVSxDQUFDO1FBTVAsU0FBUyxFQUFFLElBQUk7UUFDZixLQUFLLEVBQUUsSUFBSSxHQUVkO0VBRUEsQUFBRCx3QkFBVyxDQUFDO0lBQ1YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLEtBQUs7SUFDWixnQkFBZ0IsRTlFTVgsSUFBSTtJOEVMVCxhQUFhLEVBQUUsSUFBSTtJQUVuQixRQUFRLEVBQUUsTUFBTTtJeEY1QmxCLE9BQU8sRXdGNkJRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtJQUMzQixVQUFVLEVBQUUsS0FBSyxHQVVsQjtJdEZ1QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNc0Z6Q3JDLEFBQUQsd0JBQVcsQ0FBQztReEZ0QlosT0FBTyxFd0ZpQ1UsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBTzlCO0l0RnVCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zRnpDcEMsQUFBRCx3QkFBVyxDQUFDO1FBZVIsU0FBUyxFQUFFLElBQUk7UUFDZixLQUFLLEVBQUUsSUFBSSxHQUVkO0VBRUEsQUFBRCxzQkFBUyxDQUFDO0lBQ1IsU0FBUyxFdEpyREgsTUFBdUI7SXNKc0Q3QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsVUFBVTtJQUMxQixjQUFjLEVBQUUsT0FBTyxHQUt4QjtJQUhDLEFBQUEsOEJBQThCLENBUC9CLHNCQUFRLENBTzBCO01BQy9CLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBR0YsQUFBRCx5QkFBWSxDQUFDO0lBQ1gsU0FBUyxFdEpqRUgsU0FBdUI7SXNKa0U3QixLQUFLLEU5RTlCTSxPQUFPO0k4RStCbEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RWhDYixPQUFPO0k4RWlDbEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RUFFQSxBQUFELHNCQUFTLENBQUM7SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLHFDQUFxQztJQUM1RCxHQUFHLEVBQUUsTUFBTSxHQUNaO0VBRUEsQUFBRCxtQkFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixnQkFBZ0IsRTlFL0NMLE9BQU87SThFZ0RsQixhQUFhLEVBQUUsSUFBSTtJQUNuQixTQUFTLEV0SnJGSCxRQUF1QjtJc0pzRjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTlFOUNBLElBQUk7SThFK0NULFVBQVUsRUFBRSxLQUFLO0l4RjlFbkIsT0FBTyxFd0YrRVEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLGNBQWMsRUFBRSxVQUFVLEdBUTNCO0lBTkUsQUFBRCx3QkFBTSxDQUFDO01BQ0wsS0FBSyxFOUVyREYsSUFBSTtNOEVzRFAsU0FBUyxFdEovRkwsU0FBdUI7TXNKZ0czQixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQTNHTCxBQThHRSxjQTlHWSxDQThHWixXQUFXLENBQUM7SUFDVixnQkFBZ0IsRTlFN0RYLElBQUksRzhFOERWO0VBRUEsQUFBRCx5QkFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEV0SjNHSCxPQUF1QjtJc0o0RzdCLEtBQUssRTlFL0dpQixPQUFPO0k4RWdIN0IsTUFBTSxFQUFFLE9BQU87SS9HeEdqQixRQUFRLEUrR3lHWSxRQUFRO0kvR3JHeEIsR0FBVSxFK0dxR2dCLElBQUk7SS9Hckc5QixLQUFVLEUrR3FHcUIsSUFBSSxHQUt0QztJdEYxQ0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0ZnQ3BDLEFBQUQseUJBQVksQ0FBQztRQVFULE9BQU8sRUFBRSxLQUFLLEdBRWpCO0VBRUEsQUFBRCwyQkFBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsT0FBTztJQUNmLFNBQVMsRXRKeEhILE9BQXVCO0lzSnlIN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFOUUvSGUsT0FBTztJOEVnSTNCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRUFBRSwwQ0FBMEMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU07SUFDN0UsZUFBZSxFQUFFLFFBQVE7SS9HekgzQixRQUFRLEUrRzBIWSxRQUFRO0kvR3RIeEIsR0FBVSxFK0dzSGdCLElBQUk7SS9HdEg5QixLQUFVLEUrR3NIcUIsSUFBSSxHQUt0QztJdEYzREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0Y0Q3BDLEFBQUQsMkJBQWMsQ0FBQztRQWFYLE9BQU8sRUFBRSxLQUFLLEdBRWpCO0VBN0lILEFBK0lFLGNBL0lZLENBK0laLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtJQUNqQixZQUFZLEU5RW5HRCxPQUFPO0k4RW9HbEIsWUFBWSxFQUFFLEdBQUcsR0FDbEI7RUFsSkgsQUFvSkUsY0FwSlksQ0FvSloseUJBQXlCLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO0lBQ3BELFlBQVksRTlFeEdELE9BQU8sQzhFd0dlLFVBQVUsR0FDNUM7RUF0SkgsQUF3SkUsY0F4SlksQ0F3SloseUJBQXlCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUN6QyxLQUFLLEU5RTVHTSxPQUFPLEM4RTRHUSxVQUFVLEdBQ3JDO0VBMUpILEFBNkpJLGNBN0pVLENBNEpaLDhCQUE4QixDQUM1QixXQUFXLENBQUM7SUFDVixLQUFLLEU5RWpISSxPQUFPLEc4RWtIakI7RUEvSkwsQUFrS0UsY0FsS1ksQ0FrS1osT0FBTztFQWxLVCxjQUFjLENBbUtaLFVBQVUsQ0FBQztJQUNULFlBQVksRTlFdkhELE9BQU8sQzhFdUhlLFVBQVUsR0FDNUM7O0FBR0gsQUFBQSxrQ0FBa0MsQ0FBQztFQUNqQyxnQkFBZ0IsRTlFekhHLE9BQU8sRzhFK2lCM0I7RUF2YkQsQUFxREksa0NBckQ4QixBQW1EL0IsNEJBQTRCLENBRTNCLENBQUMsQUFBQSxJQUFLLENBQUEsTUFBTSxDQUFDLElBQUssQ0FBQSxXQUFXLENBQUMsSUFBSyxDQUFBLGVBQWUsQ0FBQyxJQUFLLENBQUEseUJBQXlCLEVBQUU7SUFDakYsUUFBUSxFQUFFLFFBQVE7STNGaktwQixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0krRjBOekMsVUFBVSxFQUFFLHVDQUF1QyxDQUFDLFNBQVMsQ0FBQyxNQUFNO0lBQ3BFLGVBQWUsRUFBRSxLQUFLO0l4RjlNMUIsT0FBTyxFd0YrTVUsSUFBSSxDQUFDLElBQUk7SUFDdEIsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEV2SjdOTCxPQUFzQjtJdUo4TjFCLEtBQUssRTlFL01ILElBQUk7SThFZ05OLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFVBQVUsRUFBRSxJQUFJLEdBaUJqQjtJQWxGTCxBM0Z0Rk0sa0MyRnNGNEIsQUFtRC9CLDRCQUE0QixDQUUzQixDQUFDLEFBQUEsSUFBSyxDQUFBLE1BQU0sQ0FBQyxJQUFLLENBQUEsV0FBVyxDQUFDLElBQUssQ0FBQSxlQUFlLENBQUMsSUFBSyxDQUFBLHlCQUF5QixDM0YzSTlFLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJMkZvRlAsQUFtRU0sa0NBbkU0QixBQW1EL0IsNEJBQTRCLENBRTNCLENBQUMsQUFBQSxJQUFLLENBQUEsTUFBTSxDQUFDLElBQUssQ0FBQSxXQUFXLENBQUMsSUFBSyxDQUFBLGVBQWUsQ0FBQyxJQUFLLENBQUEseUJBQXlCLENBYzlFLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO001R3JPZixNQUFNLEU0R3NPWSxJQUFJO001RzlOdEIsS0FBSyxFNEc4TmEsSUFBSTtNL0cvTnhCLFFBQVEsRStHZ09nQixRQUFRO00vRzVONUIsR0FBVSxFK0c0Tm9CLENBQUM7TS9HNU4vQixLQUFVLEUrRzROc0IsQ0FBQztNL0c1TmpDLE1BQVUsRStHNE53QixDQUFDO00vRzVObkMsSUFBVSxFK0c0TjBCLENBQUM7TUFDbkMsVUFBVSxFQUFFLHdCQUF3QjtNQUNwQyxPQUFPLEVBQUUsRUFBRSxHQUNaO0lBekVQLEFBMkVNLGtDQTNFNEIsQUFtRC9CLDRCQUE0QixDQUUzQixDQUFDLEFBQUEsSUFBSyxDQUFBLE1BQU0sQ0FBQyxJQUFLLENBQUEsV0FBVyxDQUFDLElBQUssQ0FBQSxlQUFlLENBQUMsSUFBSyxDQUFBLHlCQUF5QixFQXNCL0UsSUFBSSxDQUFDO01BQ0gsT0FBTyxFQUFFLEtBQUs7TUFDZCxjQUFjLEVBQUUsU0FBUztNQUN6QixVQUFVLEVBQUUsR0FBRztNQUNmLFNBQVMsRXZKaFBQLFFBQXNCO011SmlQeEIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7RXRGdktILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNGc0Z2QyxBQXNGTSxrQ0F0RjRCLEFBbUQvQiw0QkFBNEIsR0FtQ3ZCLEdBQUcsQ0FBQztNQUNKLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0lBeEZQLEFBMEZNLGtDQTFGNEIsQUFtRC9CLDRCQUE0QixDQXVDekIsQ0FBQyxBQUFBLElBQUssQ0FyQ0YsTUFBTSxDQXFDRyxJQUFLLENBckNGLFdBQVcsQ0FxQ0csSUFBSyxDQXJDRixlQUFlLEVBcUNJO01BQ2xELEtBQUssRUFBRSxLQUFLO01BQ1osT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxzQkFBc0IsR0FLL0I7TUFuR1AsQUFnR1Esa0NBaEcwQixBQW1EL0IsNEJBQTRCLENBdUN6QixDQUFDLEFBQUEsSUFBSyxDQXJDRixNQUFNLENBcUNHLElBQUssQ0FyQ0YsV0FBVyxDQXFDRyxJQUFLLENBckNGLGVBQWUsQ0EyQzdDLGFBQWEsQ0FBQztRQUNiLGFBQWEsRUFBRSxZQUFZLEdBQzVCO0VBbEdULEFBeUdJLGtDQXpHOEIsQ0F1R2hDLCtCQUErQixBQUFBLFFBQVEsQ0FFckMsaUNBQWlDO0VBekdyQyxrQ0FBa0MsQ0F1R2hDLCtCQUErQixBQUFBLFFBQVEsQ0FHckMsaUJBQWlCLENBQUM7SUFDaEIsTUFBTSxFQUFFLENBQUMsR0FDVjtFQTVHTCxBQWlNRSxrQ0FqTWdDLENBaU1oQyxpQ0FBaUMsQ0FBQztJQUNoQyxVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQW5NSCxBckhwS0Usa0NxSG9LZ0MsQ0FxTWhDLHlCQUF5QixBckh6V3hCLE9BQU87RXFIb0tWLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFySDFXaEIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RXFIZ0tILEFBeU1JLGtDQXpNOEIsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUI7RUF6TXRCLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBQUM7SUFDakIsTUFBTSxFQUFFLFVBQVUsR0ErRG5CO0lBelFMLEFBNE1NLGtDQTVNNEIsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUIsQ0FHaEIsNEJBQTRCO0lBNU1sQyxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQUdoQiw0QkFBNEIsQ0FBQztNQUMzQixVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsSUFBSSxHQUNsQjtJQS9NUCxBQWlOTSxrQ0FqTjRCLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBUWhCLDZEQUE2RDtJQWpObkUsa0NBQWtDLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBU2hCLDhEQUE4RDtJQWxOcEUsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FRaEIsNkRBQTZEO0lBak5uRSxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQVNoQiw4REFBOEQsQ0FBQztNQUM3RCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtJQXBOUCxBQXNOTSxrQ0F0TjRCLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBYWhCLGdDQUFnQztJQXROdEMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBY2hCLDREQUE0RDtJQXZObEUsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FhaEIsZ0NBQWdDO0lBdE50QyxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWNoQiw0REFBNEQsQ0FBQztNM0ZsVS9ELEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7TUlxRTFDLEtBQUssRUoxRUQsU0FBcUM7TStGNFh2QyxhQUFhLEVBQUUsSUFBSSxHQThCcEI7TUF4UFAsQTNGdEZNLGtDMkZzRjRCLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBYWhCLGdDQUFnQyxBM0Y1Uy9CLFdBQVc7TTJGc0ZsQixrQ0FBa0MsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUIsQ0FjaEIsNERBQTRELEEzRjdTM0QsV0FBVztNMkZzRmxCLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBYWhCLGdDQUFnQyxBM0Y1Uy9CLFdBQVc7TTJGc0ZsQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWNoQiw0REFBNEQsQTNGN1MzRCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TTJGb0ZQLEE3Ri9GRSxrQzZGK0ZnQyxDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWFoQixnQ0FBZ0MsQTdGclRuQyxVQUFXLENBQUEsRUFBRTtNNkYrRmhCLGtDQUFrQyxDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWNoQiw0REFBNEQsQTdGdFQvRCxVQUFXLENBQUEsRUFBRTtNNkYrRmhCLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBYWhCLGdDQUFnQyxBN0ZyVG5DLFVBQVcsQ0FBQSxFQUFFO002RitGaEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FjaEIsNERBQTRELEE3RnRUL0QsVUFBVyxDQUFBLEVBQUUsRUFBUztRQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7TTZGNkZILEE3RjFGSSxrQzZGMEY4QixDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWFoQixnQ0FBZ0MsQTdGaFRqQyxVQUFXLENBQUEsSUFBSTtNNkYwRnBCLGtDQUFrQyxDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWNoQiw0REFBNEQsQTdGalQ3RCxVQUFXLENBQUEsSUFBSTtNNkYwRnBCLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBYWhCLGdDQUFnQyxBN0ZoVGpDLFVBQVcsQ0FBQSxJQUFJO002RjBGcEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FjaEIsNERBQTRELEE3RmpUN0QsVUFBVyxDQUFBLElBQUksRUFBUztRQUN2QixLQUFLLEVUdUJZLElBQUksR1N0QnRCO002RndGTCxBQThOVSxrQ0E5TndCLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBYWhCLGdDQUFnQyxBQU03QixnQ0FBZ0MsQ0FFL0IsVUFBVTtNQTlOcEIsa0NBQWtDLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBY2hCLDREQUE0RCxBQUt6RCxnQ0FBZ0MsQ0FFL0IsVUFBVTtNQTlOcEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FhaEIsZ0NBQWdDLEFBTTdCLGdDQUFnQyxDQUUvQixVQUFVO01BOU5wQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWNoQiw0REFBNEQsQUFLekQsZ0NBQWdDLENBRS9CLFVBQVUsQ0FBQztRQUNULE9BQU8sRUFBRSxZQUFZO1FBQ3JCLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLHlCQUF5QixHQUNqQztNQW5PWCxBQXFPVSxrQ0FyT3dCLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBYWhCLGdDQUFnQyxBQU03QixnQ0FBZ0MsQ0FTL0IsNEJBQTRCO01Bck90QyxrQ0FBa0MsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUIsQ0FjaEIsNERBQTRELEFBS3pELGdDQUFnQyxDQVMvQiw0QkFBNEI7TUFyT3RDLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBYWhCLGdDQUFnQyxBQU03QixnQ0FBZ0MsQ0FTL0IsNEJBQTRCO01Bck90QyxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWNoQiw0REFBNEQsQUFLekQsZ0NBQWdDLENBUy9CLDRCQUE0QixDQUFDO1FBQzNCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLE1BQU0sRUFBRSxXQUFXLEdBQ3BCO010Ri9UUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FzRnNGdkMsQUE0TlEsa0NBNU4wQixDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWFoQixnQ0FBZ0MsQUFNN0IsZ0NBQWdDO1FBNU56QyxrQ0FBa0MsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUIsQ0FjaEIsNERBQTRELEFBS3pELGdDQUFnQztRQTVOekMsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FhaEIsZ0NBQWdDLEFBTTdCLGdDQUFnQztRQTVOekMsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FjaEIsNERBQTRELEFBS3pELGdDQUFnQyxDQUFDO1VBZ0I5QixLQUFLLEVBQUUsSUFBSTtVQUNYLEtBQUssRUFBRSxJQUFJLEdBVWQ7VUF2UFQsQUE4TlUsa0NBOU53QixDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWFoQixnQ0FBZ0MsQUFNN0IsZ0NBQWdDLENBRS9CLFVBQVU7VUE5TnBCLGtDQUFrQyxDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWNoQiw0REFBNEQsQUFLekQsZ0NBQWdDLENBRS9CLFVBQVU7VUE5TnBCLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBYWhCLGdDQUFnQyxBQU03QixnQ0FBZ0MsQ0FFL0IsVUFBVTtVQTlOcEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FjaEIsNERBQTRELEFBS3pELGdDQUFnQyxDQUUvQixVQUFVLENBaUJHO1lBQ1QsS0FBSyxFQUFFLHVCQUF1QixDQUFDLFVBQVUsR0FDMUM7VUFqUGIsQUFxT1Usa0NBck93QixDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWFoQixnQ0FBZ0MsQUFNN0IsZ0NBQWdDLENBUy9CLDRCQUE0QjtVQXJPdEMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBY2hCLDREQUE0RCxBQUt6RCxnQ0FBZ0MsQ0FTL0IsNEJBQTRCO1VBck90QyxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWFoQixnQ0FBZ0MsQUFNN0IsZ0NBQWdDLENBUy9CLDRCQUE0QjtVQXJPdEMsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FjaEIsNERBQTRELEFBS3pELGdDQUFnQyxDQVMvQiw0QkFBNEIsQ0FjRztZQUMzQixPQUFPLEVBQUUsWUFBWSxHQUN0QjtJQXJQYixBQTBQTSxrQ0ExUDRCLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBaURoQix3RUFBd0U7SUExUDlFLGtDQUFrQyxDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWtEaEIsdUVBQXVFO0lBM1A3RSxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWlEaEIsd0VBQXdFO0lBMVA5RSxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWtEaEIsdUVBQXVFLENBQUM7TUFFdEUsYUFBYSxFQUFFLEdBQUcsR0FPbkI7TUFwUVAsQXJIcEtFLGtDcUhvS2dDLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBaURoQix3RUFBd0UsQXJIOVozRSxPQUFPO01xSG9LVixrQ0FBa0MsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUIsQ0FrRGhCLHVFQUF1RSxBckgvWjFFLE9BQU87TXFIb0tWLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBaURoQix3RUFBd0UsQXJIOVozRSxPQUFPO01xSG9LVixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWtEaEIsdUVBQXVFLEFySC9aMUUsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TXFIZ0tILEFBK1BRLGtDQS9QMEIsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUIsQ0FpRGhCLHdFQUF3RSxDQUt0RSxLQUFLO01BL1BiLGtDQUFrQyxDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQWlEaEIsd0VBQXdFLENBTXRFLEtBQUs7TUFoUWIsa0NBQWtDLENBcU1oQyx5QkFBeUIsQUFJdEIsaUJBQWlCLENBa0RoQix1RUFBdUUsQ0FJckUsS0FBSztNQS9QYixrQ0FBa0MsQ0FxTWhDLHlCQUF5QixBQUl0QixpQkFBaUIsQ0FrRGhCLHVFQUF1RSxDQUtyRSxLQUFLO01BaFFiLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBaURoQix3RUFBd0UsQ0FLdEUsS0FBSztNQS9QYixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixBQUdkLGlCQUFpQixDQWlEaEIsd0VBQXdFLENBTXRFLEtBQUs7TUFoUWIsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0FrRGhCLHVFQUF1RSxDQUlyRSxLQUFLO01BL1BiLGtDQUFrQyxDQXNNaEMsaUJBQWlCLEFBR2QsaUJBQWlCLENBa0RoQix1RUFBdUUsQ0FLckUsS0FBSyxDQUFDO1FBQ0osT0FBTyxFQUFFLFlBQVk7UUFDckIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7SUFuUVQsQUFzUU0sa0NBdFE0QixDQXFNaEMseUJBQXlCLEFBSXRCLGlCQUFpQixDQTZEaEIsc0RBQXNELENBQUMsS0FBSztJQXRRbEUsa0NBQWtDLENBc01oQyxpQkFBaUIsQUFHZCxpQkFBaUIsQ0E2RGhCLHNEQUFzRCxDQUFDLEtBQUssQ0FBQztNQUMzRCxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBeFFQLEFBMlFJLGtDQTNROEIsQ0FxTWhDLHlCQUF5QixDQXNFdkIsVUFBVTtFQTNRZCxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXFFZixVQUFVLENBQUM7SUFDVCxNQUFNLEVBQUUsUUFBUSxHQXdCakI7SUFwU0wsQUE4UU0sa0NBOVE0QixDQXFNaEMseUJBQXlCLENBc0V2QixVQUFVLENBR1IsS0FBSztJQTlRWCxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXFFZixVQUFVLENBR1IsS0FBSyxDQUFDO01BQ0osWUFBWSxFQUFFLElBQUk7TUFDbEIsU0FBUyxFdkpqYlAsUUFBc0I7TXVKa2J4QixLQUFLLEU5RXBiYSxPQUFPO004RXFiekIsV0FBVyxFQUFFLE1BQU07TUFDbkIsV0FBVyxFQUFFLElBQUksR0FnQmxCO01BblNQLEFBcVJRLGtDQXJSMEIsQ0FxTWhDLHlCQUF5QixDQXNFdkIsVUFBVSxDQUdSLEtBQUssQUFPRixPQUFPO01BclJoQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXFFZixVQUFVLENBR1IsS0FBSyxBQU9GLE9BQU8sQ0FBQztRQUNQLFVBQVUsRUFBRSxHQUFHO1FBQ2YsWUFBWSxFQUFFLEdBQUc7UUFDakIsU0FBUyxFdkp6YlQsT0FBc0I7UXVKMGJ0QixXQUFXLEVBQUUsR0FBRztRQUNoQixPQUFPLEVBQUUsWUFBWTtRQUNyQixjQUFjLEVBQUUsTUFBTTtRQUN0QixLQUFLLEU5RS9iVyxPQUFPLEc4RXFjeEI7UXRGeFhMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7VXNGc0Z2QyxBQXFSUSxrQ0FyUjBCLENBcU1oQyx5QkFBeUIsQ0FzRXZCLFVBQVUsQ0FHUixLQUFLLEFBT0YsT0FBTztVQXJSaEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0FxRWYsVUFBVSxDQUdSLEtBQUssQUFPRixPQUFPLENBQUM7WUFVTCxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFNBQVMsRXRKL2JYLFNBQXVCLEdzSmljeEI7RUFsU1QsQUFzU0ksa0NBdFM4QixDQXFNaEMseUJBQXlCLENBaUd2QixhQUFhO0VBdFNqQixrQ0FBa0MsQ0FxTWhDLHlCQUF5QixDQWtHdkIsaUJBQWlCO0VBdlNyQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQWdHZixhQUFhO0VBdFNqQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQWlHZixpQkFBaUIsQ0FBQztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLFFBQVEsR0FDakI7RUEzU0wsQUE2U0ksa0NBN1M4QixDQXFNaEMseUJBQXlCLENBd0d2QixnQkFBZ0I7RUE3U3BCLGtDQUFrQyxDQXFNaEMseUJBQXlCLENBeUd2QixpQkFBaUI7RUE5U3JCLGtDQUFrQyxDQXFNaEMseUJBQXlCLENBMEd2QiwrRUFBK0U7RUEvU25GLGtDQUFrQyxDQXNNaEMsaUJBQWlCLENBdUdmLGdCQUFnQjtFQTdTcEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F3R2YsaUJBQWlCO0VBOVNyQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXlHZiwrRUFBK0UsQ0FBQztJM0YxWmhGLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsRytGMGQxQztJQXhUTCxBM0Z0Rk0sa0MyRnNGNEIsQ0FxTWhDLHlCQUF5QixDQXdHdkIsZ0JBQWdCLEEzRm5ZYixXQUFXO0kyRnNGbEIsa0NBQWtDLENBcU1oQyx5QkFBeUIsQ0F5R3ZCLGlCQUFpQixBM0ZwWWQsV0FBVztJMkZzRmxCLGtDQUFrQyxDQXFNaEMseUJBQXlCLENBMEd2QiwrRUFBK0UsQTNGclk1RSxXQUFXO0kyRnNGbEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F1R2YsZ0JBQWdCLEEzRm5ZYixXQUFXO0kyRnNGbEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F3R2YsaUJBQWlCLEEzRnBZZCxXQUFXO0kyRnNGbEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F5R2YsK0VBQStFLEEzRnJZNUUsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0kyRm9GUCxBQWtUTSxrQ0FsVDRCLENBcU1oQyx5QkFBeUIsQ0F3R3ZCLGdCQUFnQixBQUtiLDJCQUEyQixFQWxUbEMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQ0F3R3ZCLGdCQUFnQixBQU1iLDZCQUE2QixFQW5UcEMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQ0F3R3ZCLGdCQUFnQixBQU9iLGdDQUFnQztJQXBUdkMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQ0F5R3ZCLGlCQUFpQixBQUlkLDJCQUEyQjtJQWxUbEMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQ0F5R3ZCLGlCQUFpQixBQUtkLDZCQUE2QjtJQW5UcEMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQ0F5R3ZCLGlCQUFpQixBQU1kLGdDQUFnQztJQXBUdkMsa0NBQWtDLENBcU1oQyx5QkFBeUIsQ0EwR3ZCLCtFQUErRSxBQUc1RSwyQkFBMkI7SUFsVGxDLGtDQUFrQyxDQXFNaEMseUJBQXlCLENBMEd2QiwrRUFBK0UsQUFJNUUsNkJBQTZCO0lBblRwQyxrQ0FBa0MsQ0FxTWhDLHlCQUF5QixDQTBHdkIsK0VBQStFLEFBSzVFLGdDQUFnQztJQXBUdkMsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F1R2YsZ0JBQWdCLEFBS2IsMkJBQTJCO0lBbFRsQyxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXVHZixnQkFBZ0IsQUFNYiw2QkFBNkI7SUFuVHBDLGtDQUFrQyxDQXNNaEMsaUJBQWlCLENBdUdmLGdCQUFnQixBQU9iLGdDQUFnQztJQXBUdkMsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F3R2YsaUJBQWlCLEFBSWQsMkJBQTJCO0lBbFRsQyxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXdHZixpQkFBaUIsQUFLZCw2QkFBNkI7SUFuVHBDLGtDQUFrQyxDQXNNaEMsaUJBQWlCLENBd0dmLGlCQUFpQixBQU1kLGdDQUFnQztJQXBUdkMsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F5R2YsK0VBQStFLEFBRzVFLDJCQUEyQjtJQWxUbEMsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F5R2YsK0VBQStFLEFBSTVFLDZCQUE2QjtJQW5UcEMsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0F5R2YsK0VBQStFLEFBSzVFLGdDQUFnQyxDQUFDO01BQ2hDLEtBQUssRUFBRSxLQUFLO01BQ1osWUFBWSxFQUFFLENBQUMsR0FDaEI7RUF2VFAsQUEwVEksa0NBMVQ4QixDQXFNaEMseUJBQXlCLENBcUh2QixRQUFRO0VBMVRaLGtDQUFrQyxDQXNNaEMsaUJBQWlCLENBb0hmLFFBQVEsQ0FBQztJQUNQLEtBQUssRUFBRSxlQUFlLEdBZXZCO0lBMVVMLEFBNlRNLGtDQTdUNEIsQ0FxTWhDLHlCQUF5QixDQXFIdkIsUUFBUSxDQUdOLGtCQUFrQjtJQTdUeEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0FvSGYsUUFBUSxDQUdOLGtCQUFrQixDQUFDO01BQ2pCLE1BQU0sRUFBRSxJQUFJO014Rm5kbEIsT0FBTyxFd0ZvZFksR0FBRztNQUNoQixTQUFTLEV2SmplUCxNQUFzQjtNdUprZXhCLFlBQVksRTlFN2RFLE9BQU8sRzhFOGR0QjtJQWxVUCxBQW9VTSxrQ0FwVTRCLENBcU1oQyx5QkFBeUIsQ0FxSHZCLFFBQVEsQ0FVTix5QkFBeUI7SUFwVS9CLGtDQUFrQyxDQXNNaEMsaUJBQWlCLENBb0hmLFFBQVEsQ0FVTix5QkFBeUIsQ0FBQztNQUN4QixHQUFHLEVBQUUsQ0FBQztNQUNOLE1BQU0sRUFBRSxDQUFDO01BQ1QsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsSUFBSSxHQUNiO0VBelVQLEFBOFVNLGtDQTlVNEIsQ0FxTWhDLHlCQUF5QixDQXVJdkIsb0VBQW9FLENBRWxFLGFBQWE7RUE5VW5CLGtDQUFrQyxDQXNNaEMsaUJBQWlCLENBc0lmLG9FQUFvRSxDQUVsRSxhQUFhLENBQUM7SUFDWixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQWhWUCxBQWtWTSxrQ0FsVjRCLENBcU1oQyx5QkFBeUIsQ0F1SXZCLG9FQUFvRSxDQU1sRSxVQUFVO0VBbFZoQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXNJZixvRUFBb0UsQ0FNbEUsVUFBVSxDQUFDO0lBQ1QsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFwVlAsQUF1Vkksa0NBdlY4QixDQXFNaEMseUJBQXlCLENBa0p2Qix3QkFBd0I7RUF2VjVCLGtDQUFrQyxDQXNNaEMsaUJBQWlCLENBaUpmLHdCQUF3QixDQUFDO0lBQ3ZCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0V0Ri9hRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzRnNGdkMsQUE2Vk0sa0NBN1Y0QixDQXFNaEMseUJBQXlCLENBd0pyQixhQUFhO0lBN1ZuQixrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXVKYixhQUFhLENBQUM7TUFDWixLQUFLLEVBQUUsZUFBZTtNQUN0QixZQUFZLEVBQUUsQ0FBQztNQUNmLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lBaldQLEFBMlFJLGtDQTNROEIsQ0FxTWhDLHlCQUF5QixDQXNFdkIsVUFBVTtJQTNRZCxrQ0FBa0MsQ0FzTWhDLGlCQUFpQixDQXFFZixVQUFVLENBd0ZHO01BQ1QsS0FBSyxFQUFFLElBQUk7TUFDWCxhQUFhLEVBQUUsSUFBSTtNQUNuQixLQUFLLEVBQUUsZUFBZSxHQUN2QjtJQXZXUCxBQXlXTSxrQ0F6VzRCLENBcU1oQyx5QkFBeUIsQ0FvS3JCLGtCQUFrQjtJQXpXeEIsa0NBQWtDLENBc01oQyxpQkFBaUIsQ0FtS2Isa0JBQWtCLENBQUM7TUFDakIsSUFBSSxFQUFFLGtCQUFrQixHQUN6QjtFQTNXUCxBQWlYSSxrQ0FqWDhCLENBK1doQyx1QkFBdUIsQ0FFckIsVUFBVSxBQUFBLGFBQWEsQ0FBQztJQUN0QixhQUFhLEVBQUUsWUFBWSxHQUM1QjtFQW5YTCxBckhwS0Usa0NxSG9LZ0MsQ0FzWGhDLGlCQUFpQixBckgxaEJoQixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFcUhnS0gsQUF5WEksa0NBelg4QixDQXNYaEMsaUJBQWlCLENBR2YscUNBQXFDLENBQUM7SUFDcEMsT0FBTyxFQUFFLElBQUksR0FDZDtFQTNYTCxBQThYRSxrQ0E5WGdDLENBOFhoQyxpQkFBaUIsQ0FBQztJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE1BQU0sR0FNbkI7SUF2WUgsQUFtWUksa0NBblk4QixDQThYaEMsaUJBQWlCLENBS2YsSUFBSTtJQW5ZUixrQ0FBa0MsQ0E4WGhDLGlCQUFpQixDQU1mLGNBQWMsQ0FBQztNQUNiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUF0WUwsQUF5WUUsa0NBellnQyxDQXlZaEMsa0JBQWtCLENBQUM7SUFDakIsVUFBVSxFOUV2aEJJLE9BQU87SThFd2hCckIsS0FBSyxFOUU3aEJELElBQUksRzhFbWlCVDtJQWpaSCxBQTZZSSxrQ0E3WThCLENBeVloQyxrQkFBa0IsQUFJZixNQUFNLENBQUM7TUFDTixVQUFVLEU5RWhpQlIsSUFBSTtNOEVpaUJOLEtBQUssRTlFNWhCTyxPQUFPLEc4RTZoQnBCO0VBaFpMLEFBbVpFLGtDQW5aZ0MsQ0FtWmhDLDhCQUE4QixDQUFDO0lBQzdCLE1BQU0sRUFBRSxRQUFRLEdBbUJqQjtJQXZhSCxBQXNaSSxrQ0F0WjhCLENBbVpoQyw4QkFBOEIsQ0FHNUIsQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLE1BQU07TUFDdEIsU0FBUyxFdEp4akJMLFFBQXVCO01zSnlqQjNCLFdBQVcsRUFBRSxDQUFDO01BQ2QsWUFBWSxFQUFFLEdBQUc7TUFDakIsZUFBZSxFQUFFLFNBQVM7TUFDMUIsS0FBSyxFOUVoa0JlLE9BQU8sRzhFaWtCNUI7SXRGcGZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNGc0Z2QyxBQW1aRSxrQ0FuWmdDLENBbVpoQyw4QkFBOEIsQ0FBQztRQWMzQixNQUFNLEVBQUUsTUFBTSxHQU1qQjtRQXZhSCxBQXNaSSxrQ0F0WjhCLENBbVpoQyw4QkFBOEIsQ0FHNUIsQ0FBQyxDQWFHO1VBQ0EsU0FBUyxFdEpua0JQLFNBQXVCLEdzSm9rQjFCO0VBcmFQLEFBeWFFLGtDQXphZ0MsQ0F5YWhDLFVBQVU7RUF6YVosa0NBQWtDLENBMGFoQyxPQUFPLENBQUM7STVHM2tCTixNQUFNLEU0RzRrQlEsSUFBSTtJNUdwa0JsQixLQUFLLEU0R29rQlMsSUFBSTtJQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlFOWtCSyxPQUFPO0k4RStrQjdCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE1BQU0sRUFBRSxPQUFPLEdBTWhCO0lBdGJILEFBa2JJLGtDQWxiOEIsQ0F5YWhDLFVBQVUsQUFTUCxRQUFRO0lBbGJiLGtDQUFrQyxDQTBhaEMsT0FBTyxBQVFKLFFBQVEsQ0FBQztNQUNSLFVBQVUsRUFBRSx3Q0FBd0MsQ0FBQyxTQUFTLENBQUMsTUFBTTtNQUNyRSxlQUFlLEVBQUUsV0FBVyxHQUM3Qjs7QUFJTCxBQUVFLGlDQUYrQixDQUUvQixZQUFZLENBQUM7RUFDWCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUpILEFBTUUsaUNBTitCLENBTS9CLEtBQUssQ0FBQyxFQUFFLENBQUM7RXhGcGxCVCxPQUFPLEV3RnFsQlEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO0VBQ3BCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFNBQVMsRXZKbm1CSCxRQUFzQjtFdUpvbUI1QixLQUFLLEU5RXRtQmlCLE9BQU87RThFdW1CN0IsV0FBVyxFQUFFLElBQUksR0FLbEI7RUFoQkgsQUFhSSxpQ0FiNkIsQ0FNL0IsS0FBSyxDQUFDLEVBQUUsQUFPTCwyQkFBMkIsQ0FBQztJQUMzQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQWZMLEFBb0JJLGlDQXBCNkIsQ0FrQi9CLEtBQUssQ0FFSCxFQUFFLENBQUM7RXhGbG1CTCxPQUFPLEV3Rm1tQlUsQ0FBQyxHQUtmO0VBMUJMLEFBdUJNLGlDQXZCMkIsQ0FrQi9CLEtBQUssQ0FFSCxFQUFFLEFBR0MsYUFBYSxDQUFDO0lBQ2IsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBekJQLEFBNEJJLGlDQTVCNkIsQ0FrQi9CLEtBQUssQ0FVSCxFQUFFLENBQUM7RXhGMW1CTCxPQUFPLEV3RjJtQlUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQ3pCOztBQTlCTCxBQWdDSSxpQ0FoQzZCLENBa0IvQixLQUFLLENBY0gsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFdkozbkJMLFFBQXNCO0V1SjRuQjFCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQXRDTCxBQXdDSSxpQ0F4QzZCLENBa0IvQixLQUFLLENBc0JILFlBQVksQ0FBQztFQUNYLFNBQVMsRXZKbm9CTCxRQUFzQjtFdUpvb0IxQixjQUFjLEVBQUUsS0FBSztFQUNyQixjQUFjLEVBQUUsU0FBUyxHQUMxQjs7QUE1Q0wsQUE4Q0ksaUNBOUM2QixDQWtCL0IsS0FBSyxDQTRCSCxhQUFhLENBQUM7RUFDWixVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEU5RTNvQmUsT0FBTztFOEU0b0IzQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQXBETCxBQXNESSxpQ0F0RDZCLENBa0IvQixLQUFLLENBb0NILDJCQUEyQixDQUFDO0VBQzFCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBeERMLEFBMkRFLGlDQTNEK0IsQ0EyRC9CLGtCQUFrQixDQUFDO0VBQ2pCLE1BQU0sRUFBRSxRQUFRLEdBb0JqQjtFQWhGSCxBckg3bEJFLGlDcUg2bEIrQixDQTJEL0Isa0JBQWtCLEFySHhwQmpCLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VxSHlsQkgsQUErREksaUNBL0Q2QixDQTJEL0Isa0JBQWtCLENBSWhCLE1BQU0sQ0FBQztJQUNMLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLFNBQVMsRXZKM3BCTCxNQUFzQjtJdUo0cEIxQixlQUFlLEVBQUUsU0FBUztJQUMxQixjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsSUFBSTtJQUNqQixLQUFLLEU5RWxxQmEsT0FBTyxHOEV1cUIxQjtJQTFFTCxBQXVFTSxpQ0F2RTJCLENBMkQvQixrQkFBa0IsQ0FJaEIsTUFBTSxDQVFKLEVBQUUsQ0FBQztNQUNELFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VBekVQLEFBNEVJLGlDQTVFNkIsQ0EyRC9CLGtCQUFrQixDQWlCaEIsTUFBTTtFQTVFVixpQ0FBaUMsQ0EyRC9CLGtCQUFrQixDQWtCaEIsZ0JBQWdCLENBQUM7SUFDZixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQS9FTCxBQWtGRSxpQ0FsRitCLENBa0YvQixzQkFBc0I7QUFsRnhCLGlDQUFpQyxDQW1GL0Isb0JBQW9CLENBQUM7RUFDbkIsU0FBUyxFdko5cUJILEdBQXNCO0V1SitxQjVCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxPQUFPO0VBQ3ZCLEtBQUssRTlFcnJCVSxPQUFPO0U4RXNyQnRCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxTQUFTLEdBQzFCOztBQTFGSCxBQTRGRSxpQ0E1RitCLENBNEYvQixlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixZQUFZLEVBQUUsSUFBSTtFQUNsQixTQUFTLEV2SjFyQkgsTUFBc0I7RXVKMnJCNUIsV0FBVyxFQUFFLElBQUk7RUFDakIsZUFBZSxFQUFFLFNBQVMsR0FDM0I7O0FBbkdILEFBcUdFLGlDQXJHK0IsQ0FxRy9CLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0F0RnRuQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0YrZ0J2QyxBQUFBLGlDQUFpQyxDQUFDO0lBMEc5QixVQUFVLEVBQUUsSUFBSSxHQTJCbkI7SUFySUQsQUFNRSxpQ0FOK0IsQ0FNL0IsS0FBSyxDQUFDLEVBQUUsQ0FzR0c7TUFDUCxjQUFjLEVBQUUsR0FBRyxHQUNwQjtJQTlHTCxBQTRCSSxpQ0E1QjZCLENBa0IvQixLQUFLLENBVUgsRUFBRSxDQXNGRztNQUNELFVBQVUsRUFBRSxJQUFJO014RmpzQnRCLE9BQU8sRXdGa3NCWSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksR0FDM0I7SUFySFAsQUFnQ0ksaUNBaEM2QixDQWtCL0IsS0FBSyxDQWNILEVBQUUsQ0F1Rkc7TUFDRCxTQUFTLEV0Smh0QlAsUUFBdUI7TXNKaXRCekIsYUFBYSxFQUFFLENBQUMsR0FDakI7SUExSFAsQUEyREUsaUNBM0QrQixDQTJEL0Isa0JBQWtCLENBa0VHO01BQ2pCLE1BQU0sRUFBRSxRQUFRLEdBS2pCO01BbklMLEFBK0RJLGlDQS9ENkIsQ0EyRC9CLGtCQUFrQixDQUloQixNQUFNLENBaUVHO1FBQ0wsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBS1AsQUFBQSw2QkFBNkIsQ0FBQztFQUM1QixnQkFBZ0IsRTlFenJCRyxPQUFPLEc4RXd2QjNCO0VBaEVELEFBR0UsNkJBSDJCLENBRzNCLGlCQUFpQixDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RXRGM3BCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzRnNwQnZDLEFBT0UsNkJBUDJCLENBTzNCLG9CQUFvQixDQUFDO01BRWpCLE9BQU8sRUFBRSxLQUFLLEdBVWpCO01BbkJILEFBV00sNkJBWHVCLENBTzNCLG9CQUFvQixDQUloQix1QkFBdUIsQ0FBQztRQUN0QixLQUFLLEVBQUUsT0FBTyxHQUNmO01BYlAsQUFlTSw2QkFmdUIsQ0FPM0Isb0JBQW9CLENBUWhCLHdCQUF3QixDQUFDO1FBQ3ZCLEtBQUssRUFBRSxPQUFPLEdBQ2Y7RUFqQlAsQUFxQkUsNkJBckIyQixDQXFCM0Isb0NBQW9DLENBQUM7SUFDbkMsT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxjQUFjO0lBQ3JDLEdBQUcsRUFBRSxNQUFNLEdBdUNaO0l0RnJ0QkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0ZzcEJ2QyxBQXFCRSw2QkFyQjJCLENBcUIzQixvQ0FBb0MsQ0FBQztRQU1qQyxPQUFPLEVBQUUsS0FBSyxHQW9DakI7SUEvREgsQUE4QkksNkJBOUJ5QixDQXFCM0Isb0NBQW9DLENBU2xDLENBQUMsQ0FBQztNQUNBLFVBQVUsRTlFMXRCRCxPQUFPO004RTJ0QmhCLGFBQWEsRXRKL3ZCVCxRQUF1QjtNc0pnd0IzQixLQUFLLEU5RW52QkgsSUFBSTtNOEVvdkJOLE9BQU8sRUFBRSxLQUFLO01BQ2QsV0FBVyxFQUFFLEdBQUc7TUFDaEIsU0FBUyxFdEpud0JMLFFBQXVCO01zSm93QjNCLGNBQWMsRUFBRSxXQUFXO01BQzNCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLE9BQU8sRUFBRSxJQUFJO01BQ2IsT0FBTyxFQUFFLG1CQUFtQjtNQUM1QixjQUFjLEVBQUUsTUFBTTtNQUV0QixNQUFNLEV0SjF3QkYsU0FBdUIsR3NKNnhCNUI7TUE5REwsQUE2Q00sNkJBN0N1QixDQXFCM0Isb0NBQW9DLENBU2xDLENBQUMsQ0FlQyxJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsS0FBSztRQUNkLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFNBQVMsRXRKL3dCUCxTQUF1QjtRc0pneEJ6QixXQUFXLEVBQUUsQ0FBQztRQUNkLFVBQVUsRXRKanhCUixTQUF1QixHc0preEIxQjtNdEZ6c0JILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UXNGc3BCdkMsQUE4QkksNkJBOUJ5QixDQXFCM0Isb0NBQW9DLENBU2xDLENBQUMsQ0FBQztVQTRCRSxZQUFZLEVBQUUsQ0FBQztVQUNmLGFBQWEsRXRKMXhCWCxJQUF1QjtVc0oyeEJ6QixLQUFLLEVBQUUsSUFBSSxHQUVkOztBQUlMLEFBRUUsY0FGWSxBQUFBLGNBQWMsQ0FFMUIsYUFBYTtBQUZmLGNBQWMsQUFBQSxjQUFjLENBRzFCLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFOSCxBQVNJLGNBVFUsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQUMxQixFQUFFLENBQUM7RUFDRCxLQUFLLEU5RTl2QlMsT0FBTztFOEUrdkJyQixTQUFTLEV0SjV5QkwsTUFBdUI7RXNKNnlCM0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLE1BQU07RUFDdEIsYUFBYSxFdEpoekJULElBQXVCLEdzSnN6QjVCO0V0Rjd1QkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0Z3dEJ2QyxBQVNJLGNBVFUsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQUMxQixFQUFFLENBQUM7TUFTQyxTQUFTLEV0Sm56QlAsUUFBdUI7TXNKb3pCekIsYUFBYSxFdEpwekJYLElBQXVCLEdzSnN6QjVCOztBQXJCTCxBQXVCSSxjQXZCVSxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUFDO0VBQ2hCLFNBQVMsRXRKenpCTCxVQUF1QixHc0pnMkI1QjtFQS9ETCxBQTZCUSxjQTdCTSxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUdmLElBQUksQUFBQSxtQkFBbUIsR0FHcEIsR0FBRztFQTdCWixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBSWYsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUVGLEdBQUc7RUE3QlosY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUtmLElBQUksQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsSUFDRixHQUFHLENBQUM7SUFDSCxPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLE9BQU8sR0E4Qi9CO0l0RnJ4QkwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0Z3dEJ2QyxBQTZCUSxjQTdCTSxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUdmLElBQUksQUFBQSxtQkFBbUIsR0FHcEIsR0FBRztNQTdCWixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBSWYsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUVGLEdBQUc7TUE3QlosY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUtmLElBQUksQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsSUFDRixHQUFHLENBQUM7UUFLRCxxQkFBcUIsRUFBRSxHQUFHLEdBMkI3QjtJQTdEVCxBQXFDVSxjQXJDSSxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUdmLElBQUksQUFBQSxtQkFBbUIsR0FHcEIsR0FBRyxDQVFGLGFBQWE7SUFyQ3ZCLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FHZixJQUFJLEFBQUEsbUJBQW1CLEdBR3BCLEdBQUcsQ0FTRixVQUFVO0lBdENwQixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBSWYsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUVGLEdBQUcsQ0FRRixhQUFhO0lBckN2QixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBSWYsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUVGLEdBQUcsQ0FTRixVQUFVO0lBdENwQixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBS2YsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUNGLEdBQUcsQ0FRRixhQUFhO0lBckN2QixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBS2YsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUNGLEdBQUcsQ0FTRixVQUFVLENBQUM7TUFDVCxTQUFTLEV0SngwQlgsU0FBdUIsR3NKNjBCdEI7TXRGcHdCUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FzRnd0QnZDLEFBcUNVLGNBckNJLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBR2YsSUFBSSxBQUFBLG1CQUFtQixHQUdwQixHQUFHLENBUUYsYUFBYTtRQXJDdkIsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUdmLElBQUksQUFBQSxtQkFBbUIsR0FHcEIsR0FBRyxDQVNGLFVBQVU7UUF0Q3BCLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FJZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBRUYsR0FBRyxDQVFGLGFBQWE7UUFyQ3ZCLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FJZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBRUYsR0FBRyxDQVNGLFVBQVU7UUF0Q3BCLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FLZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBQ0YsR0FBRyxDQVFGLGFBQWE7UUFyQ3ZCLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FLZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBQ0YsR0FBRyxDQVNGLFVBQVUsQ0FBQztVQUlQLFNBQVMsRUFBRSxJQUFJLEdBRWxCO0lBNUNYLEFBOENVLGNBOUNJLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBR2YsSUFBSSxBQUFBLG1CQUFtQixHQUdwQixHQUFHLENBaUJGLHNCQUFzQjtJQTlDaEMsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUdmLElBQUksQUFBQSxtQkFBbUIsR0FHcEIsR0FBRyxDQWtCRixlQUFlO0lBL0N6QixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBR2YsSUFBSSxBQUFBLG1CQUFtQixHQUdwQixHQUFHLENBbUJGLHdCQUF3QjtJQWhEbEMsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUdmLElBQUksQUFBQSxtQkFBbUIsR0FHcEIsR0FBRyxDQW9CRixxQkFBcUI7SUFqRC9CLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FJZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBRUYsR0FBRyxDQWlCRixzQkFBc0I7SUE5Q2hDLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FJZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBRUYsR0FBRyxDQWtCRixlQUFlO0lBL0N6QixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBSWYsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUVGLEdBQUcsQ0FtQkYsd0JBQXdCO0lBaERsQyxjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBSWYsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUVGLEdBQUcsQ0FvQkYscUJBQXFCO0lBakQvQixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBS2YsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUNGLEdBQUcsQ0FpQkYsc0JBQXNCO0lBOUNoQyxjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBS2YsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUNGLEdBQUcsQ0FrQkYsZUFBZTtJQS9DekIsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUtmLElBQUksQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsSUFDRixHQUFHLENBbUJGLHdCQUF3QjtJQWhEbEMsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUtmLElBQUksQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsSUFDRixHQUFHLENBb0JGLHFCQUFxQixDQUFDO01BQ3BCLFlBQVksRXRKbjFCZCxJQUF1QixHc0p3MUJ0QjtNdEYvd0JQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UXNGd3RCdkMsQUE4Q1UsY0E5Q0ksQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FHZixJQUFJLEFBQUEsbUJBQW1CLEdBR3BCLEdBQUcsQ0FpQkYsc0JBQXNCO1FBOUNoQyxjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBR2YsSUFBSSxBQUFBLG1CQUFtQixHQUdwQixHQUFHLENBa0JGLGVBQWU7UUEvQ3pCLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FHZixJQUFJLEFBQUEsbUJBQW1CLEdBR3BCLEdBQUcsQ0FtQkYsd0JBQXdCO1FBaERsQyxjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBR2YsSUFBSSxBQUFBLG1CQUFtQixHQUdwQixHQUFHLENBb0JGLHFCQUFxQjtRQWpEL0IsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUlmLElBQUksQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsSUFFRixHQUFHLENBaUJGLHNCQUFzQjtRQTlDaEMsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUlmLElBQUksQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsSUFFRixHQUFHLENBa0JGLGVBQWU7UUEvQ3pCLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FJZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBRUYsR0FBRyxDQW1CRix3QkFBd0I7UUFoRGxDLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FJZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBRUYsR0FBRyxDQW9CRixxQkFBcUI7UUFqRC9CLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FLZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBQ0YsR0FBRyxDQWlCRixzQkFBc0I7UUE5Q2hDLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FLZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBQ0YsR0FBRyxDQWtCRixlQUFlO1FBL0N6QixjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBS2YsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUNGLEdBQUcsQ0FtQkYsd0JBQXdCO1FBaERsQyxjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBS2YsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUNGLEdBQUcsQ0FvQkYscUJBQXFCLENBQUM7VUFJbEIsWUFBWSxFQUFFLENBQUMsR0FFbEI7SUF2RFgsQUF5RFUsY0F6REksQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FHZixJQUFJLEFBQUEsbUJBQW1CLEdBR3BCLEdBQUcsQ0E0QkYsR0FBRyxDQUFBLEFBQUEsRUFBQyxFQUFJLGNBQWMsQUFBbEI7SUF6RGQsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUdmLElBQUksQUFBQSxtQkFBbUIsR0FHcEIsR0FBRyxDQTZCRixHQUFHLENBQUEsQUFBQSxFQUFDLEVBQUksY0FBYyxBQUFsQjtJQTFEZCxjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBSWYsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUVGLEdBQUcsQ0E0QkYsR0FBRyxDQUFBLEFBQUEsRUFBQyxFQUFJLGNBQWMsQUFBbEI7SUF6RGQsY0FBYyxBQUFBLGNBQWMsQ0FRMUIsNEJBQTRCLENBZTFCLGlCQUFpQixDQUlmLElBQUksQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsSUFFRixHQUFHLENBNkJGLEdBQUcsQ0FBQSxBQUFBLEVBQUMsRUFBSSxjQUFjLEFBQWxCO0lBMURkLGNBQWMsQUFBQSxjQUFjLENBUTFCLDRCQUE0QixDQWUxQixpQkFBaUIsQ0FLZixJQUFJLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLElBQ0YsR0FBRyxDQTRCRixHQUFHLENBQUEsQUFBQSxFQUFDLEVBQUksY0FBYyxBQUFsQjtJQXpEZCxjQUFjLEFBQUEsY0FBYyxDQVExQiw0QkFBNEIsQ0FlMUIsaUJBQWlCLENBS2YsSUFBSSxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixJQUNGLEdBQUcsQ0E2QkYsR0FBRyxDQUFBLEFBQUEsRUFBQyxFQUFJLGNBQWMsQUFBbEIsRUFBb0I7TUFDdEIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFPWCxBQUFBLGFBQWEsQ0FBQztFQUNaLEdBQUcsRUFBRSxjQUFjO0VBQ25CLElBQUksRUFBRSxZQUFZO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLElBQUk7RTlHNTJCTixpQkFBb0IsRThHNjJCUCxnQkFBZ0I7RTlHeDJCN0IsY0FBaUIsRThHdzJCSixnQkFBZ0I7RTlHbjJCN0IsYUFBZ0IsRThHbTJCSCxnQkFBZ0I7RTlHOTFCN0IsWUFBZSxFOEc4MUJGLGdCQUFnQjtFOUd6MUI3QixTQUFZLEU4R3kxQkMsZ0JBQWdCLEdBOE1wQztFdEY5K0JHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNGMnhCdkMsQUFBQSxhQUFhLENBQUM7TUFRVixHQUFHLEVBQUUsWUFBWTtNOUdoM0JiLGlCQUFvQixFOEdpM0JMLGFBQWE7TTlHNTJCNUIsY0FBaUIsRThHNDJCRixhQUFhO005R3YyQjVCLGFBQWdCLEU4R3UyQkQsYUFBYTtNOUdsMkI1QixZQUFlLEU4R2syQkEsYUFBYTtNOUc3MUI1QixTQUFZLEU4RzYxQkcsYUFBYSxHQTBNbkM7RUFuTkQsQUFZRSxhQVpXLENBWVgscUJBQXFCLENBQUM7SUFDcEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxnQkFBZ0IsR0FTeEI7SXRGcHpCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zRjJ4QnZDLEFBWUUsYUFaVyxDQVlYLHFCQUFxQixDQUFDO1FBT2xCLEtBQUssRUFBRSxnQkFBZ0IsR0FNMUI7SXRGcHpCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zRjJ4QnZDLEFBWUUsYUFaVyxDQVlYLHFCQUFxQixDQUFDO1FBV2xCLEtBQUssRUFBRSxlQUFlLEdBRXpCO0VBekJILEFBMkJFLGFBM0JXLENBMkJYLGNBQWMsQ0FBQztJQUNiLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE9BQU8sRUFBRSxDQUFDO0l4RngzQlosT0FBTyxFd0Z5M0JRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FtTGxDO0lBbE5ILEFBaUNJLGFBakNTLENBMkJYLGNBQWMsQUFNWCxNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNNUd4NEJiLE1BQU0sRTRHeTRCVSxNQUFNO001R2o0QnRCLEtBQUssRTRHaTRCVyxNQUFNO01BQ3BCLFVBQVUsRTlFMzNCUixJQUFJO004RTQzQk4sYUFBYSxFQUFFLEdBQUc7TS9HcDRCdEIsUUFBUSxFK0dxNEJjLFFBQVE7TS9HajRCMUIsR0FBVSxFK0dpNEJrQixDQUFDO00vR2o0QjdCLE1BQVUsRStHaTRCeUIsQ0FBQztNL0dqNEJwQyxJQUFVLEUrR2k0QjJCLEtBQUs7TUFDMUMsTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsRUFBRSxHQUNaO0lBekNMLEFBNkNNLGFBN0NPLENBMkJYLGNBQWMsRUFnQlosQUFBQSxFQUFDLEVBQUksWUFBWSxBQUFoQixFQUVDLGVBQWUsQ0FBQztNQUNkLE1BQU0sRUFBRSxXQUFXLEdBQ3BCO0lBL0NQLEFBaURNLGFBakRPLENBMkJYLGNBQWMsRUFnQlosQUFBQSxFQUFDLEVBQUksWUFBWSxBQUFoQixFQU1DLG1CQUFtQixDQUFDO01BQ2xCLE1BQU0sRUFBRSxRQUFRLEdBQ2pCO0lBbkRQLEFBcURNLGFBckRPLENBMkJYLGNBQWMsRUFnQlosQUFBQSxFQUFDLEVBQUksWUFBWSxBQUFoQixFQVVDLEtBQUssQ0FBQztNQUNKLFNBQVMsRXZKNTVCUCxNQUFzQjtNdUo2NUJ4QixXQUFXLEVBQUUsTUFBTTtNQUNuQixXQUFXLEVBQUUsSUFBSTtNQUNqQixZQUFZLEVBQUUsSUFBSTtNQUNsQixLQUFLLEU5RW42QlcsT0FBTyxHOEVvNkJ4QjtJQTNEUCxBQTZETSxhQTdETyxDQTJCWCxjQUFjLEVBZ0JaLEFBQUEsRUFBQyxFQUFJLFlBQVksQUFBaEIsRUFrQkMsWUFBWTtJQTdEbEIsYUFBYSxDQTJCWCxjQUFjLEVBZ0JaLEFBQUEsRUFBQyxFQUFJLFlBQVksQUFBaEIsRUFtQkMsY0FBYyxDQUFDO01BQ2IsT0FBTyxFQUFFLElBQUksR0FDZDtJQWhFUCxBQWtFTSxhQWxFTyxDQTJCWCxjQUFjLEVBZ0JaLEFBQUEsRUFBQyxFQUFJLFlBQVksQUFBaEIsRUF1QkMsYUFBYSxDQUFDO01BQ1osVUFBVSxFQUFFLE1BQU0sR0FDbkI7SUFwRVAsQXJIejJCRSxhcUh5MkJXLENBMkJYLGNBQWMsQ0E0Q1osQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixDckhoN0JILE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0lxSHEyQkgsQUEwRU0sYUExRU8sQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBR0EsQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLGNBQWMsQUFBbEIsRUFBb0I7TUFDcEIsVUFBVSxFQUFFLElBQUksR0FDakI7SUE1RVAsQUE4RU0sYUE5RU8sQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBT0EsVUFBVSxDQUFDO01BQ1QsTUFBTSxFQUFFLENBQUMsR0FDVjtJQWhGUCxBckh6MkJFLGFxSHkyQlcsQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBV0EsYUFBYSxBckgzN0JoQixPQUFPO0lxSHkyQlYsYUFBYSxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUFZQSwyQkFBMkIsQXJINTdCOUIsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SXFIcTJCSCxBQXVGTSxhQXZGTyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUFnQkEsZ0JBQWdCO0lBdkZ0QixhQUFhLENBMkJYLGNBQWMsQ0E0Q1osQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQWlCQSxtQkFBbUI7SUF4RnpCLGFBQWEsQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBa0JBLG9CQUFvQixDQUFDO01BQ25CLEtBQUssRUFBRSxnQkFBZ0I7TUFDdkIsTUFBTSxFQUFFLFFBQVE7TUFDaEIsS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEVBQUUsSUFBSSxHQUtaO01BbEdQLEFBK0ZRLGFBL0ZLLENBMkJYLGNBQWMsQ0E0Q1osQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQWdCQSxnQkFBZ0IsQUFRYixVQUFXLENBQUEsRUFBRTtNQS9GdEIsYUFBYSxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUFpQkEsbUJBQW1CLEFBT2hCLFVBQVcsQ0FBQSxFQUFFO01BL0Z0QixhQUFhLENBMkJYLGNBQWMsQ0E0Q1osQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQWtCQSxvQkFBb0IsQUFNakIsVUFBVyxDQUFBLEVBQUUsRUFBRTtRQUNkLEtBQUssRUFBRSxLQUFLLEdBQ2I7SUFqR1QsQUFvR00sYUFwR08sQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBNkJBLGdCQUFnQixDQUFDO01BQ2YsTUFBTSxFQUFFLENBQUMsR0FTVjtNQTlHUCxBQXVHUSxhQXZHSyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUE2QkEsZ0JBQWdCLENBR2QsVUFBVSxDQUFDO1FBQ1QsS0FBSyxFQUFFLElBQUksR0FDWjtNQXpHVCxBQTJHUSxhQTNHSyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUE2QkEsZ0JBQWdCLEFBT2IsOEJBQThCLENBQUM7UUFDOUIsS0FBSyxFQUFFLElBQUksR0FDWjtJQTdHVCxBQWdITSxhQWhITyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUF5Q0EsS0FBSyxDQUFDO01BQ0osU0FBUyxFdkp2OUJQLE1BQXNCO011Snc5QnhCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFlBQVksRUFBRSxJQUFJO01BQ2xCLEtBQUssRTlFOTlCVyxPQUFPLEc4RSs5QnhCO0lBdEhQLEFBd0hNLGFBeEhPLENBMkJYLGNBQWMsQ0E0Q1osQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQWlEQSxZQUFZO0lBeEhsQixhQUFhLENBMkJYLGNBQWMsQ0E0Q1osQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQWtEQSxjQUFjO0lBekhwQixhQUFhLENBMkJYLGNBQWMsQ0E0Q1osQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQW1EQSxrQkFBa0I7SUExSHhCLGFBQWEsQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBb0RBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxVQUFVLEVBQUU7TUFDaEMsT0FBTyxFQUFFLElBQUksR0FDZDtJQTdIUCxBQStITSxhQS9ITyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUF3REEsYUFBYSxDQUFDO01BRVosS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxNQUFNLEdBQ25CO01BcElQLEFySHoyQkUsYXFIeTJCVyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUF3REEsYUFBYSxBckh4K0JoQixPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0YyeEJ2QyxBQTJCRSxhQTNCVyxDQTJCWCxjQUFjLENBQUM7UXhGcjNCZixPQUFPLEV3RmsrQlUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQTBFcEM7UUFsTkgsQUFpQ0ksYUFqQ1MsQ0EyQlgsY0FBYyxBQU1YLE1BQU0sQ0F5R0c7VUFDTixJQUFJLEVBQUUsS0FBSyxHQUNaO0l0RnY2QkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0YyeEJ2QyxBQTJCRSxhQTNCVyxDQTJCWCxjQUFjLENBQUM7UXhGcjNCZixPQUFPLEV3RjArQlUsSUFBSSxHQWtFcEI7UUFsTkgsQUFpQ0ksYUFqQ1MsQ0EyQlgsY0FBYyxBQU1YLE1BQU0sQ0FpSEc7VUFDTixPQUFPLEVBQUUsSUFBSSxHQUNkO1FBcEpQLEFBc0pNLGFBdEpPLENBMkJYLGNBQWMsQ0EySFYsb0JBQW9CLENBQUM7VUFDbkIsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsS0FBSztVQUNkLFVBQVUsRUFBRSxJQUFJLEdBU2pCO1VBbEtQLEFBMkpRLGFBM0pLLENBMkJYLGNBQWMsQ0EySFYsb0JBQW9CLENBS2xCLEVBQUUsQ0FBQztZQUNELFlBQVksRUFBRSxDQUFDO1lBQ2YsV0FBVyxFQUFFLENBQUM7WUFDZCxLQUFLLEVBQUUsS0FBSztZQUNaLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFNBQVMsRXRKcGdDVCxTQUF1QixHc0pxZ0N4QjtRQWpLVCxBQTZDTSxhQTdDTyxDQTJCWCxjQUFjLEVBZ0JaLEFBQUEsRUFBQyxFQUFJLFlBQVksQUFBaEIsRUFFQyxlQUFlLENBeUhHO1VBQ2QsTUFBTSxFQUFFLFdBQVcsR0FDcEI7UUF4S1QsQUFpRE0sYUFqRE8sQ0EyQlgsY0FBYyxFQWdCWixBQUFBLEVBQUMsRUFBSSxZQUFZLEFBQWhCLEVBTUMsbUJBQW1CLENBeUhHO1VBQ2xCLE1BQU0sRUFBRSxRQUFRLEdBQ2pCO1FBNUtULEFBcURNLGFBckRPLENBMkJYLGNBQWMsRUFnQlosQUFBQSxFQUFDLEVBQUksWUFBWSxBQUFoQixFQVVDLEtBQUssQ0F5SEc7VUFDSixTQUFTLEV0Sm5oQ1QsU0FBdUI7VXNKb2hDdkIsWUFBWSxFQUFFLEdBQUcsR0FDbEI7UUFqTFQsQUEwRU0sYUExRU8sQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBR0EsQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLGNBQWMsQUFBbEIsRUE0R3NCO1VBQ3BCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO1FBeExULEFBMExRLGFBMUxLLENBMkJYLGNBQWMsQ0F5SlYsQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQU1BLGdCQUFnQjtRQTFMeEIsYUFBYSxDQTJCWCxjQUFjLENBeUpWLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUFPQSxVQUFVLENBQUM7VUFDVCxLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxRQUFRLEdBTWpCO1VBbk1ULEFBK0xVLGFBL0xHLENBMkJYLGNBQWMsQ0F5SlYsQ0FBQyxDQUFBLEFBQUEsRUFBQyxFQUFJLG9CQUFvQixBQUF4QixFQU1BLGdCQUFnQixDQUtkLG9CQUFvQjtVQS9MOUIsYUFBYSxDQTJCWCxjQUFjLENBeUpWLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUFPQSxVQUFVLENBSVIsb0JBQW9CLENBQUM7WUFDbkIsS0FBSyxFQUFFLElBQUk7WUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtRQWxNWCxBQWdITSxhQWhITyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUF5Q0EsS0FBSyxDQXFGRztVQUNKLFNBQVMsRXRKMWlDVCxTQUF1QjtVc0oyaUN2QixZQUFZLEVBQUUsSUFBSSxHQUNuQjtRQXhNVCxBQStITSxhQS9ITyxDQTJCWCxjQUFjLENBNENaLENBQUMsQ0FBQSxBQUFBLEVBQUMsRUFBSSxvQkFBb0IsQUFBeEIsRUF3REEsYUFBYSxDQTJFRztVQUVaLEtBQUssRUFBRSxJQUFJO1VBQ1gsS0FBSyxFQUFFLElBQUk7VUFDWCxVQUFVLEVBQUUsTUFBTSxHQUNuQjtVQS9NVCxBckh6MkJFLGFxSHkyQlcsQ0EyQlgsY0FBYyxDQTRDWixDQUFDLENBQUEsQUFBQSxFQUFDLEVBQUksb0JBQW9CLEFBQXhCLEVBd0RBLGFBQWEsQXJIeCtCaEIsT0FBTyxDQUFDO1lBQ1AsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FxSDBqQ0gsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxzQ0FBc0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU07RUFDeEUsZUFBZSxFQUFFLEtBQUs7RS9HdmpDdEIsUUFBUSxFK0d3akNVLFFBQVE7RS9HcGpDdEIsR0FBVSxFK0dvakNjLENBQUM7RS9HcGpDekIsSUFBVSxFK0dvakMwQixDQUFDO0U1Ry9qQ3ZDLE1BQU0sRTRHZ2tDWSxJQUFJO0U1R3hqQ3RCLEtBQUssRTRHd2pDTyxLQUFLLEdBcURwQjtFQTFERCxBQU9FLGFBUFcsQUFPVixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVUsRUFBRSx3QkFBd0I7SS9HN2pDdEMsUUFBUSxFK0c4akNZLFFBQVE7SS9HMWpDeEIsR0FBVSxFK0cwakNnQixDQUFDO0kvRzFqQzNCLEtBQVUsRStHMGpDa0IsQ0FBQztJL0cxakM3QixNQUFVLEUrRzBqQ29CLENBQUM7SS9HMWpDL0IsSUFBVSxFK0cwakNzQixDQUFDO0k1R3JrQ25DLE1BQU0sRTRHc2tDUSxJQUFJO0k1RzlqQ2xCLEtBQUssRTRHOGpDUyxJQUFJLEdBQ25CO0VBWkgsQUFjRSxhQWRXLENBY1gsR0FBRztFQWRMLGFBQWEsQ0FlWCxZQUFZLENBQUM7SUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBakJILEFBbUJFLGFBbkJXLENBbUJYLE1BQU0sQ0FBQztJQUNMLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLG1DQUFtQyxDQUFDLFNBQVMsQ0FBQyxNQUFNO0lBQ2hFLGVBQWUsRUFBRSxLQUFLO0k1R2psQ3RCLE1BQU0sRTRHa2xDUSxJQUFJO0k1RzFrQ2xCLEtBQUssRTRHMGtDUyxJQUFJO0kvRzNrQ3BCLFFBQVEsRStHNGtDWSxRQUFRO0kvR3hrQ3hCLEdBQVUsRStHd2tDZ0IsQ0FBQztJL0d4a0MzQixLQUFVLEUrR3drQ21CLE1BQUssR0FDckM7RXRGemdDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzRmcvQnZDLEFBQUEsYUFBYSxDQUFDO001RzNqQ1YsTUFBTSxFNEd1bENjLElBQUk7TTVHL2tDeEIsS0FBSyxFNEcra0NTLEtBQUssR0E4QnRCO01BMURELEFBbUJFLGFBbkJXLENBbUJYLE1BQU0sQ0FXRztRQUNMLEtBQUssRUFBRSxNQUFNLEdBQ2Q7RXRGaGhDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzRmcvQnZDLEFBQUEsYUFBYSxDQUFDO01Bb0NWLFFBQVEsRUFBRSxNQUFNO001Ry9sQ2hCLE1BQU0sRTRHZ21DYSxJQUFJO001R3hsQ3ZCLEtBQUssRTRHd2xDUyxJQUFJO00vR3psQ3BCLFFBQVEsRStHMGxDWSxRQUFRO00vR3RsQ3hCLEdBQVUsRStHc2xDZ0IsT0FBTztNL0d0bENqQyxLQUFVLEUrR3NsQ2dCLE9BQU87TS9HdGxDakMsTUFBVSxFK0dzbENnQixPQUFPO00vR3RsQ2pDLElBQVUsRStHc2xDZ0IsT0FBTyxHQW9CdEM7TUExREQsQUF3Q0ksYUF4Q1MsQUF3Q1IsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UTVHcG1DYixNQUFNLEU0R3FtQ1UsS0FBSztRNUc3bENyQixLQUFLLEU0RzZsQ1csS0FBSztRQUNuQixVQUFVLEU5RXZsQ1IsSUFBSTtROEV3bENOLGFBQWEsRUFBRSxHQUFHO1EvR2htQ3RCLFFBQVEsRStHaW1DYyxRQUFRO1EvRzdsQzFCLEdBQVUsRStHNmxDa0IsSUFBSTtRL0c3bENoQyxJQUFVLEUrRzZsQ2lDLEdBQUc7UTlHMW1DNUMsaUJBQW9CLEU4RzJtQ0gsZ0JBQWdCO1E5R3RtQ2pDLGNBQWlCLEU4R3NtQ0EsZ0JBQWdCO1E5R2ptQ2pDLGFBQWdCLEU4R2ltQ0MsZ0JBQWdCO1E5RzVsQ2pDLFlBQWUsRThHNGxDRSxnQkFBZ0I7UTlHdmxDakMsU0FBWSxFOEd1bENLLGdCQUFnQjtRQUNuQyxNQUFNLEVBQUUsSUFBSSxHQUNiO01BaERMLEFBbUJFLGFBbkJXLENBbUJYLE1BQU0sQ0ErQkc7UUFDTCxHQUFHLEVBQUUsSUFBSTtRQUNULE1BQU0sRUFBRSxPQUFPO1FBQ2YsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsSUFBSTtRQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FDOW5DTCxBQUVFLHVCQUZxQixDQUVyQixpQ0FBaUMsQ0FBQztFN0Y4QmxDLFNBQVMsRUxkQyxLQUFLO0VLZ0JiLFdBQUksRUFBRSxJQUFJO0VBQ1YsWUFBSyxFQUFFLElBQUk7RUlaYixPQUFPLEV5Rm5CUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FjMUI7RUFsQkgsQXRIUUUsdUJzSFJxQixDQUVyQixpQ0FBaUMsQXRITWhDLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l1RnRGeEMsQUFFRSx1QkFGcUIsQ0FFckIsaUNBQWlDLENBQUM7TTdGOEJsQyxTQUFTLEU2RnpCb0IsS0FBSztNN0YyQmhDLFdBQUksRUFBRSxJQUFJO01BQ1YsWUFBSyxFQUFFLElBQUksRzZGakJaO01BbEJILEF0SFFFLHVCc0hScUIsQ0FFckIsaUNBQWlDLEF0SE1oQyxPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUZ0RnZDLEFBRUUsdUJBRnFCLENBRXJCLGlDQUFpQyxDQUFDO003RjhCbEMsU0FBUyxFNkZyQm9CLEtBQUs7TTdGdUJoQyxXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJLEc2RmpCWjtNQWxCSCxBdEhRRSx1QnNIUnFCLENBRXJCLGlDQUFpQyxBdEhNaEMsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RStCMEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVGdEZ2QyxBQUVFLHVCQUZxQixDQUVyQixpQ0FBaUMsQ0FBQztNN0Y4QmxDLFNBQVMsRTZGakJvQixJQUFJO003Rm1CL0IsV0FBSSxFQUFFLElBQUk7TUFDVixZQUFLLEVBQUUsSUFBSTtNSVpiLE9BQU8sRXlGUFUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBRTlCO01BbEJILEF0SFFFLHVCc0hScUIsQ0FFckIsaUNBQWlDLEF0SE1oQyxPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QXNIWkgsQUFzQkksdUJBdEJtQixDQW9CckIsWUFBWSxDQUVWLEVBQUUsQ0FBQztFQUNELGFBQWEsRUFBRSxJQUFJO0VBQ25CLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFNBQVMsRXZKWkwsTUFBdUI7RXVKYTNCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRS9FcEJRLE9BQU87RStFcUJwQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUE5QkwsQUFnQ0ksdUJBaENtQixDQW9CckIsWUFBWSxDQVlWLENBQUMsQ0FBQztFNUZpQ0YsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztFZ0d3QnpDLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFNBQVMsRXhKeEJMLE9BQXNCO0V3SnlCMUIsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFL0U1QmUsT0FBTztFK0U2QjNCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBdkNMLEE1RnNGTSx1QjRGdEZpQixDQW9CckIsWUFBWSxDQVlWLENBQUMsQTVGc0RFLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QUtGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1RnRGdkMsQUFzQkksdUJBdEJtQixDQW9CckIsWUFBWSxDQUVWLEVBQUUsQ0FxQkc7SUFDRCxhQUFhLEVBQUUsSUFBSTtJQUNuQixTQUFTLEV2SmhDUCxTQUF1QixHdUppQzFCO0VBOUNQLEFBZ0NJLHVCQWhDbUIsQ0FvQnJCLFlBQVksQ0FZVixDQUFDLENBZ0JHO0lBQ0EsS0FBSyxFQUFFLElBQUk7SUFDWCxZQUFZLEVBQUUsQ0FBQztJQUNmLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQXBEUCxBQXdERSx1QkF4RHFCLENBd0RyQixhQUFhLENBQUM7RTVGU1osS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHZ0c0RTVDO0VBdEZILEE1RnNGTSx1QjRGdEZpQixDQXdEckIsYUFBYSxBNUY4QlIsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0U0RnhGUCxBQTJESSx1QkEzRG1CLENBd0RyQixhQUFhLENBR1gsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsUUFBUSxHQUNqQjtFQTlETCxBQWdFSSx1QkFoRW1CLENBd0RyQixhQUFhLENBUVgsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFL0UxRGEsT0FBTztJK0UyRHpCLFNBQVMsRXhKeERMLFFBQXNCO0l3SnlEMUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLE9BQU87SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsTUFBTSxHQUt2QjtJQTVFTCxBQXlFTSx1QkF6RWlCLENBd0RyQixhQUFhLENBUVgsRUFBRSxBQVNDLGFBQWEsQ0FBQztNQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0V2RldILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVGdEZ2QyxBQXdERSx1QkF4RHFCLENBd0RyQixhQUFhLENBQUM7TUF1QlYsS0FBSyxFQUFFLElBQUk7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQU1sQjtNQXRGSCxBQWdFSSx1QkFoRW1CLENBd0RyQixhQUFhLENBUVgsRUFBRSxDQWtCRztRQUNELFNBQVMsRXhKeEVQLFFBQXNCLEd3SnlFekI7O0FBcEZQLEFBd0ZFLHVCQXhGcUIsQ0F3RnJCLFlBQVksQ0FBQztFNUZ2QlgsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHZ0dzRzVDO0VBaEhILEE1RnNGTSx1QjRGdEZpQixDQXdGckIsWUFBWSxBNUZGUCxXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTRGeEZQLEFBMkZJLHVCQTNGbUIsQ0F3RnJCLFlBQVksQ0FHVixDQUFDLENBQUM7SUFDQSxTQUFTLEV2Si9FTCxPQUF1QjtJdUpnRjNCLEtBQUssRS9FbkZlLE9BQU87SStFb0YzQixNQUFNLEVBQUUsT0FBTyxHQVFoQjtJQXRHTCxBQWdHTSx1QkFoR2lCLENBd0ZyQixZQUFZLENBR1YsQ0FBQyxDQUtDLENBQUMsQ0FBQztNQUNBLFNBQVMsRUFBRSxJQUFJO01BQ2YsVUFBVSxFL0VuRUEsT0FBTztNK0VvRWpCLEtBQUssRS9FekVMLElBQUk7TStFMEVKLFVBQVUsRUFBRSxHQUFHLEdBQ2hCO0V2RmZILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVGdEZ2QyxBQXdGRSx1QkF4RnFCLENBd0ZyQixZQUFZLENBQUM7TUFpQlQsS0FBSyxFQUFFLElBQUk7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQU1sQjtNQWhISCxBQTJGSSx1QkEzRm1CLENBd0ZyQixZQUFZLENBR1YsQ0FBQyxDQWlCRztRQUNBLFNBQVMsRXZKaEdQLFNBQXVCLEd1SmlHMUI7O0FDOUdQLEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQsQUFBQSxZQUFZLENBQUM7RTFGbUJYLE9BQU8sRTBGbEJNLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztFQUN6QixnQkFBZ0IsRWhGMERHLE9BQU8sR2dGUzNCO0V4RmFHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdGbEZ2QyxBQUFBLFlBQVksQ0FBQztNMUZtQlgsT0FBTyxFMEZkUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FnRTNCO0VBN0RFLEFBQUQsa0JBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsYUFBYSxFQUFFLElBQUk7SUFDbkIsYUFBYSxFQUFFLElBQUksR0FPcEI7SXhGK0RDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdGMUVwQyxBQUFELGtCQUFPLENBQUM7UUFPSixjQUFjLEVBQUUsTUFBTTtRQUN0QixhQUFhLEVBQUUsSUFBSTtRQUNuQixhQUFhLEVBQUUsQ0FBQyxHQUVuQjtFQUlBLEFBQUQsaUJBQU0sQ0FBQztJQUNMLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLEdBQUcsR0F3QmpCO0lBM0JBLEFBS0MsaUJBTEksQ0FLSixDQUFDLENBQUM7TUFDQSxTQUFTLEV4SnBCTCxTQUF1QjtNd0pxQjNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRWhGa0JLLE9BQU87TWdGakJqQixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsQ0FBQyxHQVlqQjtNeEZxQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRd0YzRHBDLEFBS0MsaUJBTEksQ0FLSixDQUFDLENBQUM7VUFRRSxTQUFTLEV4SjNCUCxPQUF1QixHd0pvQzVCO01BdEJGLEFBZ0JHLGlCQWhCRSxDQUtKLENBQUMsQ0FXQyxNQUFNLENBQUM7UUFDTCxXQUFXLEVBQUUsT0FBTztRQUNwQixTQUFTLEVBQUUsT0FBTztRQUNsQixLQUFLLEVBQUUsT0FBTztRQUNkLFdBQVcsRUFBRSxPQUFPLEdBQ3JCO0lBckJKLEFBd0JDLGlCQXhCSSxDQXdCSixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsSUFDWCxHQUFDO0VBR0YsQUFBRCxrQkFBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLGNBQWM7SUFDckMsYUFBYSxFQUFFLElBQUk7SUFDbkIsR0FBRyxFQUFFLFNBQVMsR0FXZjtJeEZjQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO013RjlCckMsQUFBRCxrQkFBTyxDQUFDO1FBUUosR0FBRyxFQUFFLFNBQVM7UUFDZCxhQUFhLEVBQUUsQ0FBQyxHQU9uQjtJeEZjQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013RjlCcEMsQUFBRCxrQkFBTyxDQUFDO1FBYUoscUJBQXFCLEVBQUUsY0FBYztRQUNyQyxHQUFHLEVBQUUsSUFBSSxHQUVaOztBQUdILEFBQUEsV0FBVyxDQUFDO0VBQ1YsZ0JBQWdCLEVoRnRCVCxJQUFJLEdnRnFFWjtFQTdDRSxBQUFELGlCQUFPLENBQUM7STFGdkRSLE9BQU8sRTBGd0RRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUN4QixVQUFVLEVBQUUsTUFBTSxHQVNuQjtJeEZIQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013RlJwQyxBQUFELGlCQUFPLENBQUM7UTFGdkRSLE9BQU8sRTBGNERVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQU0zQjtJeEZIQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013RlJwQyxBQUFELGlCQUFPLENBQUM7UUFTSixVQUFVLEVBQUUsSUFBSSxHQUVuQjtFQUVBLEFBQUQsaUJBQU8sQ0FBQztJQUNOLGFBQWEsRUFBRSxJQUFJLEdBWXBCO0l4RmxCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013RktwQyxBQUFELGlCQUFPLENBQUM7UUFJSixhQUFhLEVBQUUsR0FBRyxHQVNyQjtJeEZsQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0ZLcEMsQUFPQyxpQkFQSyxBQU9KLE1BQU0sQ0FBQztRQUVKLFNBQVMsRXhKdkZQLE9BQXVCO1F3SndGekIsV0FBVyxFQUFFLElBQUksR0FFcEI7RUFHRixBQUFELGdCQUFNLENBQUM7SUFDTCxTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxNQUFNLEdBYWY7SUFoQkEsQUFLQyxnQkFMSSxDQUtKLENBQUMsQ0FBQztNQUNBLFNBQVMsRXhKbkdMLFNBQXVCO013Sm9HM0IsYUFBYSxFQUFFLENBQUM7TUFDaEIsS0FBSyxFaEY3REssT0FBTztNZ0Y4RGpCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGNBQWMsRUFBRSxPQUFPLEdBS3hCO014Rm5DRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F3Rm9CcEMsQUFLQyxnQkFMSSxDQUtKLENBQUMsQ0FBQztVQVFFLFNBQVMsRXhKMUdQLE9BQXVCLEd3SjRHNUI7O0FBSUwsQUFBQSxXQUFXLENBQUM7RUFDVixnQkFBZ0IsRWhGMUVHLE9BQU8sR2dGd0szQjtFQTVGRSxBQUFELGlCQUFPLENBQUM7STFGekdSLE9BQU8sRTBGMEdRLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtJQUMxQixRQUFRLEVBQUUsUUFBUSxHQUtuQjtJeEZqREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0YwQ3BDLEFBQUQsaUJBQU8sQ0FBQztRMUZ6R1IsT0FBTyxFMEY4R1UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBRTdCO0VBRUEsQUFBRCxlQUFLLENBQUM7SUFDSixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsS0FBSztJQUNiLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFdBQVcsRUFBRSxJQUFJLEdBT2xCO0l4Rm5FQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013Rm1EcEMsQUFBRCxlQUFLLENBQUM7UUFZRixXQUFXLEVBQUUsQ0FBQztRQUNkLE1BQU0sRUFBRSxLQUFLO1FBQ2IsYUFBYSxFQUFFLEtBQUssR0FFdkI7RUFFQSxBQUFELG1CQUFTLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxDQUFDO0lBQ1IsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxnQkFBZ0IsRWhGM0dYLElBQUk7SWdGNEdULGFBQWEsRUFBRSxJQUFJO0kxRjNJckIsT0FBTyxFMEY0SVEsSUFBSSxDQUFDLElBQUksR0FXdkI7SXhGeEZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdGcUVwQyxBQUFELG1CQUFTLENBQUM7UTFGcElWLE9BQU8sRTBGK0lVLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQVE3QjtJeEZ4RkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0ZxRXBDLEFBQUQsbUJBQVMsQ0FBQztRQWVOLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsVUFBVSxFQUFFLElBQUksR0FFbkI7RUFFQSxBQUFELGlCQUFPLENBQUM7SUFDTixhQUFhLEVBQUUsSUFBSSxHQUtwQjtJeEZoR0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0YwRnBDLEFBQUQsaUJBQU8sQ0FBQztRQUlKLGFBQWEsRUFBRSxHQUFHLEdBRXJCO0VBRUEsQUFDQyxlQURHLENBQ0gsQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFaEZySUssT0FBTztJZ0ZzSWpCLFNBQVMsRXhKOUtMLFNBQXVCO0l3SitLM0IsYUFBYSxFQUFFLENBQUM7SUFDaEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLEdBQUcsR0F3QmpCO0lBOUJGLEFBUUcsZUFSQyxDQUNILENBQUMsQUFPRSxJQUFLLEM5RGhFQSxhQUFhLEU4RGdFRTtNQUNuQixhQUFhLEVBQUUsSUFBSSxHQUtwQjtNeEZoSEgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRd0ZrR3BDLEFBUUcsZUFSQyxDQUNILENBQUMsQUFPRSxJQUFLLEM5RGhFQSxhQUFhLEU4RGdFRTtVQUlqQixhQUFhLEVBQUUsR0FBRyxHQUVyQjtJeEZoSEgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0ZrR3BDLEFBQ0MsZUFERyxDQUNILENBQUMsQ0FBQztRQWdCRSxTQUFTLEV4SjVMUCxPQUF1QjtRd0o2THpCLFdBQVcsRUFBRSxHQUFHLEdBWW5CO0lBOUJGLEFBcUJHLGVBckJDLENBQ0gsQ0FBQyxDQW9CQyxNQUFNLENBQUM7TUFDTCxTQUFTLEV4SmpNUCxPQUF1QjtNd0prTXpCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO014Ri9ISCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F3RmtHcEMsQUFxQkcsZUFyQkMsQ0FDSCxDQUFDLENBb0JDLE1BQU0sQ0FBQztVQU1ILFNBQVMsRUFBRSxJQUFJLEdBRWxCO0VBSUosQUFBRCxlQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQzNOSCxBQUVFLGdCQUZjLENBRWQsSUFBSSxDQUFDO0VBRUgsZUFBZSxFQUFFLFNBQVMsR0FrSzNCO0VBdEtILEFBTUksZ0JBTlksQ0FFZCxJQUFJLENBSUYsVUFBVSxDQUFDO0kzRmlCYixPQUFPLEUyRmhCVSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FDMUI7RUFSTCxBQVVJLGdCQVZZLENBRWQsSUFBSSxDQVFGLFVBQVUsQ0FBQztJQUVULE9BQU8sRUFBRSxDQUFDO0lBQ1YsYUFBYSxFQUFFLEtBQUssR0FtRHJCO0lBaEVMLEF4SFFFLGdCd0hSYyxDQUVkLElBQUksQ0FRRixVQUFVLEF4SEZYLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0l3SFpILEFBZU0sZ0JBZlUsQ0FFZCxJQUFJLENBUUYsVUFBVSxBQUtQLGFBQWEsQ0FBQztNQUNiLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7SUFqQlAsQUFtQk0sZ0JBbkJVLENBRWQsSUFBSSxDQVFGLFVBQVUsQ0FTUixFQUFFLENBQUM7TUFDRCxLQUFLLEVqRjZCRSxPQUFPLEdpRjVCZjtJQXJCUCxBQXVCTSxnQkF2QlUsQ0FFZCxJQUFJLENBUUYsVUFBVSxDQWFSLEVBQUUsQ0FBQztNQUNELFVBQVUsRUFBRSxJQUFJO01BQ2hCLFNBQVMsRTFKZFAsUUFBc0I7TTBKZXhCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRWpGc0JFLE9BQU8sR2lGckJmO0lBNUJQLEFBOEJNLGdCQTlCVSxDQUVkLElBQUksQ0FRRixVQUFVLENBb0JSLEtBQUssQ0FBQztNQUNKLEtBQUssRWpGa0JFLE9BQU8sR2lGYmY7TUFwQ1AsQUFpQ1EsZ0JBakNRLENBRWQsSUFBSSxDQVFGLFVBQVUsQ0FvQlIsS0FBSyxDQUdILENBQUMsQ0FBQztRQUNBLEtBQUssRUFBRSxPQUFPLEdBQ2Y7SUFuQ1QsQUFzQ00sZ0JBdENVLENBRWQsSUFBSSxDQVFGLFVBQVUsQ0E0QlIsZUFBZSxDQUFDO01BQ2QsTUFBTSxFQUFFLFFBQVE7TUFDaEIsT0FBTyxFQUFFLENBQUMsR0F1Qlg7TUEvRFAsQUEwQ1EsZ0JBMUNRLENBRWQsSUFBSSxDQVFGLFVBQVUsQ0E0QlIsZUFBZSxDQUliLEVBQUUsQ0FBQztRQUNELFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLE1BQU0sRUFBRSxDQUFDLEdBZVY7UUE5RFQsQUFpRFUsZ0JBakRNLENBRWQsSUFBSSxDQVFGLFVBQVUsQ0E0QlIsZUFBZSxDQUliLEVBQUUsQUFPQyxPQUFPLENBQUM7VUFDUCxPQUFPLEVBQUUsRUFBRTtVL0d2Q25CLE1BQU0sRStHd0NnQixHQUFHO1UvR2hDekIsS0FBSyxFK0dnQ2lCLEdBQUc7VUFDakIsVUFBVSxFakZsQ0EsT0FBTztVaUZtQ2pCLGFBQWEsRUFBRSxHQUFHO1VsSG5DNUIsUUFBUSxFa0hvQ29CLFFBQVE7VWxIaENoQyxHQUFVLEVrSGdDd0IsR0FBRztVbEhoQ3JDLElBQVUsRWtIZ0NzQyxDQUFDLEdBQzVDO1FBdkRYLEFBeURVLGdCQXpETSxDQUVkLElBQUksQ0FRRixVQUFVLENBNEJSLGVBQWUsQ0FJYixFQUFFLENBZUEsRUFBRSxDQUFDO1VBQ0QsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsR0FBRztVQUNoQixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBN0RYLEFBc0VJLGdCQXRFWSxDQUVkLElBQUksQ0FvRUYsV0FBVyxDQUFDO0lBQ1YsVUFBVSxFQUFFLElBQUk7SUFDaEIsUUFBUSxFQUFFLFFBQVE7STVGM0J0QixXQUE2QixFQUFTLFFBQXNGO0lGb0IxSCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0lrR2lFekMsYUFBYSxFQUFFLEdBQUc7SUFDbEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsR0FnQnZEO0lBOUZMLEE5RnNGTSxnQjhGdEZVLENBRWQsSUFBSSxDQW9FRixXQUFXLEE5RmdCUixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SThGeEZQLEFBZ0ZNLGdCQWhGVSxDQUVkLElBQUksQ0FvRUYsV0FBVyxBQVVSLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUs7TUFDZCxXQUFXLEVBQUUsSUFBSTtNQUNqQixPQUFPLEVBQUUsRUFBRSxHQUNaO0lBckZQLEFBdUZNLGdCQXZGVSxDQUVkLElBQUksQ0FvRUYsV0FBVyxBQWlCUixNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNbEh0RWpCLFFBQVEsRWtIdUVnQixRQUFRO01sSG5FNUIsR0FBVSxFa0htRXFCLElBQUc7TWxIbkVsQyxLQUFVLEVrSG1FeUIsSUFBSTtNL0c5RXpDLE1BQU0sRStHK0VZLElBQUk7TS9HdkV0QixLQUFLLEUrR3VFYSxJQUFJO01BQ2xCLFVBQVUsRUFBRSx3QkFBd0I7TUFDcEMsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUE3RlAsQUFnR0ksZ0JBaEdZLENBRWQsSUFBSSxDQThGRixNQUFNLENBQUM7SUFDTCxTQUFTLEV6SnBGTCxTQUF1QjtJeUpxRjNCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO0V6RmZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXlGdEZ4QyxBQXNFSSxnQkF0RVksQ0FFZCxJQUFJLENBb0VGLFdBQVcsQ0FtQ0c7TTVGNURoQixXQUE2QixFQUFTLFNBQXNGO01Gb0IxSCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDLEdrR2tHeEM7TUE1R1AsQTlGc0ZNLGdCOEZ0RlUsQ0FFZCxJQUFJLENBb0VGLFdBQVcsQTlGZ0JSLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFS0ZILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlGdEZ2QyxBQU1JLGdCQU5ZLENBRWQsSUFBSSxDQUlGLFVBQVUsQ0EyR0c7TTNGMUZmLE9BQU8sRTJGMkZZLElBQUksQ0FBQyxDQUFDLEdBQ3BCO0V6RjdCSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5RnRGdkMsQUFNSSxnQkFOWSxDQUVkLElBQUksQ0FJRixVQUFVLENBa0hHO00zRmpHZixPQUFPLEUyRmtHWSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FDNUI7SUExSFAsQUFVSSxnQkFWWSxDQUVkLElBQUksQ0FRRixVQUFVLENBa0hHO01BQ1QsYUFBYSxFQUFFLElBQUksR0FvQnBCO01BakpQLEFBbUJNLGdCQW5CVSxDQUVkLElBQUksQ0FRRixVQUFVLENBU1IsRUFBRSxDQTRHRztRQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BaklULEFBdUJNLGdCQXZCVSxDQUVkLElBQUksQ0FRRixVQUFVLENBYVIsRUFBRSxDQTRHRztRQUNELE1BQU0sRUFBRSxXQUFXLEdBQ3BCO01BcklULEFBc0NNLGdCQXRDVSxDQUVkLElBQUksQ0FRRixVQUFVLENBNEJSLGVBQWUsQ0FpR0c7UUFDZCxNQUFNLEVBQUUsUUFBUSxHQVFqQjtRQWhKVCxBQXlEVSxnQkF6RE0sQ0FFZCxJQUFJLENBUUYsVUFBVSxDQTRCUixlQUFlLENBSWIsRUFBRSxDQWVBLEVBQUUsQ0FtRkc7VUFDRCxTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQTlJYixBQW1KTSxnQkFuSlUsQ0FFZCxJQUFJLENBaUpBLFVBQVUsQ0FBQztNQUNULEtBQUssRUFBRSxJQUFJO01BQ1gsS0FBSyxFQUFFLElBQUksR0FDWjtJQXRKUCxBQXNFSSxnQkF0RVksQ0FFZCxJQUFJLENBb0VGLFdBQVcsQ0FrRkc7TUFDVixTQUFTLEVBQUUsS0FBSztNQUNoQixLQUFLLEVBQUUsR0FBRztNQUNWLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLHNCQUFzQjtNQUM5QixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsR0FPdkQ7TUFwS1AsQUF1Rk0sZ0JBdkZVLENBRWQsSUFBSSxDQW9FRixXQUFXLEFBaUJSLE1BQU0sQ0F3RUc7UUFDTixHQUFHLEVBQUUsQ0FBQztRQUNOLEtBQUssRUFBRSxJQUFJO1EvR3RKakIsTUFBTSxFK0d1SmMsTUFBTTtRL0cvSTFCLEtBQUssRStHK0llLE1BQU0sR0FDckI7O0FBbktULEFBd0tFLGdCQXhLYyxDQXdLZCx1QkFBdUIsQ0FBQztFM0ZqSnhCLE9BQU8sRTJGa0pRLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtFQUN6QixVQUFVLEVqRnBKTSxPQUFPLEdpRnFMeEI7RUEzTUgsQUE0S0ksZ0JBNUtZLENBd0tkLHVCQUF1QixDQUlyQixFQUFFLENBQUM7SUFDRCxXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsT0FBTyxHQUN4QjtFekYxRkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUZ0RnZDLEFBd0tFLGdCQXhLYyxDQXdLZCx1QkFBdUIsQ0FBQztNM0ZqSnhCLE9BQU8sRTJGNEpVLElBQUksQ0FBQyxDQUFDLEdBd0J0QjtNQTNNSCxBQTRLSSxnQkE1S1ksQ0F3S2QsdUJBQXVCLENBSXJCLEVBQUUsQ0FTRztRQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BdkxQLEFBeUxNLGdCQXpMVSxDQXdLZCx1QkFBdUIsQ0FpQm5CLEtBQUssQ0FBQztROUZ4SFIsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKcEVoQixRQUFzQztRSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHa0dpTHhDO1FBM0xQLEE5RnNGTSxnQjhGdEZVLENBd0tkLHVCQUF1QixDQWlCbkIsS0FBSyxBOUZuR0osV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUZ0RnZDLEFBd0tFLGdCQXhLYyxDQXdLZCx1QkFBdUIsQ0FBQztNM0ZqSnhCLE9BQU8sRTJGd0tVLElBQUksQ0FBQyxJQUFJLEdBWXpCO01BM01ILEFBNEtJLGdCQTVLWSxDQXdLZCx1QkFBdUIsQ0FJckIsRUFBRSxDQXFCRztRQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01Bbk1QLEFBeUxNLGdCQXpMVSxDQXdLZCx1QkFBdUIsQ0FpQm5CLEtBQUssQ0FZQztRQUNKLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QUFPSixBQUFELGdCQUFNLENBQUM7RUFDTCxnQkFBZ0IsRWpGM0pYLElBQUksR2lGNkpWOztBQUVBLEFBQUQsaUJBQU8sQ0FBQztFM0Y5TFIsT0FBTyxFMkYrTFEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBU3pCO0V6RnpJQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5RitIcEMsQUFBRCxpQkFBTyxDQUFDO00zRjlMUixPQUFPLEUyRmtNVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FNOUI7RXpGeklDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlGK0hwQyxBQUFELGlCQUFPLENBQUM7TTNGOUxSLE9BQU8sRTJGc01VLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUUzQjs7QUFFQSxBQUFELGtCQUFRLENBQUM7RUFDUCxnQkFBZ0IsRWpGOUtDLE9BQU8sR2lGK0t6Qjs7QUFFQSxBQUFELHdCQUFjLENBQUM7RTNGOU1mLE9BQU8sRTJGK01RLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUt6QjtFekZySkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUYrSXBDLEFBQUQsd0JBQWMsQ0FBQztNM0Y5TWYsT0FBTyxFMkZrTlUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBRTNCOztBQUVBLEFBQUQsd0JBQWMsQ0FBQztFQUNiLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0V6RjdKQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5RnVKcEMsQUFBRCx3QkFBYyxDQUFDO01BSVgsYUFBYSxFQUFFLElBQUksR0FFdEI7O0FBRUEsQUFBRCxpQkFBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxjQUFjO0VBQ3JDLEdBQUcsRUFBRSxNQUFNLEdBNkJaO0V6Ri9MQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l5RitKckMsQUFBRCxpQkFBTyxDQUFDO01BTUoscUJBQXFCLEVBQUUsY0FBYztNQUNyQyxHQUFHLEVBQUUsSUFBSSxHQXlCWjtFekYvTEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUYrSnBDLEFBQUQsaUJBQU8sQ0FBQztNQVdKLGFBQWEsRXpKblBULE9BQXVCLEd5SndROUI7TUFoQ0EsQUFhRyxpQkFiRyxDQWFILGFBQWEsQ0FBQztRQUNaLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO01BZkosQUFpQkcsaUJBakJHLENBaUJILFdBQVcsQ0FBQztRQUNWLE1BQU0sRXpKMVBKLFFBQXVCLEd5SitQMUI7UUF2QkosQUFvQkssaUJBcEJDLENBaUJILFdBQVcsQ0FHVCxNQUFNLEFBQUEsUUFBUSxDQUFDO1VBQ2IsT0FBTyxFQUFFLEVBQUUsR0FDWjtFekZyTEwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUYrSnBDLEFBMEJDLGlCQTFCSyxDQTBCTCxLQUFLLENBQUM7TUFFRixLQUFLLEVBQUUsS0FBSztNQUNaLE1BQU0sRUFBRSxNQUFNLEdBRWpCOztBQ3BSTCxBQUNFLDZCQUQyQixDQUMzQixZQUFZLENBQUM7RTVGc0JiLE9BQU8sRTRGckJRLElBQUksQ0FBQyxDQUFDO0VBQ25CLFVBQVUsRWxGbUJNLE9BQU8sR2tGbEJ4Qjs7QUFKSCxBQVNJLDZCQVR5QixDQU0zQixZQUFZLENBR1YsRUFBRTtBQVROLDZCQUE2QixDQU8zQixjQUFjLENBRVosRUFBRSxDQUFDO0VBQ0QsYUFBYSxFQUFFLElBQUksR0FLcEI7RTFGdUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STBGdEZ2QyxBQVNJLDZCQVR5QixDQU0zQixZQUFZLENBR1YsRUFBRTtJQVROLDZCQUE2QixDQU8zQixjQUFjLENBRVosRUFBRSxDQUFDO01BSUMsYUFBYSxFQUFFLElBQUksR0FFdEI7O0FBZkwsQUFpQkksNkJBakJ5QixDQU0zQixZQUFZLENBV1YsS0FBSztBQWpCVCw2QkFBNkIsQ0FPM0IsY0FBYyxDQVVaLEtBQUssQ0FBQztFL0ZnRE4sS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztFbUdTekMsYUFBYSxFQUFFLElBQUk7RUFDbkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFM0pWTCxRQUFzQjtFMkpXMUIsS0FBSyxFbEZmUSxPQUFPLEdrRmdCckI7RUF2QkwsQS9Gc0ZNLDZCK0Z0RnVCLENBTTNCLFlBQVksQ0FXVixLQUFLLEEvRnFFRixXQUFXO0UrRnRGbEIsNkJBQTZCLENBTzNCLGNBQWMsQ0FVWixLQUFLLEEvRnFFRixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0ErRnhGUCxBekhRRSw2QnlIUjJCLENBTTNCLFlBQVksQ0FtQlYscUJBQXFCLEF6SGpCdEIsT0FBTztBeUhSViw2QkFBNkIsQ0FPM0IsY0FBYyxDQWtCWixxQkFBcUIsQXpIakJ0QixPQUFPLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QXlIWkgsQUE4QlEsNkJBOUJxQixDQU0zQixZQUFZLENBbUJWLHFCQUFxQixDQUduQixLQUFLLEFBRUYsT0FBTztBQTlCaEIsNkJBQTZCLENBTzNCLGNBQWMsQ0FrQloscUJBQXFCLENBR25CLEtBQUssQUFFRixPQUFPLENBQUM7RS9GbUNiLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7RUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR21Hc0J0QztFQWhDVCxBL0ZzRk0sNkIrRnRGdUIsQ0FNM0IsWUFBWSxDQW1CVixxQkFBcUIsQ0FHbkIsS0FBSyxBQUVGLE9BQU8sQS9Gd0RULFdBQVc7RStGdEZsQiw2QkFBNkIsQ0FPM0IsY0FBYyxDQWtCWixxQkFBcUIsQ0FHbkIsS0FBSyxBQUVGLE9BQU8sQS9Gd0RULFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QStGeEZQLEFBa0NRLDZCQWxDcUIsQ0FNM0IsWUFBWSxDQW1CVixxQkFBcUIsQ0FHbkIsS0FBSyxBQU1GLElBQUk7QUFsQ2IsNkJBQTZCLENBTzNCLGNBQWMsQ0FrQloscUJBQXFCLENBR25CLEtBQUssQUFNRixJQUFJLENBQUM7RS9GK0JWLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7RUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR21HMEJ0QztFQXBDVCxBL0ZzRk0sNkIrRnRGdUIsQ0FNM0IsWUFBWSxDQW1CVixxQkFBcUIsQ0FHbkIsS0FBSyxBQU1GLElBQUksQS9Gb0ROLFdBQVc7RStGdEZsQiw2QkFBNkIsQ0FPM0IsY0FBYyxDQWtCWixxQkFBcUIsQ0FHbkIsS0FBSyxBQU1GLElBQUksQS9Gb0ROLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QUtGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UwRnRGdkMsQUF1Q1UsNkJBdkNtQixDQU0zQixZQUFZLENBbUJWLHFCQUFxQixDQUduQixLQUFLLEFBV0EsTUFBTTtFQXZDakIsNkJBQTZCLENBTzNCLGNBQWMsQ0FrQloscUJBQXFCLENBR25CLEtBQUssQUFXQSxNQUFNLENBQUM7SWpHZ0JaLFlBQW9CLEVBQVMsQ0FBQyxHaUdWekI7SUE3Q1gsQUEwQ1ksNkJBMUNpQixDQU0zQixZQUFZLENBbUJWLHFCQUFxQixDQUduQixLQUFLLEFBV0EsTUFBTSxHQUdILEtBQUs7SUExQ25CLDZCQUE2QixDQU8zQixjQUFjLENBa0JaLHFCQUFxQixDQUduQixLQUFLLEFBV0EsTUFBTSxHQUdILEtBQUssQ0FBQztNQUNOLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0ExRjBDVCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UwRnRGdkMsQUFrRFUsNkJBbERtQixDQU0zQixZQUFZLENBbUJWLHFCQUFxQixDQUduQixLQUFLLEFBc0JBLE9BQU8sRUFsRGxCLDZCQUE2QixDQU0zQixZQUFZLENBbUJWLHFCQUFxQixDQUduQixLQUFLLEFBdUJBLElBQUk7RUFuRGYsNkJBQTZCLENBTzNCLGNBQWMsQ0FrQloscUJBQXFCLENBR25CLEtBQUssQUFzQkEsT0FBTztFQWxEbEIsNkJBQTZCLENBTzNCLGNBQWMsQ0FrQloscUJBQXFCLENBR25CLEtBQUssQUF1QkEsSUFBSSxDQUFDO0kvRmNaLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR21HNENwQztJQXREWCxBL0ZzRk0sNkIrRnRGdUIsQ0FNM0IsWUFBWSxDQW1CVixxQkFBcUIsQ0FHbkIsS0FBSyxBQXNCQSxPQUFPLEEvRm9DWCxXQUFXLEUrRnRGbEIsNkJBQTZCLENBTTNCLFlBQVksQ0FtQlYscUJBQXFCLENBR25CLEtBQUssQUF1QkEsSUFBSSxBL0ZtQ1IsV0FBVztJK0Z0RmxCLDZCQUE2QixDQU8zQixjQUFjLENBa0JaLHFCQUFxQixDQUduQixLQUFLLEFBc0JBLE9BQU8sQS9Gb0NYLFdBQVc7SStGdEZsQiw2QkFBNkIsQ0FPM0IsY0FBYyxDQWtCWixxQkFBcUIsQ0FHbkIsS0FBSyxBQXVCQSxJQUFJLEEvRm1DUixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SStGeEZQLEFqRzZFRSw2QmlHN0UyQixDQU0zQixZQUFZLENBbUJWLHFCQUFxQixDQUduQixLQUFLLEFBc0JBLE9BQU8sQWpHMkJmLFVBQVcsQ0FBQSxFQUFFLEdpRzdFaEIsNkJBQTZCLENBTTNCLFlBQVksQ0FtQlYscUJBQXFCLENBR25CLEtBQUssQUF1QkEsSUFBSSxBakcwQlosVUFBVyxDQUFBLEVBQUU7SWlHN0VoQiw2QkFBNkIsQ0FPM0IsY0FBYyxDQWtCWixxQkFBcUIsQ0FHbkIsS0FBSyxBQXNCQSxPQUFPLEFqRzJCZixVQUFXLENBQUEsRUFBRTtJaUc3RWhCLDZCQUE2QixDQU8zQixjQUFjLENBa0JaLHFCQUFxQixDQUduQixLQUFLLEFBdUJBLElBQUksQWpHMEJaLFVBQVcsQ0FBQSxFQUFFLEVBQVM7TUFDckIsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lpRy9FSCxBakdrRkksNkJpR2xGeUIsQ0FNM0IsWUFBWSxDQW1CVixxQkFBcUIsQ0FHbkIsS0FBSyxBQXNCQSxPQUFPLEFqR2dDYixVQUFXLENBQUEsSUFBSSxHaUdsRnBCLDZCQUE2QixDQU0zQixZQUFZLENBbUJWLHFCQUFxQixDQUduQixLQUFLLEFBdUJBLElBQUksQWpHK0JWLFVBQVcsQ0FBQSxJQUFJO0lpR2xGcEIsNkJBQTZCLENBTzNCLGNBQWMsQ0FrQloscUJBQXFCLENBR25CLEtBQUssQUFzQkEsT0FBTyxBakdnQ2IsVUFBVyxDQUFBLElBQUk7SWlHbEZwQiw2QkFBNkIsQ0FPM0IsY0FBYyxDQWtCWixxQkFBcUIsQ0FHbkIsS0FBSyxBQXVCQSxJQUFJLEFqRytCVixVQUFXLENBQUEsSUFBSSxFQUFTO01BQ3ZCLEtBQUssRVR1QlksSUFBSSxHU3RCdEI7O0FPRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMEZ0RnZDLEFBa0RVLDZCQWxEbUIsQ0FNM0IsWUFBWSxDQW1CVixxQkFBcUIsQ0FHbkIsS0FBSyxBQXNCQSxPQUFPLEVBbERsQiw2QkFBNkIsQ0FNM0IsWUFBWSxDQW1CVixxQkFBcUIsQ0FHbkIsS0FBSyxBQXVCQSxJQUFJO0VBbkRmLDZCQUE2QixDQU8zQixjQUFjLENBa0JaLHFCQUFxQixDQUduQixLQUFLLEFBc0JBLE9BQU87RUFsRGxCLDZCQUE2QixDQU8zQixjQUFjLENBa0JaLHFCQUFxQixDQUduQixLQUFLLEFBdUJBLElBQUksQ0FTQztJQUNKLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0ExRndCUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UwRnRGdkMsQUFpQkksNkJBakJ5QixDQU0zQixZQUFZLENBV1YsS0FBSztFQWpCVCw2QkFBNkIsQ0FPM0IsY0FBYyxDQVVaLEtBQUssQ0FzREc7SUFDSixLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBQTFFUCxBQWlGSSw2QkFqRnlCLENBTTNCLFlBQVksQ0EyRVYsVUFBVTtBQWpGZCw2QkFBNkIsQ0FPM0IsY0FBYyxDQTBFWixVQUFVLENBQUM7RUFDVCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxjQUFjO0VBQ3RCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FqQ1BGLEFBQUQsY0FBTSxDaUNXTztFQUNiLE1BQU0sRUFBRSxJQUFJLEdBcUtiO0UxRjFLRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l5RFByQyxBQUFELGNBQU0sQ2lDV087TUFHWCxTQUFTLEVBQUUsS0FBSztNQUNoQixNQUFNLEVBQUUsTUFBTSxHQWtLakI7RUF0S0QsQUFPRSxjQVBZLENBT1osRUFBRSxDQUFDO0lBQ0QsU0FBUyxFM0p2RkgsTUFBc0I7STJKd0Y1QixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsT0FBTztJQUN2QixLQUFLLEVsRjlGVSxPQUFPO0lrRitGdEIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUFiSCxBQWVFLGNBZlksQ0FlWixVQUFVLENBQUM7SUFDVCxTQUFTLEUzSi9GSCxRQUFzQjtJMkpnRzVCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBbEJILEFBb0JFLGNBcEJZLEFBb0JYLGVBQWUsQ0FBQztJNUZ2RmpCLE9BQU8sRTRGd0ZRLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQTRHMUI7SUFqSUgsQUF1QkksY0F2QlUsQUFvQlgsZUFBZSxDQUdkLEVBQUUsQ0FBQztNQUNELEtBQUssRWxGeEZILElBQUk7TWtGeUZOLFNBQVMsRTFKdEdMLE1BQXVCO00wSnVHM0IsV0FBVyxFQUFFLElBQUk7TUFDakIsTUFBTSxFQUFFLFVBQVU7TUFDbEIsU0FBUyxFQUFFLEtBQUssR0FDakI7SUE3QkwsQUErQkksY0EvQlUsQUFvQlgsZUFBZSxDQVdkLFVBQVUsQ0FBQztNQUNULFNBQVMsRTFKN0dMLFFBQXVCO00wSjhHM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsTUFBTSxFQUFFLFdBQVc7TUFDbkIsU0FBUyxFQUFFLEtBQUssR0FDakI7SUFwQ0wsQUFzQ0ksY0F0Q1UsQUFvQlgsZUFBZSxDQWtCZCxRQUFRLENBQUM7TUFDUCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQXhDTCxBQTBDSSxjQTFDVSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQ0FBQztNQUNYLGFBQWEsRUFBRSxDQUFDLEdBdUVqQjtNQWxITCxBQTZDTSxjQTdDUSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQ0FHVixRQUFRLENBQUM7UUFDUCxVQUFVLEVBQUUsS0FBSyxHQUNsQjtNQS9DUCxBQWlETSxjQWpEUSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQ0FPVixNQUFNLENBQUM7UUFDTCxLQUFLLEVsRnJJTSxPQUFPO1FrRnNJbEIsYUFBYSxFQUFFLElBQUk7UUFDbkIsV0FBVyxFQUFFLEdBQUcsR0FDakI7TUFyRFAsQUF1RE0sY0F2RFEsQUFvQlgsZUFBZSxDQXNCZCxZQUFZLENBYVYsVUFBVSxDQUFDO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE1BQU0sRUFBRSxJQUFJO1FBQ1osSUFBSSxFQUFFLENBQUMsR0FNUjtRQW5FUCxBQStEUSxjQS9ETSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQ0FhVixVQUFVLENBUVIsQ0FBQyxDQUFDO1VBQ0EsT0FBTyxFQUFFLFlBQVk7VUFDckIsTUFBTSxFQUFFLEtBQUssR0FDZDtNMUZ0RUwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRMEZJeEMsQUE2Q00sY0E3Q1EsQUFvQlgsZUFBZSxDQXNCZCxZQUFZLENBR1YsUUFBUSxDQTBCRztVQUNQLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO1FBekVULEFBdURNLGNBdkRRLEFBb0JYLGVBQWUsQ0FzQmQsWUFBWSxDQWFWLFVBQVUsQ0FvQkc7VUFDVCxNQUFNLEVBQUUsSUFBSSxHQUNiO00xRmpGTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1EwRkl2QyxBQTBDSSxjQTFDVSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQ0FBQztVL0ZuRWIsS0FBSyxFQUFDLElBQUM7VUFHTCxPQUFPLEVBQUUsS0FBSztVQWVkLFlBQW9CLEVKcEVoQixRQUFzQztVSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztVbUdtS3ZDLGFBQWEsRUFBRSxJQUFJLEdBK0J0QjtVQWxITCxBL0ZKTSxjK0ZJUSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQS9GOUNULFdBQVcsQ0FBQztZQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtVK0ZFUCxBakdiRSxjaUdhWSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQWpHdkRiLFVBQVcsQ0FBQSxFQUFFLEVBQVM7WUFDckIsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1VpR1dILEFqR1JJLGNpR1FVLEFBb0JYLGVBQWUsQ0FzQmQsWUFBWSxBakdsRFgsVUFBVyxDQUFBLElBQUksRUFBUztZQUN2QixLQUFLLEVUdUJZLElBQUksR1N0QnRCO1VpR01MLEFBcUZRLGNBckZNLEFBb0JYLGVBQWUsQ0FzQmQsWUFBWSxDQTJDUixFQUFFLENBQUM7WUFDRCxTQUFTLEUxSm5LVCxRQUF1QixHMEpvS3hCO1VBdkZULEFBeUZRLGNBekZNLEFBb0JYLGVBQWUsQ0FzQmQsWUFBWSxDQStDUixDQUFDLENBQUM7WUFDQSxPQUFPLEVBQUUsS0FBSztZQUNkLFNBQVMsRTFKeEtULFNBQXVCLEcwSnlLeEI7TTFGaEdMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UTBGSXZDLEFBNkNNLGNBN0NRLEFBb0JYLGVBQWUsQ0FzQmQsWUFBWSxDQUdWLFFBQVEsQ0FvREc7VUFDUCxPQUFPLEVBQUUsSUFBSTtVQUNiLFVBQVUsRUFBRSxPQUFPLEdBQ3BCO1FBcEdULEFBaURNLGNBakRRLEFBb0JYLGVBQWUsQ0FzQmQsWUFBWSxDQU9WLE1BQU0sQ0FxREc7VUFDTCxTQUFTLEUxSnBMVCxRQUF1QixHMEpxTHhCO1FBeEdULEFBeUZRLGNBekZNLEFBb0JYLGVBQWUsQ0FzQmQsWUFBWSxDQStDUixDQUFDLENBaUJDO1VBQ0EsT0FBTyxFQUFFLElBQUksR0FDZDtRQTVHVCxBQXVETSxjQXZEUSxBQW9CWCxlQUFlLENBc0JkLFlBQVksQ0FhVixVQUFVLENBdURHO1VBQ1QsT0FBTyxFQUFFLElBQUksR0FDZDtJMUZwSEwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMEZJdkMsQUFvQkUsY0FwQlksQUFvQlgsZUFBZSxDQUFDO1E1RnZGakIsT0FBTyxFNEZ3TFUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBWTdCO1FBaklILEFBdUJJLGNBdkJVLEFBb0JYLGVBQWUsQ0FHZCxFQUFFLENBZ0dHO1VBQ0QsU0FBUyxFMUpyTVAsU0FBdUI7VTBKc016QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtRQTFIUCxBQStCSSxjQS9CVSxBQW9CWCxlQUFlLENBV2QsVUFBVSxDQTZGRztVQUNULFNBQVMsRTFKMU1QLFNBQXVCO1UwSjJNekIsYUFBYSxFQUFFLElBQUksR0FDcEI7RTFGbklILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlEUHBDLEFBQUQsY0FBTSxDaUNXTztNNUZuRWIsT0FBTyxFNEYrTVEsSUFBSSxDQUFDLElBQUksR0EwQnpCO01BdEtELEFBT0UsY0FQWSxDQU9aLEVBQUUsQ0F1SUc7UUFDRCxTQUFTLEUzSjlOTCxPQUFzQjtRMkorTjFCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO01BbkpMLEFBZUUsY0FmWSxDQWVaLFVBQVUsQ0FzSUc7UUFDVCxTQUFTLEUzSnJPTCxPQUFzQixHMkpzTzNCO01BdkpMLEFBeUpJLGNBekpVLENBeUpWLFFBQVEsQ0FBQztRQUNQLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0UxRi9KRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwRkl2QyxBQStKSSxjQS9KVSxDQThKWixRQUFRLENBQ04sWUFBWSxBQUFBLFlBQVksQ0FBQztNN0Y1TTNCLFdBQTZCLEVBQVMsU0FBc0YsRzZGZ056SDs7QUFLTCxBQUFBLGNBQWMsQ0FBQztFQUNiLGdCQUFnQixFbEZuTUcsT0FBTztFVnpDMUIsT0FBTyxFNEY2T00sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBNER6QjtFMUYxT0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEY0S3ZDLEFBQUEsY0FBYyxDQUFDO001RjNPYixPQUFPLEU0RmdQUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0F5RDNCO0VBdERFLEFBQUQsc0JBQVMsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLFVBQVU7SUFDdkIsZUFBZSxFQUFFLGFBQWE7SUFDOUIsYUFBYSxFQUFFLElBQUk7SUFDbkIsR0FBRyxFQUFFLE1BQU07SUFDWCxhQUFhLEVBQUUsSUFBSSxHQVVwQjtJMUZwTUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNMEZvTHJDLEFBQUQsc0JBQVMsQ0FBQztRNUZuUFYsT0FBTyxFNEY0UFUsQ0FBQyxHQU9qQjtJMUZwTUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMEZvTHBDLEFBQUQsc0JBQVMsQ0FBQztRQWFOLE9BQU8sRUFBRSxLQUFLO1FBQ2QsYUFBYSxFQUFFLElBQUksR0FFdEI7RUFFQSxBQUFELG9CQUFPLENBQUM7SUFDTixhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsR0FBRyxHQUtqQjtJMUY3TUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMEZzTXBDLEFBQUQsb0JBQU8sQ0FBQztRQUtKLFNBQVMsRTFKcFJMLE9BQXVCLEcwSnNSOUI7RUFFQSxBQUFELG1CQUFNLENBQUM7SUFDTCxTQUFTLEUxSnpSSCxPQUF1QjtJMEowUjdCLEtBQUssRWxGbFBPLE9BQU87SWtGbVBuQixTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0kxRnpOQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wRitNcEMsQUFBRCxtQkFBTSxDQUFDO1FBUUgsU0FBUyxFMUpoU0wsT0FBdUIsRzBKa1M5QjtFQUVBLEFBRUcsb0JBRkcsQ0FDTCxjQUFjLEFBQ1gsSUFBSyxDaEVuTEEsYUFBYSxFZ0VtTEU7SUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFuRFAsQUF5RE0sY0F6RFEsQ0F1RFosV0FBVyxDQUNULE1BQU0sQUFDSCxRQUFRLENBQUM7SUFDUixPQUFPLEVBQUUsRUFBRSxHQUNaOztBQzdUUCxBQU1JLHNCQU5rQixDQUVwQixhQUFhLENBSVgsdUJBQXVCLENBQUM7RWhHMkR4QixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0VJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEdvR0UxQztFQVpMLEFoR3NGTSxzQmdHdEZnQixDQUVwQixhQUFhLENBSVgsdUJBQXVCLEFoR2dGcEIsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VnR3hGUCxBQVNNLHNCQVRnQixDQUVwQixhQUFhLENBSVgsdUJBQXVCLENBR3JCLFVBQVUsQ0FBQztJQUNULFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBWFAsQUFjSSxzQkFka0IsQ0FFcEIsYUFBYSxDQVlYLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQWhCTCxBQW1CSSxzQkFuQmtCLENBRXBCLGFBQWEsQ0FpQlgsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBckJMLEFBd0JFLHNCQXhCb0IsQ0F3QnBCLG9CQUFvQixDQUFDO0U3RkRyQixPQUFPLEU2RkVRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQXNCekI7RUEvQ0gsQUEyQkksc0JBM0JrQixDQXdCcEIsb0JBQW9CLENBR2xCLFVBQVUsQ0FBQztJaEdzQ1gsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHb0dtQjFDO0lBN0JMLEFoR3NGTSxzQmdHdEZnQixDQXdCcEIsb0JBQW9CLENBR2xCLFVBQVUsQWhHMkRQLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFZ0d4RlAsQUErQkksc0JBL0JrQixDQXdCcEIsb0JBQW9CLENBT2xCLEtBQUssQ0FBQztJQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0UzRnFERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kyRnRGdkMsQUF3QkUsc0JBeEJvQixDQXdCcEIsb0JBQW9CLENBQUM7TTdGRHJCLE9BQU8sRTZGYVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBVzlCO01BL0NILEFBMkJJLHNCQTNCa0IsQ0F3QnBCLG9CQUFvQixDQUdsQixVQUFVLENBV0c7UUFDVCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJLEdBQ1o7TUF6Q1AsQUErQkksc0JBL0JrQixDQXdCcEIsb0JBQW9CLENBT2xCLEtBQUssQ0FZRztRQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUtQLEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsZ0JBQWdCLEVuRmFHLE9BQU8sR21GK04zQjtFQTFPRSxBQUFELDBCQUFVLENBQUM7STdGOUJYLE9BQU8sRTZGK0JRLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUsxQjtJM0YyQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNMkZqQ3JDLEFBQUQsMEJBQVUsQ0FBQztRN0Y5QlgsT0FBTyxFNkZrQ1UsSUFBSSxDQUFDLENBQUMsR0FFdEI7RUFUSCxBQWFJLGlCQWJhLENBV2YsZUFBZSxBQUVaLFFBQVEsQ0FBQztJQUNSLHFCQUFxQixFQUFFLGNBQWMsR0FDdEM7RUFmTCxBQWlCSSxpQkFqQmEsQ0FXZixlQUFlLEFBTVosUUFBUSxDQUFDO0lBQ1IscUJBQXFCLEVBQUUsY0FBYztJQUNyQyxTQUFTLEVBQUUsS0FBSyxHQUNqQjtFQXBCTCxBQXNCSSxpQkF0QmEsQ0FXZixlQUFlLEFBV1osUUFBUSxDQUFDO0lBQ1IscUJBQXFCLEVBQUUsR0FBRztJQUMxQixTQUFTLEVBQUUsS0FBSyxHQUNqQjtFQU9GLEFBQUQseUJBQVMsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsYUFBYSxFQUFFLElBQUk7SUFDbkIsYUFBYSxFQUFFLElBQUksR0FXcEI7STNGWEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNMkZKckMsQUFBRCx5QkFBUyxDQUFDO1FBT04sYUFBYSxFQUFFLENBQUM7UUFDaEIsYUFBYSxFQUFFLElBQUksR0FPdEI7STNGWEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMkZKcEMsQUFBRCx5QkFBUyxDQUFDO1FBWU4sY0FBYyxFQUFFLE1BQU07UUFDdEIsV0FBVyxFQUFFLFVBQVUsR0FFMUI7RUFFQSxBQUFELHVCQUFPLENBQUM7SUFDTixXQUFXLEVBQUUsR0FBRyxHQU1qQjtJM0ZwQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMkZhcEMsQUFBRCx1QkFBTyxDQUFDO1FBSUosU0FBUyxFM0oxRkwsT0FBdUI7UTJKMkYzQixhQUFhLEUzSjNGVCxJQUF1QixHMko2RjlCO0VBRUEsQUFBRCxzQkFBTSxDQUFDO0lBQ0wsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUksR0FnQ1o7SUFsQ0EsQUFJQyxzQkFKSSxDQUlKLENBQUMsQ0FBQztNQUNBLEtBQUssRW5GNURLLE9BQU87TW1GNkRqQixXQUFXLEVBQUUsSUFBSTtNQUNqQixTQUFTLEUzSnRHTCxTQUF1QixHMkpnSTVCO01BakNGLEFBU0csc0JBVEUsQ0FJSixDQUFDLEFBS0UsSUFBSyxDakVXQSxhQUFhLEVpRVhFO1FBQ25CLEtBQUssRW5GckVFLE9BQU87UW1Gc0VkLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BWkosQUFjRyxzQkFkRSxDQUlKLENBQUMsQ0FVQyxNQUFNLENBQUM7UUFDTCxXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEUzSi9HUCxPQUF1QjtRMkpnSHpCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO00zRnhDSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1EyRnNCcEMsQUFJQyxzQkFKSSxDQUlKLENBQUMsQ0FBQztVQWlCRSxTQUFTLEUzSnBIUCxPQUF1QjtVMkpxSHpCLFdBQVcsRUFBRSxHQUFHLEdBV25CO1VBakNGLEFBU0csc0JBVEUsQ0FJSixDQUFDLEFBS0UsSUFBSyxDakVXQSxhQUFhLEVpRUlJO1lBQ25CLGFBQWEsRTNKeEhiLE1BQXVCLEcySnlIeEI7VUExQk4sQUFjRyxzQkFkRSxDQUlKLENBQUMsQ0FVQyxNQUFNLENBY0c7WUFDTCxTQUFTLEUzSjVIVCxPQUF1QjtZMko2SHZCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBT04sQUFBRCx3QkFBUSxDQUFDO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SUFDbEIsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQixlQUFlLEVBQUUsS0FBSztJQUN0QixpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLGdCQUFnQixFQUFFLGtDQUFrQyxHQWtEckQ7SUF2REEsQUFPQyx3QkFQTSxBQU9MLFFBQVEsQ0FBQztNQUNSLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLEVBQUU7TUFDWCxnQkFBZ0IsRW5GL0dQLHNCQUFPLEdtRmdIakI7SUFFQSxBQUFELDhCQUFPLENBQUM7TUFDTixRQUFRLEVBQUUsUUFBUTtNN0Y3SXRCLE9BQU8sRTZGOElVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUN6QjtJQUVBLEFBQUQsOEJBQU8sQ0FBQztNQUNOLEtBQUssRW5GbkhGLElBQUk7TW1Gb0hQLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBRUEsQUFBRCw2QkFBTSxDQUFDO01BQ0wsU0FBUyxFQUFFLEtBQUs7TUFDaEIsS0FBSyxFQUFFLElBQUk7TUFDWCxhQUFhLEVBQUUsSUFBSSxHQWFwQjtNQWhCQSxBQUtDLDZCQUxJLENBS0osQ0FBQyxDQUFDO1FBQ0EsU0FBUyxFM0p0S1AsU0FBdUI7UTJKdUt6QixjQUFjLEVBQUUsUUFBUTtRQUN4QixLQUFLLEVuRi9ISixJQUFJO1FtRmdJTCxXQUFXLEVBQUUsTUFBTTtRQUNuQixhQUFhLEVBQUUsQ0FBQyxHQUtqQjtRQWZGLEFBWUcsNkJBWkUsQ0FLSixDQUFDLEFBT0UsSUFBSyxDakV6REYsYUFBYSxFaUV5REk7VUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUFJSixBQUFELDRCQUFLLENBQUM7TUFDSixTQUFTLEUzSm5MTCxJQUF1QjtNOERVL0IsT0FBTyxFNkYwS1UsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtNQUU5QixXQUFXLEVBQUUsR0FBRyxHQUtqQjtNQVRBLEFqRjdISCw0QmlGNkhPLEFqRjdITixPQUFPLENBQUM7UUFDUCxHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSxDQUFDO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLEtBQUs7UUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnpCakIsT0FBTztRRTBCbEIsT0FBTyxFQUFFLFlBQVksR0FDdEI7TWlGbUhFLEFqRjdISCw0QmlGNkhPLEFqRjdITixPQUFPLENpRm1JSztRQUNQLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBSUosQUFBRCx1QkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFFYixxQkFBcUIsRUFBRSxjQUFjO0lBQ3JDLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFNBQVMsRUFBRSxJQUFJO0lBQ2YsR0FBRyxFQUFFLFNBQVMsR0E2RWY7STNGeE1DLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TTJGcUhyQyxBQUFELHVCQUFPLENBQUM7UUFTSixhQUFhLEVBQUUsQ0FBQztRQUNoQixHQUFHLEVBQUUsTUFBTSxHQXlFZDtJM0Z4TUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMkZxSHBDLEFBQUQsdUJBQU8sQ0FBQztRQWVKLEdBQUcsRUFBRSxNQUFNLEdBb0VkO0kzRnhNQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00yRnFIcEMsQUFBRCx1QkFBTyxDQUFDO1FBbUJKLHFCQUFxQixFQUFFLGNBQWM7UUFDckMsR0FBRyxFQUFFLElBQUksR0ErRFo7SUFuRkEsQUF1QkMsdUJBdkJLLENBdUJMLGVBQWUsQ0FBQztNQUNkLFFBQVEsRUFBRSxPQUFPLEdBV2xCO01BbkNGLEFBMEJHLHVCQTFCRyxDQXVCTCxlQUFlLEFBR1osUUFBUSxDQUFDO1FBQ1IsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUUsUUFBUTtRQUNsQixNQUFNLEVBQUUsT0FBTztRQUNmLEdBQUcsRUFBRSxDQUFDO1FBQ04sSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7SUFsQ0osQUFxQ0MsdUJBckNLLENBcUNMLFdBQVcsQ0FBQztNQUdWLFFBQVEsRUFBRSxRQUFRO01BQ2xCLFFBQVEsRUFBRSxNQUFNO01BQ2hCLFVBQVUsRUFBRSwwRkFBMEYsR0F3Q3ZHO01BbEZGLEFBNENHLHVCQTVDRyxDQXFDTCxXQUFXLEFBT1IsTUFBTSxDQUFDO1FBQ04sZ0JBQWdCLEVuRnZNVCxPQUFPO1FtRndNZCxLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FNaEQ7UUF0REosQUFrREssdUJBbERDLENBcUNMLFdBQVcsQUFPUixNQUFNLENBTUwsaUJBQWlCO1FBbER0Qix1QkFBTSxDQXFDTCxXQUFXLEFBT1IsTUFBTSxDQU9MLGdCQUFnQixDQUFDO1VBQ2YsS0FBSyxFQUFFLElBQUksR0FDWjtNM0YxS0wsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRMkZxSHBDLEFBcUNDLHVCQXJDSyxDQXFDTCxXQUFXLENBQUM7VUFvQlIsS0FBSyxFQUFFLElBQUksR0F5QmQ7VUFsRkYsQUEyREssdUJBM0RDLENBMkRBLGlCQUFNLENBQUM7WUFDTixTQUFTLEUzSjFQVCxRQUF1QjtZMkoyUHZCLFdBQVcsRUFBRSxHQUFHLEdBRWpCO1VBL0ROLEFBaUVLLHVCQWpFQyxDQWlFQSxnQkFBSyxDQUFDO1lBQ0wsU0FBUyxFM0poUVQsUUFBdUI7WTJKaVF2QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtVQXBFTixBQXVCQyx1QkF2QkssQ0F1QkwsZUFBZSxDQStDTDtZQUNKLE9BQU8sRUFBRSxLQUFLLEdBS2Y7STNGak1MLE1BQU0sQ0FBQyxNQUE2QixNQUFqQixTQUFTLEVBQUUsS0FBSyxPQUFoQixTQUFTLEVBQUUsS0FBSztNMkZxSHBDLEFBdUJDLHVCQXZCSyxDQXVCTCxlQUFlLENBK0NMO1E3RjFQWixPQUFPLEU2RjhQZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUVqQztNQTVFTixBQStFRyx1QkEvRUcsQ0ErRUYsaUJBQU0sQ0FBQztRQUNOLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQzVSUCxBQUVFLDhCQUY0QixDQUU1QixRQUFRLENBQUM7RUFDUCxhQUFhLEVBQUUsSUFBSTtFQUNuQixjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFMSCxBQU9FLDhCQVA0QixDQU81QixlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsV0FBVztFQUNwQixhQUFhLEVBQUUsQ0FBQyxHQVVqQjtFQW5CSCxBQVdJLDhCQVgwQixDQU81QixlQUFlLENBSWIsc0JBQXNCLENBQUM7STlGWXpCLE9BQU8sRThGWFUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUNqQztFQWJMLEFBZUksOEJBZjBCLENBTzVCLGVBQWUsQ0FRYixFQUFFLENBQUM7SUFDRCxXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFsQkwsQUFxQkUsOEJBckI0QixDQXFCNUIsU0FBUyxDQUFDO0VBQ1IsYUFBYSxFQUFFLENBQUM7RUFDaEIsT0FBTyxFQUFFLFdBQVcsR0E4Q3JCO0VBckVILEFBeUJJLDhCQXpCMEIsQ0FxQjVCLFNBQVMsQ0FJUCw2QkFBNkIsQ0FBQztJQUU1QixNQUFNLEVBQUUsUUFBUSxHQXlDakI7SUFwRUwsQTNIUUUsOEIySFI0QixDQXFCNUIsU0FBUyxDQUlQLDZCQUE2QixBM0hqQjlCLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0kySFpILEFBNkJNLDhCQTdCd0IsQ0FxQjVCLFNBQVMsQ0FJUCw2QkFBNkIsQ0FJM0IsRUFBRSxDQUFDO01BQ0QsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsSUFBSTtNQUNoQixVQUFVLEVBQUUsSUFBSTtNakdpQ3BCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7TUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3FHZ0R4QztNQTFEUCxBakdzRk0sOEJpR3RGd0IsQ0FxQjVCLFNBQVMsQ0FJUCw2QkFBNkIsQ0FJM0IsRUFBRSxBakd5REQsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO01pR3hGUCxBbkc2RUUsOEJtRzdFNEIsQ0FxQjVCLFNBQVMsQ0FJUCw2QkFBNkIsQ0FJM0IsRUFBRSxBbkdnREwsVUFBVyxDQUFBLEVBQUUsRUFBUztRQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7TW1HL0VILEFuR2tGSSw4Qm1HbEYwQixDQXFCNUIsU0FBUyxDQUlQLDZCQUE2QixDQUkzQixFQUFFLEFuR3FESCxVQUFXLENBQUEsSUFBSSxFQUFTO1FBQ3ZCLEtBQUssRVR1QlksSUFBSSxHU3RCdEI7TW1HcEZMLEFBb0NRLDhCQXBDc0IsQ0FxQjVCLFNBQVMsQ0FJUCw2QkFBNkIsQ0FJM0IsRUFBRSxDQU9BLEVBQUUsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLEdBQ1Y7TUF0Q1QsQUF3Q1EsOEJBeENzQixDQXFCNUIsU0FBUyxDQUlQLDZCQUE2QixDQUkzQixFQUFFLENBV0EsRUFBRSxDQUFDO1FBQ0QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsWUFBWSxFQUFFLElBQUk7UUFDbEIsU0FBUyxFNUo5QlQsU0FBdUI7UTRKK0J2QixXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVwRnRDSSxPQUFPO1FvRnVDaEIsY0FBYyxFQUFFLE9BQU87UUFDdkIsTUFBTSxFQUFFLE9BQU87UUFDZixLQUFLLEVBQUUsSUFBSSxHQVNaO1FBekRULEFBa0RVLDhCQWxEb0IsQ0FxQjVCLFNBQVMsQ0FJUCw2QkFBNkIsQ0FJM0IsRUFBRSxDQVdBLEVBQUUsQUFVQyxPQUFPLENBQUM7VUFDUCxPQUFPLEVBQUUsRUFBRTtVbEh4Q25CLE1BQU0sRWtIeUNnQixHQUFHO1VsSGpDekIsS0FBSyxFa0hpQ2lCLEdBQUc7VXJIbEMzQixRQUFRLEVxSG1Db0IsUUFBUTtVckgvQmhDLEdBQVUsRXFIK0J3QixHQUFHO1VySC9CckMsSUFBVSxFcUgrQnNDLEdBQUc7VUFDN0MsYUFBYSxFQUFFLEdBQUc7VUFDbEIsVUFBVSxFcEZoREgsT0FBTyxHb0ZpRGY7SUF4RFgsQUE0RE0sOEJBNUR3QixDQXFCNUIsU0FBUyxDQUlQLDZCQUE2QixDQW1DM0IsRUFBRSxDQUFDO01BQ0QsU0FBUyxFN0psRFAsT0FBc0I7TTZKbUR4QixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsTUFBTTtNQUNuQixjQUFjLEVBQUUsU0FBUztNQUN6QixhQUFhLEVBQUUsR0FBRztNQUNsQixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFuRVAsQUF1RUUsOEJBdkU0QixDQXVFNUIsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLFdBQVcsR0F3Q3JCO0VBaEhILEFBMEVJLDhCQTFFMEIsQ0F1RTVCLFFBQVEsQ0FHTixRQUFRLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBNUVMLEFBOEVJLDhCQTlFMEIsQ0F1RTVCLFFBQVEsQ0FPTixPQUFPLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsV0FBVyxHQXNCckI7SUF0R0wsQUFrRk0sOEJBbEZ3QixDQXVFNUIsUUFBUSxDQU9OLE9BQU8sQ0FJTCxFQUFFLENBQUM7TUFDRCxTQUFTLEU3SnhFUCxRQUFzQjtNNkp5RXhCLEtBQUssRXBGNUVXLE9BQU87TW9GNkV2QixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsR0FBRztNQUNsQixLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxrQkFBa0IsR0FLMUI7TUE3RlAsQUEwRlEsOEJBMUZzQixDQXVFNUIsUUFBUSxDQU9OLE9BQU8sQ0FJTCxFQUFFLENBUUEsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLEtBQUssR0FDZDtJQTVGVCxBQStGTSw4QkEvRndCLENBdUU1QixRQUFRLENBT04sT0FBTyxBQWlCSixjQUFjLENBQUM7TUFDZCxXQUFXLEVBQUUsSUFBSSxHQUtsQjtNQXJHUCxBQWtHUSw4QkFsR3NCLENBdUU1QixRQUFRLENBT04sT0FBTyxBQWlCSixjQUFjLENBR2Isb0NBQW9DLENBQUM7UUFDbkMsR0FBRyxFQUFFLElBQUksR0FDVjtFQXBHVCxBQXdHSSw4QkF4RzBCLENBdUU1QixRQUFRLENBaUNOLG9CQUFvQixDQUFDO0lBQ25CLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLEtBQUssRUFBRSxLQUFLLEdBQ2I7RUEzR0wsQUE2R0ksOEJBN0cwQixDQXVFNUIsUUFBUSxDQXNDTixvQ0FBb0MsQ0FBQztJckgzRnZDLFFBQVEsRXFINEZjLFFBQVE7SXJIeEYxQixHQUFVLEVxSHdGa0IsSUFBSTtJckh4RmhDLEtBQVUsRXFId0Z1QixDQUFDLEdBQ25DOztBQS9HTCxBQWtIRSw4QkFsSDRCLENBa0g1QixLQUFLLENBQUM7RUFDSixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxRQUFRLEdBU2xCO0VBN0hILEFBc0hJLDhCQXRIMEIsQ0FrSDVCLEtBQUssQ0FJSCxLQUFLLENBQUM7SUFDSixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQXhITCxBQTBISSw4QkExSDBCLENBa0g1QixLQUFLLENBUUgsc0JBQXNCLEVBMUgxQiw4QkFBOEIsQ0FrSDVCLEtBQUssQzFEbEhQLGVBQWUsQ0F1TWIsWUFBWSxFQXZNZCxlQUFlLEMwREFmLDhCQUE4QixDQWtINUIsS0FBSyxDMURxRkwsWUFBWSxFMER2TWQsOEJBQThCLENBa0g1QixLQUFLLENQR1Asd0JBQXdCLENBaWF0QixpQkFBaUIsQ0FRZixZQUFZLEVBemFoQix3QkFBd0IsQ0FpYXRCLGlCQUFpQixDT3RoQm5CLDhCQUE4QixDQWtINUIsS0FBSyxDUDRhSCxZQUFZO0VPOWhCaEIsOEJBQThCLENBa0g1QixLQUFLLENQR1Asd0JBQXdCLENBa2F0QixvQkFBb0IsQ0FPbEIsWUFBWSxFQXphaEIsd0JBQXdCLENBa2F0QixvQkFBb0IsQ092aEJ0Qiw4QkFBOEIsQ0FrSDVCLEtBQUssQ1A0YUgsWUFBWSxDT3BhVztJQUNyQixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUM1SEwsQUFFRSxrQkFGZ0IsQ0FFaEIsb0JBQW9CLENBQUM7RUFDbkIsYUFBYSxFQUFFLEtBQUssR0FjckI7RUFqQkgsQUFLSSxrQkFMYyxDQUVoQixvQkFBb0IsQ0FHbEIsT0FBTyxDQUFDO0lBQ04sV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFN0pNTCxRQUF1QjtJNkpMM0IsS0FBSyxFckZBYSxPQUFPO0lxRkN6QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsT0FBTztJQUN2QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVpMLEFBY0ksa0JBZGMsQ0FFaEIsb0JBQW9CLENBWWxCLEtBQUssQ0FBQztJQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQWhCTCxBQXFCSSxrQkFyQmMsQ0FtQmhCLHdCQUF3QixDQUV0QixFQUFFLENBQUM7RUFDRCxhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUF2QkwsQUEwQkUsa0JBMUJnQixDQTBCaEIsdUJBQXVCLENBQUM7RUFDdEIsS0FBSyxFQUFFLEdBQUc7RUFDVixjQUFjLEVBQUUsSUFBSTtFQUNwQixhQUFhLEVBQUUsSUFBSTtFQUNuQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JGZlYsT0FBTyxHcUZ3RXRCO0VBdkZILEFBZ0NJLGtCQWhDYyxDQTBCaEIsdUJBQXVCLEFBTXBCLGFBQWEsQ0FBQztJQUNiLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBbkNMLEFBcUNJLGtCQXJDYyxDQTBCaEIsdUJBQXVCLENBV3JCLE9BQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNO0luSDVCeEIsTUFBTSxFbUg2QlUsS0FBSztJbkhyQnJCLEtBQUssRW1IcUJXLEtBQUs7SUFDbkIsVUFBVSxFQUFFLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxNQUFNO0lBQ2pFLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0VBN0NMLEFBK0NJLGtCQS9DYyxDQTBCaEIsdUJBQXVCLENBcUJyQixRQUFRLENBQUM7SUFDUCxPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTTtJQUN0QixLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0VBckRMLEFBdURJLGtCQXZEYyxDQTBCaEIsdUJBQXVCLENBNkJyQixFQUFFLENBQUM7SUFDRCxLQUFLLEVyRmhEYSxPQUFPO0lxRmlEekIsU0FBUyxFN0o1Q0wsU0FBdUI7STZKNkMzQixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQTVETCxBQThESSxrQkE5RGMsQ0EwQmhCLHVCQUF1QixDQW9DckIsVUFBVSxDQUFDO0lBQ1QsU0FBUyxFN0psREwsUUFBdUI7STZKbUQzQixLQUFLLEVyRnZEZSxPQUFPO0lxRndEM0IsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFuRUwsQUFxRUksa0JBckVjLENBMEJoQix1QkFBdUIsQ0EyQ3JCLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUMsR0FlVjtJQXRGTCxBQXlFTSxrQkF6RVksQ0EwQmhCLHVCQUF1QixDQTJDckIsYUFBYSxDQUlYLEVBQUUsQ0FBQztNQUNELFVBQVUsRUFBRSxJQUFJO01BQ2hCLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFNBQVMsRTdKL0RQLE9BQXVCO002SmdFekIsV0FBVyxFQUFFLE1BQU07TUFDbkIsY0FBYyxFQUFFLE1BQU07TUFDdEIsV0FBVyxFQUFFLElBQUk7TUFDakIsS0FBSyxFckZ2RWEsT0FBTyxHcUY0RTFCO01BckZQLEFBa0ZRLGtCQWxGVSxDQTBCaEIsdUJBQXVCLENBMkNyQixhQUFhLENBSVgsRUFBRSxBQVNDLGFBQWEsQ0FBQztRQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQ3BGVCxBQUdJLGdCQUhZLENBRWQsY0FBYyxDQUNaLFdBQVcsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBTEwsQUFRRSxnQkFSYyxDQVFkLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztFbEd3Q3pCLE9BQU8sRUFBRSxLQUFLO0VrR3RDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxLQUFLLEdBMEJyQjtFQXJDSCxBN0hRRSxnQjZIUmMsQ0FRZCxrQkFBa0IsQ0FBQyxPQUFPLEE3SEF6QixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFNkhaSCxBQWFJLGdCQWJZLENBUWQsa0JBQWtCLENBQUMsT0FBTyxDQUt4QixDQUFDLENBQUM7SUFDQSxhQUFhLEVBQUUsSUFBSSxHQVVwQjtJQXhCTCxBQWdCTSxnQkFoQlUsQ0FRZCxrQkFBa0IsQ0FBQyxPQUFPLENBS3hCLENBQUMsQUFHRSxhQUFhLENBQUM7TUFDYixhQUFhLEVBQUUsSUFBSSxHQUNwQjtJQWxCUCxBQW9CTSxnQkFwQlUsQ0FRZCxrQkFBa0IsQ0FBQyxPQUFPLENBS3hCLENBQUMsQ0FPQyxHQUFHLENBQUM7TUFDRixTQUFTLEVBQUUsSUFBSTtNQUNmLE1BQU0sRUFBRSxJQUFJLEdBQ2I7RTlGK0RILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThGdEZ2QyxBQVFFLGdCQVJjLENBUWQsa0JBQWtCLENBQUMsT0FBTyxDQUFDO01BbUJ2QixhQUFhLEVBQUUsSUFBSSxHQVV0QjtNQXJDSCxBQWFJLGdCQWJZLENBUWQsa0JBQWtCLENBQUMsT0FBTyxDQUt4QixDQUFDLENBZ0JHO1FBQ0EsYUFBYSxFQUFFLElBQUksR0FLcEI7UUFuQ1AsQUFnQk0sZ0JBaEJVLENBUWQsa0JBQWtCLENBQUMsT0FBTyxDQUt4QixDQUFDLEFBR0UsYUFBYSxDQWdCRztVQUNiLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQWxDVCxBQXlDSSxnQkF6Q1ksQ0F1Q2QsZUFBZSxDQUViLHFCQUFxQixDQUFDO0VoR2xCeEIsT0FBTyxFZ0dtQlUsSUFBSSxDQUFDLElBQUk7RW5HdUJ4QixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0VJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0V1R2tDekMsVUFBVSxFdEZ0QkksT0FBTyxHc0Z1QnRCO0VBN0NMLEFuR3NGTSxnQm1HdEZVLENBdUNkLGVBQWUsQ0FFYixxQkFBcUIsQW5HNkNsQixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FtR3hGUCxBQStDSSxnQkEvQ1ksQ0F1Q2QsZUFBZSxDQVFiLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxLQUFLO0VBQ1osVUFBVSxFQUFFLEdBQUcsR0FDaEI7O0FBbERMLEFBb0RJLGdCQXBEWSxDQXVDZCxlQUFlLENBYWIsZUFBZSxDQUFDO0VBRWQsVUFBVSxFQUFFLEdBQUcsR0FDaEI7RUF2REwsQTdIUUUsZ0I2SFJjLENBdUNkLGVBQWUsQ0FhYixlQUFlLEE3SDVDaEIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0E2SFpILEFBeURJLGdCQXpEWSxDQXVDZCxlQUFlLENBa0JiLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUE1REwsQUE4REksZ0JBOURZLENBdUNkLGVBQWUsQ0F1QmIsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFOUpsREwsUUFBdUI7RThKbUQzQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsT0FBTztFQUN2QixLQUFLLEV0RjNEYSxPQUFPO0VzRjREekIsYUFBYSxFQUFFLElBQUk7RUFDbkIsWUFBWSxFQUFFLElBQUk7RUFDbEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FlWjtFQXRGTCxBQXlFTSxnQkF6RVUsQ0F1Q2QsZUFBZSxDQXVCYixFQUFFLEFBV0MsS0FBSyxDQUFDO0lBQ0wsVUFBVSxFQUFFLGtDQUFrQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRztJQUNqRSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQTVFUCxBQThFTSxnQkE5RVUsQ0F1Q2QsZUFBZSxDQXVCYixFQUFFLEFBZ0JDLFFBQVEsQ0FBQztJQUNSLFVBQVUsRUFBRSxxQ0FBcUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUc7SUFDcEUsZUFBZSxFQUFFLFNBQVMsR0FDM0I7RUFqRlAsQUFtRk0sZ0JBbkZVLENBdUNkLGVBQWUsQ0F1QmIsRUFBRSxBQXFCQyxhQUFhLENBQUM7SUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFyRlAsQUF3RkksZ0JBeEZZLENBdUNkLGVBQWUsQ0FpRGIsSUFBSTtBQXhGUixnQkFBZ0IsQ0F1Q2QsZUFBZSxDQWtEYixLQUFLO0FBekZULGdCQUFnQixDQXVDZCxlQUFlLENBbURiLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFlBQVksRUFBRSxJQUFJLEdBQ25COztBQTlGTCxBQWdHSSxnQkFoR1ksQ0F1Q2QsZUFBZSxDQXlEYixxQkFBcUIsQ0FBQztFQUNwQixVQUFVLEVBQUUsR0FBRztFQUNmLFNBQVMsRTlKckZMLE9BQXVCLEc4SjBGNUI7RUF2R0wsQUFvR00sZ0JBcEdVLENBdUNkLGVBQWUsQ0F5RGIscUJBQXFCLEFBSWxCLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7O0E5RmhCSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U4RnRGeEMsQUF5Q0ksZ0JBekNZLENBdUNkLGVBQWUsQ0FFYixxQkFBcUIsQ0FrRUc7SUFDcEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QTlGdkJILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RThGdEZ2QyxBQXlDSSxnQkF6Q1ksQ0F1Q2QsZUFBZSxDQUViLHFCQUFxQixDQXlFRztJaEczRjFCLE9BQU8sRWdHNEZZLElBQUksR0FDbEI7RUFwSFAsQUE4REksZ0JBOURZLENBdUNkLGVBQWUsQ0F1QmIsRUFBRSxDQXdERztJQUNELFNBQVMsRTlKMUdQLFNBQXVCO0k4SjJHekIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBekhQLEFBK0hJLGdCQS9IWSxDQTZIZCxTQUFTLENBRVAsRUFBRSxDQUFDO0VBQ0QsYUFBYSxFQUFFLElBQUk7RUFDbkIsY0FBYyxFQUFFLE9BQU8sR0FDeEI7O0FBbElMLEFBMklJLGdCQTNJWSxDQTZIZCxTQUFTLENBY1AsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFOUovSEwsU0FBdUI7RThKZ0kzQixXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsR0FBRztFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFqSkwsQUFtSkksZ0JBbkpZLENBNkhkLFNBQVMsQ0FzQlAsV0FBVyxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEV0RjVJZSxPQUFPO0VzRjZJM0IsU0FBUyxFOUp6SUwsT0FBdUI7RThKMEkzQixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUF4SkwsQUEwSkksZ0JBMUpZLENBNkhkLFNBQVMsQ0E2QlAsQ0FBQyxBQUFBLFNBQVMsQ0FBQztFQUNULE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBNUpMLEFBOEpJLGdCQTlKWSxDQTZIZCxTQUFTLENBaUNQLGVBQWUsQ0FBQztFQUNkLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLHVDQUF1QztFQUM5RCxHQUFHLEVBQUUsSUFBSSxHQUNWOztBQXBLTCxBQXNLSSxnQkF0S1ksQ0E2SGQsU0FBUyxDQXlDUCxjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUNoQixnQkFBZ0IsRXRGM0dELE9BQU8sR3NGNEd2Qjs7QUE1S0wsQUE4S0ksZ0JBOUtZLENBNkhkLFNBQVMsQ0FpRFAsb0JBQW9CLENBQUM7RUFDbkIsTUFBTSxFQUFFLEtBQUssR0FDZDs7QUFoTEwsQUFrTEksZ0JBbExZLENBNkhkLFNBQVMsQ0FxRFAsdUJBQXVCLENBQUM7RUFDdEIsS0FBSyxFdEZoSU0sT0FBTztFc0ZpSWxCLFNBQVMsRTlKdktMLE9BQXVCO0U4SndLM0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUF2TEwsQUF5TEksZ0JBekxZLENBNkhkLFNBQVMsQ0E0RFAsR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLEtBQUssR0FDbEI7O0FBOUxMLEFBZ01JLGdCQWhNWSxDQTZIZCxTQUFTLENBbUVQLFVBQVUsQ0FBQztFaEd6S2IsT0FBTyxFZ0cwS1UsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJO0VBQzFCLFNBQVMsRUFBRSxDQUFDLEdBQ2I7O0FBbk1MLEFBcU1JLGdCQXJNWSxDQTZIZCxTQUFTLENBd0VQLHdCQUF3QixDQUFDO0VBQ3ZCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFdEY5TGUsT0FBTztFc0YrTDNCLFNBQVMsRTlKM0xMLE9BQXVCO0U4SjRMM0IsV0FBVyxFQUFFLElBQUk7RUFDakIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7O0FBM01MLEFBNk1JLGdCQTdNWSxDQTZIZCxTQUFTLENBZ0ZQLEtBQUssQ0FBQztFQUNKLFNBQVMsRTlKak1MLE9BQXVCO0U4SmtNM0IsV0FBVyxFQUFFLElBQUksR0FDbEI7O0E5RjFIRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4RnRGdkMsQUF5TEksZ0JBekxZLENBNkhkLFNBQVMsQ0E0RFAsR0FBRyxDQTJCRztJcEh6TU4sTUFBTSxFb0gwTVksSUFBSTtJcEhsTXRCLEtBQUssRW9Ia01hLElBQUksR0FDbkI7RUF0TlAsQUEySUksZ0JBM0lZLENBNkhkLFNBQVMsQ0FjUCxFQUFFLENBNkVHO0lBQ0QsU0FBUyxFOUo1TVAsU0FBdUI7SThKNk16QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQTNOUCxBQXNLSSxnQkF0S1ksQ0E2SGQsU0FBUyxDQXlDUCxjQUFjLENBdURHO0lBQ2IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFQUFFLElBQUk7SWhHeE10QixPQUFPLEVnR3lNWSxJQUFJLENBQUMsQ0FBQyxHQUtwQjtJQXJPUCxBQWtPUSxnQkFsT1EsQ0E2SGQsU0FBUyxDQWdHTCxjQUFjLEFBS1gsYUFBYSxDQUFDO01BQ2IsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFwT1QsQUFnTUksZ0JBaE1ZLENBNkhkLFNBQVMsQ0FtRVAsVUFBVSxDQXVDRztJQUNULEtBQUssRUFBRSxrQkFBa0I7SUFDekIsWUFBWSxFQUFFLElBQUksR0FDbkI7RUExT1AsQUFxTUksZ0JBck1ZLENBNkhkLFNBQVMsQ0F3RVAsd0JBQXdCLENBdUNHO0lBQ3ZCLFNBQVMsRTlKaE9QLE9BQXVCO0k4SmlPekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFoUFAsQUE2TUksZ0JBN01ZLENBNkhkLFNBQVMsQ0FnRlAsS0FBSyxDQXFDRztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBcFBQLEFBMlBJLGdCQTNQWSxDQXlQZCxhQUFhLENBRVgsRUFBRSxDQUFDO0VBQ0QsYUFBYSxFQUFFLEdBQUcsR0FDbkI7O0FBN1BMLEFBa1FJLGdCQWxRWSxDQWdRZCxTQUFTLENBRVAsSUFBSSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFwUUwsQUFzUUksZ0JBdFFZLENBZ1FkLFNBQVMsQ0FNUCxvQkFBb0IsQ0FBQztFQUNuQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBMVFMLEFBNFFJLGdCQTVRWSxDQWdRZCxTQUFTLENBWVAsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFL0psUUwsUUFBc0I7RStKbVExQixXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixLQUFLLEV0RnhRYSxPQUFPLEdzRnlRMUI7O0FBalJMLEFBbVJJLGdCQW5SWSxDQWdRZCxTQUFTLENBbUJQLGtCQUFrQixDQUFDO0VBQ2pCLFNBQVMsRS9KelFMLE9BQXNCO0UrSjBRMUIsV0FBVyxFQUFFLElBQUksR0FDbEI7O0E5RmhNRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4RnRGdkMsQUEwUk0sZ0JBMVJVLENBZ1FkLFNBQVMsQ0EwQkwsRUFBRSxDQUFDO0lBQ0QsYUFBYSxFQUFFLElBQUksR0FDcEI7RUE1UlAsQUFrUUksZ0JBbFFZLENBZ1FkLFNBQVMsQ0FFUCxJQUFJLENBNEJHO0lBQ0gsS0FBSyxFQUFFLGVBQWU7SUFDdEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFqU1AsQUFzUUksZ0JBdFFZLENBZ1FkLFNBQVMsQ0FNUCxvQkFBb0IsQ0E2Qkc7SUFDbkIsS0FBSyxFQUFFLElBQUk7SUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QUF0U1AsQUEwU0UsZ0JBMVNjLENBMFNkLE1BQU0sQ0FBQztFQUNMLFNBQVMsRTlKOVJILFFBQXVCO0U4SitSN0IsV0FBVyxFQUFFLE1BQU07RUFDbkIsV0FBVyxFQUFFLElBQUk7RUFDakIsS0FBSyxFdEZyU2lCLE9BQU8sR3NGOFM5QjtFQXZUSCxBQWdUSSxnQkFoVFksQ0EwU2QsTUFBTSxDQU1KLEVBQUUsQ0FBQztJQUNELEtBQUssRXRGMVNRLE9BQU8sR3NGMlNyQjtFOUY1TkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEZ0RnZDLEFBMFNFLGdCQTFTYyxDQTBTZCxNQUFNLENBQUM7TUFXSCxTQUFTLEU5SnhTTCxTQUF1QixHOEowUzlCOztBQXZUSCxBQXlURSxnQkF6VGMsQ0F5VGQsb0JBQW9CLENBQUM7RUFDbkIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0gsd0JBQXdCO0FBQ3hCLEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsT0FBTyxFQUFFLE1BQU0sR0FXaEI7RUFaRCxBQUdFLHVCQUhxQixDQUdyQixVQUFVLENBQUM7SUFDVCxTQUFTLEU5SnRUSCxJQUF1QjtJOEp1VDdCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBTkgsQUFRRSx1QkFScUIsQ0FRckIsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFOUozVEgsU0FBdUI7SThKNFQ3QixNQUFNLEVBQUUsU0FBUyxHQUNsQjs7QUFHSCxBQUFBLHFCQUFxQixDQUFDO0VBRXBCLFdBQVcsRUFBRSxJQUFJLEdBcUpsQjtFQXZKRCxBQUlFLHFCQUptQixDQUluQiwwQkFBMEIsQ0FBQztJQUd6QixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3RGcFVOLE9BQU8sR3NGbVYxQjtJQXRCSCxBN0hyVUUscUI2SHFVbUIsQ0FJbkIsMEJBQTBCLEE3SHpVekIsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7STZIaVVILEFBU0kscUJBVGlCLENBSW5CLDBCQUEwQixDQUt4QixFQUFFLENBQUM7TUFDRCxTQUFTLEU5SjFVTCxTQUF1QjtNOEoyVTNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLGNBQWMsRXRGbFJILE1BQU07TXNGbVJqQixLQUFLLEVBQUUsSUFBSTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxJQUFJLEdBS1Y7TTlGNVFELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UThGdVB2QyxBQVNJLHFCQVRpQixDQUluQiwwQkFBMEIsQ0FLeEIsRUFBRSxDQUFDO1VBVUMsWUFBWSxFQUFFLElBQUksR0FFckI7RUFyQkwsQUF3QkUscUJBeEJtQixDQXdCbkIscUJBQXFCLENBQUM7SUFDcEIsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLFdBQVcsRUFBRSxJQUFJLEdBeUNsQjtJQXJFSCxBQThCSSxxQkE5QmlCLENBd0JuQixxQkFBcUIsQ0FNbkIsRUFBRSxDQUFDO01BQ0QsS0FBSyxFQUFFLElBQUk7TUFDWCxZQUFZLEVBQUUsSUFBSSxHQUNuQjtJQWpDTCxBQW1DSSxxQkFuQ2lCLENBd0JuQixxQkFBcUIsQ0FXbkIsU0FBUztJQW5DYixxQkFBcUIsQ0F3Qm5CLHFCQUFxQixDQVluQixRQUFRLENBQUM7TUFDUCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJQXRDTCxBQXdDSSxxQkF4Q2lCLENBd0JuQixxQkFBcUIsQ0FnQm5CLFFBQVEsQ0FBQztNQUNQLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SUExQ0wsQUE0Q0kscUJBNUNpQixDQXdCbkIscUJBQXFCLENBb0JuQixDQUFDLENBQUM7TUFDQSxPQUFPLEVBQUUsS0FBSztNQUNkLFNBQVMsRTlKOVdMLFNBQXVCO004SitXM0IsY0FBYyxFQUFFLFNBQVM7TUFDekIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsY0FBYyxFQUFFLE9BQU87TUFDdkIsV0FBVyxFQUFFLElBQUk7TUFDakIsV0FBVyxFQUFFLHFCQUFxQjtNQUNsQyxVQUFVLEVBQUUsb0JBQW9CO01BQ2hDLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUksR0FjYjtNQXBFTCxBQXdETSxxQkF4RGUsQ0F3Qm5CLHFCQUFxQixDQW9CbkIsQ0FBQyxBQVlFLE9BQU8sRUF4RGQscUJBQXFCLENBd0JuQixxQkFBcUIsQ0FvQm5CLENBQUMsQUFhRSxNQUFNLENBQUM7UUFDTixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3RGeldoQixPQUFPO1FzRjBXZixLQUFLLEV0RmpZTSxPQUFPLEdzRmtZbkI7TUE1RFAsQUE4RE0scUJBOURlLENBd0JuQixxQkFBcUIsQ0FvQm5CLENBQUMsQ0FrQkMsU0FBUyxDQUFDO1FBQ1IsU0FBUyxFOUovWFAsT0FBdUI7UThKZ1l6QixXQUFXLEVBQUUsR0FBRztRQUNoQixjQUFjLEVBQUUsSUFBSTtRQUNwQixLQUFLLEV0RnZZVyxPQUFPLEdzRndZeEI7RUFuRVAsQUF1RUUscUJBdkVtQixDQXVFbkIsc0JBQXNCLENBQUM7SUFDckIsV0FBVyxFQUFFLElBQUksR0FzQ2xCO0lBOUdILEFBMEVJLHFCQTFFaUIsQ0F1RW5CLHNCQUFzQixDQUdwQixFQUFFLENBQUM7TUFDRCxRQUFRLEVBQUUsTUFBTTtNQUNoQixPQUFPLEVBQUUsU0FBUyxHQVNuQjtNQXJGTCxBQThFTSxxQkE5RWUsQ0F1RW5CLHNCQUFzQixDQUdwQixFQUFFLEFBSUMsV0FBVyxDQUFDO1FBQ1gsVUFBVSxFdEYzWUUsT0FBTyxHc0Y0WXBCO01BaEZQLEFBa0ZNLHFCQWxGZSxDQXVFbkIsc0JBQXNCLENBR3BCLEVBQUUsQUFRQyxXQUFXLENBQUM7UUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQXBGUCxBQXVGSSxxQkF2RmlCLENBdUVuQixzQkFBc0IsQ0FnQnBCLEtBQUssQ0FBQztNQUNKLEtBQUssRUFBRSxJQUFJO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxTQUFTLEU5SjFaTCxTQUF1QjtNOEoyWjNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLEdBQUcsR0FDaEI7SUEvRkwsQUFpR0kscUJBakdpQixDQXVFbkIsc0JBQXNCLENBMEJwQixLQUFLLENBQUM7TUFDSixRQUFRLEVBQUUsTUFBTSxHQUNqQjtJQW5HTCxBQXFHSSxxQkFyR2lCLENBdUVuQixzQkFBc0IsQ0E4QnBCLEVBQUUsQ0FBQztNQUNELFNBQVMsRTlKdGFMLFNBQXVCO004SnVhM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsTUFBTSxFQUFFLENBQUMsR0FDVjtJQXpHTCxBQTJHSSxxQkEzR2lCLENBdUVuQixzQkFBc0IsQUFvQ25CLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUE3R0wsQUFnSEUscUJBaEhtQixDQWdIbkIsb0JBQW9CLENBQUM7SUFFbkIsT0FBTyxFQUFFLE1BQU0sR0FtQ2hCO0k5RjVZQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004RnVQdkMsQUFnSEUscUJBaEhtQixDQWdIbkIsb0JBQW9CLENBQUM7UW5HNVhuQixLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd1R3dkNUM7UUFySkgsQW5HdlBNLHFCbUd1UGUsQ0FnSG5CLG9CQUFvQixBbkd2V2YsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0ltR3FQUCxBQXdISSxxQkF4SGlCLENBZ0huQixvQkFBb0IsQ0FRbEIsS0FBSyxDQUFDO01BQ0osVUFBVSxFQUFFLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUztNQUNqRSxlQUFlLEVBQUUsU0FBUztNQUMxQixZQUFZLEVBQUUsSUFBSTtNQUNsQixTQUFTLEU5SjViTCxTQUF1QjtNOEo2YjNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxDQUFDO01BQ2QsYUFBYSxFQUFFLElBQUksR0FDcEI7SUFoSUwsQUFrSUkscUJBbElpQixDQWdIbkIsb0JBQW9CLENBa0JsQixRQUFRLENBQUM7TUFDUCxTQUFTLEU5Sm5jTCxTQUF1QjtNOEpvYzNCLGFBQWEsRUFBRSxJQUFJO01BQ25CLFVBQVUsRUFBRSxHQUFHLEdBQ2hCO0lBdElMLEFBd0lJLHFCQXhJaUIsQ0FnSG5CLG9CQUFvQixDQXdCbEIsS0FBSyxDQUFDO01BQ0osU0FBUyxFOUp6Y0wsVUFBdUIsRzhKMGM1QjtJQTFJTCxBQTRJSSxxQkE1SWlCLENBZ0huQixvQkFBb0IsQ0E0QmxCLENBQUMsQ0FBQztNQUNBLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFNBQVMsRTlKOWNMLE9BQXVCO004SitjM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN0Ri9iWixPQUFPO01zRmdjakIsV0FBVyxFQUFFLENBQUM7TUFDZCxZQUFZLEVBQUUsR0FBRztNQUNqQixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFLTCxBQUFBLDRCQUE0QixDQUFDO0VBRTNCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxNQUFNLEdBc0doQjtFOUZ6ZkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEZnWnZDLEFBS0UsNEJBTDBCLENBSzFCLHVCQUF1QixDQUFDO01uRzFhdEIsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHdUdxZTVDO01BVEgsQW5HaFpNLDRCbUdnWnNCLENBSzFCLHVCQUF1QixBbkdyWmxCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFbUc4WVAsQUFXRSw0QkFYMEIsQ0FXMUIsNkJBQTZCLENBQUM7SUFDNUIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLENBQUM7SUFDUixHQUFHLEVBQUUsSUFBSTtJQUNULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE1BQU0sRUFBRSxDQUFDLEdBVVY7SUExQkgsQUFrQkksNEJBbEJ3QixDQVcxQiw2QkFBNkIsQ0FPM0IsR0FBRyxDQUFDO01BQ0YsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiO0lBckJMLEFBdUJJLDRCQXZCd0IsQ0FXMUIsNkJBQTZCLENBWTNCLENBQUMsQ0FBQztNQUNBLE1BQU0sRXRGaGVJLE9BQU8sR3NGaWVsQjtFQXpCTCxBQTRCRSw0QkE1QjBCLENBNEIxQixjQUFjLENBQUM7SUFDYixLQUFLLEVBQUUsT0FBTztJQUNkLFNBQVMsRTlKdmZILFFBQXVCO0k4SndmN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFqQ0gsQUFtQ0UsNEJBbkMwQixDQW1DMUIsS0FBSyxDQUFDO0lBQ0osWUFBWSxFQUFFLElBQUk7SUFDbEIsVUFBVSxFQUFFLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztJQUNwRSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQXZDSCxBQXlDRSw0QkF6QzBCLENBeUMxQixFQUFFLENBQUM7SUFDRCxTQUFTLEU5Sm5nQkgsTUFBdUI7SThKb2dCN0IsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUE1Q0gsQUE4Q0UsNEJBOUMwQixDQThDMUIsUUFBUSxDQUFDO0lBQ1AsU0FBUyxFOUp4Z0JILFNBQXVCO0k4SnlnQjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBbERILEFBb0RFLDRCQXBEMEIsQ0FvRDFCLGFBQWEsQ0FBQztJQUNaLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0lBMURILEFBdURJLDRCQXZEd0IsQ0FvRDFCLGFBQWEsQ0FHWCxFQUFFLENBQUM7TUFDRCxTQUFTLEU5SmpoQkwsTUFBdUIsRzhKa2hCNUI7RUF6REwsQUE0REUsNEJBNUQwQixDQTREMUIsY0FBYyxDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVBQUUsSUFBSTtJQUNuQixRQUFRLEVBQUUsTUFBTSxHQUNqQjtFQWhFSCxBQWtFRSw0QkFsRTBCLENBa0UxQixjQUFjLENBQUM7SUFDYixLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLEtBQUs7SUFDYixhQUFhLEVBQUUsS0FBSztJQUNwQixRQUFRLEVBQUUsTUFBTTtJQUNoQixZQUFZLEVBQUUsSUFBSSxHQU9uQjtJQS9FSCxBQTBFSSw0QkExRXdCLENBa0UxQixjQUFjLENBUVosR0FBRyxDQUFDO01BQ0YsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUE5RUwsQUFpRkUsNEJBakYwQixDQWlGMUIsa0JBQWtCLENBQUM7SUFDakIsUUFBUSxFQUFFLE1BQU0sR0FDakI7RUFuRkgsQUFxRkUsNEJBckYwQixDQXFGMUIsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFOUovaUJILFNBQXVCO0k4SmdqQjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBekZILEFBMkZFLDRCQTNGMEIsQ0EyRjFCLFVBQVUsQ0FBQztJQUNULFNBQVMsRTlKcmpCSCxRQUF1QjtJOEpzakI3QixLQUFLLEV0RjFqQmlCLE9BQU87SXNGMmpCN0IsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUEvRkgsQUFpR0UsNEJBakcwQixDQWlHMUIsSUFBSSxDQUFDO0lBQ0gsU0FBUyxFOUozakJILE9BQXVCO0k4SjRqQjdCLEtBQUssRXRGaGtCaUIsT0FBTyxHc0Zpa0I5QjtFQXBHSCxBQXNHRSw0QkF0RzBCLEFBc0d6QixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUdILEFBRUUsY0FGWSxDQUVaLENBQUMsQUFBQSxJQUFLLENBQUEsa0JBQWtCO0FBRDFCLGtCQUFrQixDQUNoQixDQUFDLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFQUFFO0VBQ3hCLE9BQU8sRUFBRSxLQUFLO0VuR25oQmQsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztFdUc2a0IzQyxhQUFhLEVBQUUsSUFBSTtFQUNuQixVQUFVLEVBQUUsd0JBQXdCLEdBZXJDO0VBdEJILEFuRzNmTSxjbUcyZlEsQ0FFWixDQUFDLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixDbkc3Zm5CLFdBQVc7RW1HNGZsQixrQkFBa0IsQ0FDaEIsQ0FBQyxBQUFBLElBQUssQ0FBQSxrQkFBa0IsQ25HN2ZuQixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RW1HeWZQLEFyR3BnQkUsY3FHb2dCWSxDQUVaLENBQUMsQUFBQSxJQUFLLENBQUEsa0JBQWtCLENyR3RnQnZCLFVBQVcsQ0FBQSxFQUFFO0VxR3FnQmhCLGtCQUFrQixDQUNoQixDQUFDLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixDckd0Z0J2QixVQUFXLENBQUEsRUFBRSxFQUFTO0lBQ3JCLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFcUdrZ0JILEFyRy9mSSxjcUcrZlUsQ0FFWixDQUFDLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixDckdqZ0JyQixVQUFXLENBQUEsSUFBSTtFcUdnZ0JwQixrQkFBa0IsQ0FDaEIsQ0FBQyxBQUFBLElBQUssQ0FBQSxrQkFBa0IsQ3JHamdCckIsVUFBVyxDQUFBLElBQUksRUFBUztJQUN2QixLQUFLLEVUdUJZLElBQUksR1N0QnRCO0VxRzZmTCxBQVNJLGNBVFUsQ0FFWixDQUFDLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixDQU9yQixVQUFXLENBQUEsR0FBRztFQVJuQixrQkFBa0IsQ0FDaEIsQ0FBQyxBQUFBLElBQUssQ0FBQSxrQkFBa0IsQ0FPckIsVUFBVyxDQUFBLEdBQUcsRUFBRTtJQUNmLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFYTCxBQWFJLGNBYlUsQ0FFWixDQUFDLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixDQVdyQixNQUFNO0VBWlgsa0JBQWtCLENBQ2hCLENBQUMsQUFBQSxJQUFLLENBQUEsa0JBQWtCLENBV3JCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxHQUFHLEdBQ2I7RUFmTCxBQWlCSSxjQWpCVSxDQUVaLENBQUMsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVBZXRCLEdBQUc7RUFoQlAsa0JBQWtCLENBQ2hCLENBQUMsQUFBQSxJQUFLLENBQUEsa0JBQWtCLEVBZXRCLEdBQUcsQ0FBQztJQUNGLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUlMLEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsS0FBSyxFdEZqbEJDLElBQUk7RXNGa2xCVixPQUFPLEVBQUUsV0FBVztFQUNwQixnQkFBZ0IsRXRGL2tCRixPQUFPO0VzRmdsQnJCLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLG1CQUFtQixFQUFFLGFBQWE7RUFDbEMsUUFBUSxFQUFFLE1BQU0sR0FtRGpCO0U5RjdrQkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEZvaEJ2QyxBQVNJLG9CQVRnQixDQVNoQiwwQkFBMEIsQ0FBQztNQUN6QixPQUFPLEVBQUUsWUFBWTtNQUNyQixZQUFZLEVBQUUsSUFBSSxHQUNuQjtFQVpMLEFBaUJFLG9CQWpCa0IsQ0FpQmxCLEVBQUUsQ0FBQztJQUNELFNBQVMsRTlKL21CSCxNQUF1QjtJOEpnbkI3QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQXBCSCxBQXNCRSxvQkF0QmtCLENBc0JsQixLQUFLLENBQUM7SUFDSixTQUFTLEU5SnBuQkgsUUFBdUI7SThKcW5CN0IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN0RnhtQnBCLElBQUk7SXNGeW1CUixjQUFjLEVBQUUsSUFBSTtJQUNwQixhQUFhLEVBQUUsSUFBSTtJQUNuQixTQUFTLEVBQUUsS0FBSyxHQUNqQjtFOUZoakJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThGb2hCdkMsQUFBQSxvQkFBb0IsQ0FBQztNQStCakIsT0FBTyxFQUFFLFNBQVM7TUFDbEIsVUFBVSxFQUFFLE1BQU0sR0F5QnJCO01BekRELEFBU0ksb0JBVGdCLENBU2hCLDBCQUEwQixDQXlCQztRQUN6QixhQUFhLEVBQUUsSUFBSSxHQUtwQjtRQXhDTCxBQXFDTSxvQkFyQ2MsQ0FrQ2hCLDBCQUEwQixBQUd2QixXQUFXLENBQUM7VUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtNQXZDUCxBQWlCRSxvQkFqQmtCLENBaUJsQixFQUFFLENBeUJHO1FBQ0QsU0FBUyxFOUp4b0JMLFNBQXVCO1E4SnlvQjNCLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO01BL0NMLEFBc0JFLG9CQXRCa0IsQ0FzQmxCLEtBQUssQ0EyQkc7UUFDSixTQUFTLEU5Si9vQkwsU0FBdUI7UThKZ3BCM0IsYUFBYSxFQUFFLENBQUM7UUFDaEIsY0FBYyxFQUFFLENBQUM7UUFDakIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBS0wsQUFFRSxTQUZPLENBRVAsRUFBRSxDQUFDO0VBQ0QsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBSkgsQUFNRSxTQU5PLENBTVAsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFdEZ0cUJVLE9BQU8sR3NGdXFCdkI7O0FBVEgsQUFXRSxTQVhPLENBV1AsQ0FBQyxHQUFDLEVBQUUsQ0FBQztFQUNILFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQWJILEFBZUUsU0FmTyxDQWVQLEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxhQUFhO0VBQ3JCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLElBQUksR0FDYjs7QTlGcG1CQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4RitrQnZDLEFBZUUsU0FmTyxDQWVQLEdBQUcsQ0FVRztJQUNGLE1BQU0sRUFBRSxXQUFXLEdBQ3BCOztBQUlMLEFBR0UsbUJBSGlCLENBR2pCLFdBQVc7QUFGYixzQkFBc0IsQ0FFcEIsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBSUgsQUFDRSxpQkFEZSxDQUNmLEtBQUssQ0FBQztFQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUlILEFBQUEsZUFBZSxDQUFDO0VBQ2QsZ0JBQWdCLEV0RmpxQkcsT0FBTyxHc0Zpd0IzQjtFQTlGRSxBQUFELHFCQUFPLENBQUM7SWhHaHNCUixPQUFPLEVnR2lzQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBS3pCO0k5RnZvQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEZpb0JwQyxBQUFELHFCQUFPLENBQUM7UWhHaHNCUixPQUFPLEVnR29zQlUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBRTNCO0VBRUEsQUFBRCxxQkFBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLEdBQUcsR0FPbEI7STlGbHBCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004RnlvQnBDLEFBQUQscUJBQU8sQ0FBQztRQUtKLFNBQVMsRTlKdnRCTCxNQUF1QjtROEp3dEIzQixXQUFXLEVBQUUsR0FBRztRQUNoQixVQUFVLEVBQUUsTUFBTSxHQUVyQjtFQUVBLEFBQUQscUJBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixjQUFjLEVBQUUsSUFBSTtJQUNwQixxQkFBcUIsRUFBRSxjQUFjO0lBQ3JDLGtCQUFrQixFQUFFLFdBQVc7SUFDL0IsbUJBQW1CLEVBQ2pCLHlDQUNxQjtJQUN2QixHQUFHLEVBQUUsU0FBUztJQUNkLGFBQWEsRUFBRSxJQUFJLEdBdUJwQjtJOUZyckJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TThGb3BCcEMsQUFBRCxxQkFBTyxDQUFDO1FBYUosT0FBTyxFQUFFLEtBQUssR0FvQmpCO1FBakNBLEFBZUcscUJBZkcsQUFlRixhQUFhLEFBQUEsYUFBYSxDQUFDO1VBQzFCLGFBQWEsRTlKN3VCWCxTQUF1QixHOEo4dUIxQjtRQWpCSixBQW1CRyxxQkFuQkcsQ0FtQkgsWUFBWSxDQUFDO1VBQ1gsVUFBVSxFOUpqdkJSLFNBQXVCLEc4Smt2QjFCO1FBckJKLEFBdUJHLHFCQXZCRyxDQXVCSCxXQUFXLENBQUM7VUFDVixNQUFNLEU5SnJ2QkosU0FBdUIsRzhKMHZCMUI7VUE3QkosQUEwQksscUJBMUJDLENBdUJILFdBQVcsQ0FHVCxNQUFNLEFBQUEsT0FBTyxDQUFDO1lBQ1osT0FBTyxFQUFFLEVBQUUsR0FDWjtFQU9OLEFBQ0Msb0JBREksQUFDSCxjQUFjLENBQUM7SUFDZCxTQUFTLEVBQUUsR0FDYixHQUFDO0VBSEYsQUFLQyxvQkFMSSxBQUtILFlBQWEsQzFCbHVCQSxDQUFDLEUwQmt1QkU7SUFDZixTQUFTLEVBQUUsR0FBRyxHQUNmO0VBUEYsQUFTQyxvQkFUSSxBQVNILFlBQWEsQ3JEcHhCYSxDQUFDLEVxRG94Qlg7SUFDZixTQUFTLEVBQUUsS0FBSyxHQUNqQjtFQVhGLEFBYUMsb0JBYkksQUFhSCxZQUFhLENyRHh4QmEsQ0FBQyxFcUR3eEJYO0lBQ2YsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFmRixBQWlCQyxvQkFqQkksQUFpQkgsWUFBYSxDckQ1eEJhLENBQUMsRXFENHhCWDtJQUNmLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBbkJGLEFBcUJDLG9CQXJCSSxBQXFCSCxZQUFhLENyRGh5QmEsQ0FBQyxFcURneUJYO0lBQ2YsU0FBUyxFQUFFLEdBQUcsR0FDZjtFQUdGLEFBQUQsMkJBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLE1BQ25CLEdBQUM7RUFFQSxBQUFELG1CQUFLLENBQUM7SUFDSixTQUFTLEU5Smh5QkgsSUFBdUI7SThEVS9CLE9BQU8sRWdHd3hCUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBSy9CO0lBUkEsQXBGMXVCRCxtQm9GMHVCSyxBcEYxdUJKLE9BQU8sQ0FBQztNQUNQLEdBQUcsRUFBRSxJQUFJO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxHQUFHO01BQ1YsTUFBTSxFQUFFLEdBQUc7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENGcEJ2QixJQUFJO01FcUJULE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lvRmd1QkEsQXBGMXVCRCxtQm9GMHVCSyxBcEYxdUJKLE9BQU8sQ29GK3VCRztNQUNQLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUlMLEFBQUEsWUFBWSxDQUFDO0VBQ1gsZ0JBQWdCLEV0Rmx3QlQsSUFBSSxHc0Z1eUJaO0VBbkNFLEFBQUQsa0JBQU8sQ0FBQztJQUNOLFVBQVUsRUFBRSxNQUFNO0loR3B5QnBCLE9BQU8sRWdHcXlCUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FNekI7STlGNXVCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004Rm91QnBDLEFBQUQsa0JBQU8sQ0FBQztRQUtKLFVBQVUsRUFBRSxJQUFJO1FoR3h5QnBCLE9BQU8sRWdHeXlCVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FFM0I7RUFFQSxBQUFELGtCQUFPLENBQUM7SUFDTixhQUFhLEVBQUUsSUFBSSxHQUtwQjtJOUZwdkJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TThGOHVCcEMsQUFBRCxrQkFBTyxDQUFDO1FBSUosU0FBUyxFOUozekJMLE9BQXVCLEc4SjZ6QjlCO0VBRUEsQUFBRCxpQkFBTSxDQUFDO0lBQ0wsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsTUFBTSxHQWFmO0lBaEJBLEFBS0MsaUJBTEksQ0FLSixDQUFDLENBQUM7TUFDQSxLQUFLLEV0Rjd4QkssT0FBTztNc0Y4eEJqQixhQUFhLEVBQUUsQ0FBQztNQUNoQixTQUFTLEU5SnYwQkwsU0FBdUI7TThKdzBCM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FLakI7TTlGcndCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1E4RnN2QnBDLEFBS0MsaUJBTEksQ0FLSixDQUFDLENBQUM7VUFRRSxTQUFTLEU5SjUwQlAsT0FBdUIsRzhKODBCNUI7O0FBSUwsQUFBQSxXQUFXLENBQUM7RUFDVixnQkFBZ0IsRXRGaHlCRyxPQUFPLEdzRnEzQjNCO0VBbkZFLEFBQUQsaUJBQU8sQ0FBQztJaEczMEJSLE9BQU8sRWdHNDBCUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FLekI7STlGbHhCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004RjR3QnBDLEFBQUQsaUJBQU8sQ0FBQztRaEczMEJSLE9BQU8sRWdHKzBCVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FFM0I7RUFFQSxBQUFELGlCQUFPLENBQUM7SUFDTixhQUFhLEVBQUUsSUFBSSxHQVdwQjtJQVpBLEFBR0MsaUJBSEssR0FHSCxLQUFLLENBQUM7TUFDTixhQUFhLEU5SmoyQlQsTUFBdUIsRzhKazJCNUI7STlGenhCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO004Rm94QnBDLEFBQUQsaUJBQU8sQ0FBQztRQVFKLFNBQVMsRTlKcjJCTCxPQUF1QjtROEpzMkIzQixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEU5SnYyQlQsSUFBdUIsRzhKeTJCOUI7RUFFQSxBQUFELGlCQUFPLENBQUM7SUFJTixhQUFhLEVBQUUsSUFBSSxHQW1DcEI7SUF2Q0EsQUFRRyxpQkFSRyxDQU1MLGlCQUFpQixDQUVmLFFBQVEsQ0FBQztNQUNQLFlBQVksRUFBRSxDQUFDO01BQ2YsYUFBYSxFQUFFLENBQUMsR0FRakI7TUFsQkosQUFZSyxpQkFaQyxDQU1MLGlCQUFpQixDQUVmLFFBQVEsQ0FJTixhQUFhLENBQUM7UUFDWixPQUFPLEVBQUUsSUFBSTtRQUNiLHFCQUFxQixFQUFFLHFDQUFxQztRQUM1RCxHQUFHLEVBQUUsSUFBSTtRQUNULGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBakJOLEFBb0JHLGlCQXBCRyxDQU1MLGlCQUFpQixDQWNmLFVBQVUsQ0FBQztNQUNULE9BQU8sRUFBRSxLQUFLLEdBT2Y7TTlGOXpCSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1E4Rmt5QnBDLEFBb0JHLGlCQXBCRyxDQU1MLGlCQUFpQixDQWNmLFVBQVUsQ0FBQztVQUlQLFNBQVMsRUFBRSxLQUFLO1VBQ2hCLE1BQU0sRUFBRSxNQUFNLEdBR2pCO0k5Rjl6QkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEZreUJwQyxBQUFELGlCQUFPLENBQUM7UUFpQ0osYUFBYSxFOUo1NEJULFNBQXVCLEc4Sms1QjlCO1FBdkNBLEFBbUNHLGlCQW5DRyxDQW1DSCxXQUFXLENBQUM7VUFDVixNQUFNLEU5Si80QkosU0FBdUIsRzhKZzVCMUI7RUFJSixBQUFELGtCQUFRLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxNQUFNLEdBQ3hCO0VBRUEsQUFBRCxlQUFLLENBQUM7SUFDSixTQUFTLEU5SjE1QkgsSUFBdUI7SThEVS9CLE9BQU8sRWdHazVCUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBSy9CO0lBUkEsQXBGcDJCRCxlb0ZvMkJLLEFwRnAyQkosT0FBTyxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBQztNQUNSLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0ZwQnZCLElBQUk7TUVxQlQsT0FBTyxFQUFFLFlBQVksR0FDdEI7SW9GMDFCQSxBcEZwMkJELGVvRm8yQkssQXBGcDJCSixPQUFPLENvRnkyQkc7TUFDUCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQTlFTCxBQWtGSSxXQWxGTyxDQWlGVCxXQUFXLENBQ1QsTUFBTSxBQUFBLFFBQVEsQ0FBQztJQUNiLE9BQU8sRUFBRSxFQUFFLEdBQ1o7O0FBSUwsQUFBQSxjQUFjLENBQUM7RUFDYixnQkFBZ0IsRXRGeDNCRyxPQUFPO0VWekMxQixPQUFPLEVnR2s2Qk0sSUFBSSxDQUFDLENBQUMsR0FlcEI7RUFiRSxBQUFELG9CQUFPLENBQUM7SUFDTixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVBLEFBQUQsb0JBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUscUNBQXFDO0lBQzVELEdBQUcsRUFBRSxTQUFTLEdBS2Y7SUFSQSxBQUtDLG9CQUxLLENBS0wsY0FBYyxDQUFDO01BQ2IsVUFBVSxFQUFFLEtBQUssR0FDbEI7O0FDdDhCTCxBQUVFLDhCQUY0QixDQUU1QixtQkFBbUIsQ0FBQztFQUNsQixVQUFVLEV2Rm1CTSxPQUFPO0VWQ3pCLE9BQU8sRWlHbkJRLElBQUksQ0FBQyxDQUFDLEdBb0NwQjtFQXhDSCxBOUhRRSw4QjhIUjRCLENBRTVCLG1CQUFtQixDQUlqQixXQUFXLEE5SEVaLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0U4SFpILEFBVUksOEJBVjBCLENBRTVCLG1CQUFtQixDQVFqQixnQkFBZ0IsQ0FBQztJakdhbkIsT0FBTyxFaUdaVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBTTFCO0lBakJMLEFBYU0sOEJBYndCLENBRTVCLG1CQUFtQixDQVFqQixnQkFBZ0IsQ0FHZCxNQUFNLENBQUM7TUFDTCxTQUFTLEUvSkRQLElBQXVCO00rSkV6QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFL0ZzRUgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJK0Z0RnhDLEFBVUksOEJBVjBCLENBRTVCLG1CQUFtQixDQVFqQixnQkFBZ0IsQ0FXRztNakdFckIsT0FBTyxFaUdEWSxDQUFDLEdBQ2Y7RS9GK0RILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStGdEZ2QyxBQUVFLDhCQUY0QixDQUU1QixtQkFBbUIsQ0FBQztNakdxQnBCLE9BQU8sRWlHSVUsSUFBSSxDQUFDLElBQUksR0FhekI7TUF4Q0gsQUE2Qk0sOEJBN0J3QixDQUU1QixtQkFBbUIsQ0EyQmYsRUFBRSxDQUFDO1FBQ0QsYUFBYSxFQUFFLENBQUMsR0FDakI7TUEvQlAsQUFpQ00sOEJBakN3QixDQUU1QixtQkFBbUIsQ0ErQmYsS0FBSyxDQUFDO1FBQ0osU0FBUyxFaEt2QlAsT0FBc0I7UWdLd0J4QixXQUFXLEVBQUUsR0FBRztRQUNoQixjQUFjLEVBQUUsT0FBTztRQUN2QixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUF0Q1AsQUEwQ0UsOEJBMUM0QixDQTBDNUIsd0JBQXdCLENBQUM7RUFDdkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFdkZ0Qk0sT0FBTztFVkN6QixPQUFPLEVpR3NCUSxJQUFJLENBQUMsQ0FBQztFQUNuQixVQUFVLEVBQUUsTUFBTSxHQXdEbkI7RUF0R0gsQUFnREksOEJBaEQwQixDQTBDNUIsd0JBQXdCLEFBTXJCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0lySHRDYixNQUFNLEVxSHVDZSxLQUFLO0lySC9CMUIsS0FBSyxFcUgrQlcsSUFBSTtJeEhoQ3RCLFFBQVEsRXdIaUNjLFFBQVE7SXhIN0IxQixNQUFVLEV3SDZCNEIsQ0FBQztJeEg3QnZDLElBQVUsRXdINkI4QixDQUFDO0lBQ3pDLFVBQVUsRXZGMUJSLElBQUk7SXVGMkJOLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUF0REwsQUF3REksOEJBeEQwQixDQTBDNUIsd0JBQXdCLENBY3RCLFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUExREwsQUE0REksOEJBNUQwQixDQTBDNUIsd0JBQXdCLENBa0J0QixFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQS9ETCxBQWlFSSw4QkFqRTBCLENBMEM1Qix3QkFBd0IsQ0F1QnRCLGdCQUFnQixDQUFDO0lBQ2YsVUFBVSxFQUFFLElBQUksR0FDakI7RUFuRUwsQUFxRUksOEJBckUwQixDQTBDNUIsd0JBQXdCLENBMkJ0QixLQUFLLENBQUM7SUFDSixhQUFhLEVBQUUsSUFBSSxHQUtwQjtJQTNFTCxBQXdFTSw4QkF4RXdCLENBMEM1Qix3QkFBd0IsQ0EyQnRCLEtBQUssQ0FHSCxNQUFNLENBQUM7TUFDTCxhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQTFFUCxBQTZFSSw4QkE3RTBCLENBMEM1Qix3QkFBd0IsQ0FtQ3RCLG9CQUFvQixDQUFDO0lBQ25CLE1BQU0sRUFBRSxXQUFXLEdBQ3BCO0UvRk9ELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStGdEZ2QyxBQXFFSSw4QkFyRTBCLENBMEM1Qix3QkFBd0IsQ0EyQnRCLEtBQUssQ0FjRztNcEdsQlIsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztNd0c0RXZDLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BdkZQLEFwR3NGTSw4Qm9HdEZ3QixDQTBDNUIsd0JBQXdCLENBeUNwQixLQUFLLEFwR0dKLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNb0d4RlAsQXRHNkVFLDhCc0c3RTRCLENBMEM1Qix3QkFBd0IsQ0F5Q3BCLEtBQUssQXRHTlIsVUFBVyxDQUFBLEVBQUUsRUFBUztRQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7TXNHL0VILEF0R2tGSSw4QnNHbEYwQixDQTBDNUIsd0JBQXdCLENBeUNwQixLQUFLLEF0R0ROLFVBQVcsQ0FBQSxJQUFJLEVBQVM7UUFDdkIsS0FBSyxFVHVCWSxJQUFJLEdTdEJ0QjtFT0VELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStGdEZ2QyxBQTBDRSw4QkExQzRCLENBMEM1Qix3QkFBd0IsQ0FBQztNakduQnpCLE9BQU8sRWlHb0VVLElBQUksQ0FBQyxJQUFJLEdBV3pCO01BdEdILEFBcUVJLDhCQXJFMEIsQ0EwQzVCLHdCQUF3QixDQTJCdEIsS0FBSyxDQXdCRztRcEc1QlIsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKcEVoQixRQUFzQztRSXFFMUMsS0FBSyxFSjFFRCxJQUFxQyxHd0dzRnhDO1FBaEdQLEF0RzZFRSw4QnNHN0U0QixDQTBDNUIsd0JBQXdCLENBeUNwQixLQUFLLEF0R05SLFVBQVcsQ0FBQSxFQUFFLEVpQmxFTztVQUNuQixZQUFZLEVuQkdOLFFBQXNDLEdtQkY3QztRcUZiSCxBdEdrRkksOEJzR2xGMEIsQ0EwQzVCLHdCQUF3QixDQXlDcEIsS0FBSyxBdEdETixVQUFXLENBQUEsSUFBSSxFaUJuRUs7VUFDckIsS0FBSyxFQUFFLElBQ1QsR0FBQztRcUZqQkgsQXBHc0ZNLDhCb0d0RndCLENBMEM1Qix3QkFBd0IsQ0F5Q3BCLEtBQUssQXBHR0osV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO01vR3hGUCxBQTZFSSw4QkE3RTBCLENBMEM1Qix3QkFBd0IsQ0FtQ3RCLG9CQUFvQixDQXFCRztRQUNuQixNQUFNLEVBQUUsTUFBTSxHQUNmOztBQXBHUCxBQXdHRSw4QkF4RzRCLENBd0c1QixxQkFBcUIsQ0FBQztFakdqRnRCLE9BQU8sRWlHa0ZRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtFQUN4QixVQUFVLEVBQUUsTUFBTSxHQW1CbkI7RUE3SEgsQUE0R0ksOEJBNUcwQixDQXdHNUIscUJBQXFCLENBSW5CLEVBQUUsQ0FBQztJQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBOUdMLEFBZ0hJLDhCQWhIMEIsQ0F3RzVCLHFCQUFxQixDQVFuQixLQUFLLENBQUM7SUFDSixTQUFTLEVBQUUsS0FBSztJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0UvRjlCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krRnRGdkMsQUF3R0UsOEJBeEc0QixDQXdHNUIscUJBQXFCLENBQUM7TWpHakZ0QixPQUFPLEVpR2dHVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FNOUI7TUE3SEgsQUE0R0ksOEJBNUcwQixDQXdHNUIscUJBQXFCLENBSW5CLEVBQUUsQ0FhRztRQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQzNIUCxBQUVFLDJDQUZ5QyxDQUV6QyxFQUFFLENBQUM7RUFDRCxTQUFTLEVqS1FILFFBQXNCO0VpS1A1QixLQUFLLEV4RkdVLE9BQU87RXdGRnRCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFdBQVcsRUFBRSxJQUFJLEdBU2xCO0VoR3VFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnR3RGdkMsQUFFRSwyQ0FGeUMsQ0FFekMsRUFBRSxDQUFDO01BT0MsU0FBUyxFaktFTCxNQUFzQixHaUtJN0I7RWhHdUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdHdEZ2QyxBQUVFLDJDQUZ5QyxDQUV6QyxFQUFFLENBQUM7TUFXQyxTQUFTLEVqS0ZMLE9BQXNCLEdpS0k3Qjs7QUFmSCxBQWlCRSwyQ0FqQnlDLENBaUJ6QyxpQkFBaUIsQ0FBQztFbEdNbEIsT0FBTyxFa0dMUSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7RUFDekIsVUFBVSxFeEZHTSxPQUFPO0V3RkZ2QixVQUFVLEVBQUUsTUFBTSxHQXdEbkI7RUE1RUgsQUEwQkksMkNBMUJ1QyxDQWlCekMsaUJBQWlCLENBU2YsS0FBSyxDQUFDO0lBQ0osU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLFdBQVc7SUFDbkIsU0FBUyxFaktsQkwsT0FBc0IsR2lLMkIzQjtJaEdnREQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNZ0d0RnhDLEFBMEJJLDJDQTFCdUMsQ0FpQnpDLGlCQUFpQixDQVNmLEtBQUssQ0FBQztRQU1GLGFBQWEsRUFBRSxJQUFJLEdBTXRCO0loR2dERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nR3RGdkMsQUEwQkksMkNBMUJ1QyxDQWlCekMsaUJBQWlCLENBU2YsS0FBSyxDQUFDO1FBVUYsU0FBUyxFakt6QlAsT0FBc0IsR2lLMkIzQjtFQXRDTCxBL0hRRSwyQytIUnlDLENBaUJ6QyxpQkFBaUIsQ0F1QmYsYUFBYSxBL0hoQ2QsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RStIWkgsQUE0Q0ksMkNBNUN1QyxDQWlCekMsaUJBQWlCLENBMkJmLEtBQUssQ0FBQztJQUNKLFVBQVUsRUFBRSxJQUFJLEdBRWpCO0lBL0NMLEF2RzZFRSwyQ3VHN0V5QyxDQWlCekMsaUJBQWlCLENBMkJmLEtBQUssQXZHaUNOLFVBQVcsQ0FBQSxFQUFFLEVBQVM7TUFDckIsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0l1Ry9FSCxBdkdrRkksMkN1R2xGdUMsQ0FpQnpDLGlCQUFpQixDQTJCZixLQUFLLEF2R3NDSixVQUFXLENBQUEsSUFBSSxFQUFTO01BQ3ZCLEtBQUssRVR1QlksSUFBSSxHU3RCdEI7RXVHcEZMLEFBaURJLDJDQWpEdUMsQ0FpQnpDLGlCQUFpQixDQWdDZixvQkFBb0IsQ0FBQztJQUNuQixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFaEdtQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0d0RnhDLEFBaUJFLDJDQWpCeUMsQ0FpQnpDLGlCQUFpQixDQUFDO01sR01sQixPQUFPLEVrRytCVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FzQjNCO01BNUVILEFBMEJJLDJDQTFCdUMsQ0FpQnpDLGlCQUFpQixDQVNmLEtBQUssQ0E4Qkc7UUFDSixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFaEc0QkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0d0RnZDLEFBNENJLDJDQTVDdUMsQ0FpQnpDLGlCQUFpQixDQTJCZixLQUFLLENBbUJHO01yR0VSLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7TUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3lHd0R4QztNQWxFUCxBckdzRk0sMkNxR3RGcUMsQ0FpQnpDLGlCQUFpQixDQThDYixLQUFLLEFyR3VCSixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TXFHeEZQLEF2RzZFRSwyQ3VHN0V5QyxDQWlCekMsaUJBQWlCLENBOENiLEtBQUssQXZHY1IsVUFBVyxDQUFBLEVBQUUsRUFBUztRQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7TXVHL0VILEF2R2tGSSwyQ3VHbEZ1QyxDQWlCekMsaUJBQWlCLENBOENiLEtBQUssQXZHbUJOLFVBQVcsQ0FBQSxJQUFJLEVBQVM7UUFDdkIsS0FBSyxFVHVCWSxJQUFJLEdTdEJ0QjtFT0VELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdHdEZ2QyxBQWlCRSwyQ0FqQnlDLENBaUJ6QyxpQkFBaUIsQ0FBQztNbEdNbEIsT0FBTyxFa0crQ1UsSUFBSSxDQUFDLElBQUksR0FNekI7TUE1RUgsQUE0Q0ksMkNBNUN1QyxDQWlCekMsaUJBQWlCLENBMkJmLEtBQUssQ0E0Qkc7UUFDSixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQTFFUCxBQThFRSwyQ0E5RXlDLENBOEV6QyxtQkFBbUIsQ0FBQztFbEd2RHBCLE9BQU8sRWtHd0RRLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztFQUN6QixVQUFVLEV4RjFETSxPQUFPO0V3RjJEdkIsVUFBVSxFQUFFLE1BQU0sR0F5Q25CO0VBMUhILEFBbUZJLDJDQW5GdUMsQ0E4RXpDLG1CQUFtQixDQUtqQixLQUFLLENBQUM7SUFDSixTQUFTLEVBQUUsS0FBSztJQUNoQixNQUFNLEVBQUUsV0FBVztJQUNuQixTQUFTLEVqSzNFTCxPQUFzQjtJaUs0RTFCLEtBQUssRXhGOUVlLE9BQU8sR3dGb0Y1QjtJaEdQRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nR3RGdkMsQUFtRkksMkNBbkZ1QyxDQThFekMsbUJBQW1CLENBS2pCLEtBQUssQ0FBQztRQU9GLFNBQVMsRWpLL0VQLFFBQXNCO1FpS2dGeEIsYUFBYSxFQUFFLElBQUksR0FFdEI7RUE3RkwsQUErRkksMkNBL0Z1QyxDQThFekMsbUJBQW1CLENBaUJqQixLQUFLLENBQUM7SUFDSixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQWpHTCxBQW1HSSwyQ0FuR3VDLENBOEV6QyxtQkFBbUIsQ0FxQmpCLG9CQUFvQixDQUFDO0lBQ25CLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VoR2ZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWdHdEZ4QyxBQThFRSwyQ0E5RXlDLENBOEV6QyxtQkFBbUIsQ0FBQztNbEd2RHBCLE9BQU8sRWtHaUZVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQWtCM0I7RWhHcENDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdHdEZ2QyxBQStGSSwyQ0EvRnVDLENBOEV6QyxtQkFBbUIsQ0FpQmpCLEtBQUssQ0FjRztNckc1Q1IsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHeUdzR3hDO01BaEhQLEFyR3NGTSwyQ3FHdEZxQyxDQThFekMsbUJBQW1CLENBK0JmLEtBQUssQXJHdkJKLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNcUd4RlAsQXZHNkVFLDJDdUc3RXlDLENBOEV6QyxtQkFBbUIsQ0ErQmYsS0FBSyxBdkdoQ1IsVUFBVyxDQUFBLEVBQUUsRUFBUztRQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7TXVHL0VILEF2R2tGSSwyQ3VHbEZ1QyxDQThFekMsbUJBQW1CLENBK0JmLEtBQUssQXZHM0JOLFVBQVcsQ0FBQSxJQUFJLEVBQVM7UUFDdkIsS0FBSyxFVHVCWSxJQUFJLEdTdEJ0QjtFT0VELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdHdEZ2QyxBQThFRSwyQ0E5RXlDLENBOEV6QyxtQkFBbUIsQ0FBQztNbEd2RHBCLE9BQU8sRWtHNkZVLElBQUksQ0FBQyxJQUFJLEdBTXpCO01BMUhILEFBK0ZJLDJDQS9GdUMsQ0E4RXpDLG1CQUFtQixDQWlCakIsS0FBSyxDQXVCRztRQUNKLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBeEhQLEFBNEhFLDJDQTVIeUMsQ0E0SHpDLGVBQWUsQ0FBQztFbEdyR2hCLE9BQU8sRWtHc0dRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQTBEekI7RUF2TEgsQUErSEksMkNBL0h1QyxDQTRIekMsZUFBZSxDQUdiLFFBQVEsQ0FBQztJQUVQLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDeEZ4R3RCLElBQUk7SXdGeUdOLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBcElMLEEvSFFFLDJDK0hSeUMsQ0E0SHpDLGVBQWUsQ0FHYixRQUFRLEEvSHZIVCxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0haSCxBQXNJSSwyQ0F0SXVDLENBNEh6QyxlQUFlLENBVWIsRUFBRSxDQUFDO0lyR3JFSCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0l5RzhIekMsU0FBUyxFaks3SEwsS0FBc0I7SWlLOEgxQixLQUFLLEV4Ri9HSCxJQUFJO0l3RmdITixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsTUFBTTtJQUN0QixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQTdJTCxBckdzRk0sMkNxR3RGcUMsQ0E0SHpDLGVBQWUsQ0FVYixFQUFFLEFyR2hEQyxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RXFHeEZQLEFBK0lJLDJDQS9JdUMsQ0E0SHpDLGVBQWUsQ0FtQmIsS0FBSyxDQUFDO0luR2xHUixXQUE2QixFQUFTLFFBQXNGO0lGb0IxSCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0l5R3dJekMsU0FBUyxFakt2SUwsT0FBc0I7SWlLd0kxQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtJQXBKTCxBckdzRk0sMkNxR3RGcUMsQ0E0SHpDLGVBQWUsQ0FtQmIsS0FBSyxBckd6REYsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0d0RnZDLEFBc0lJLDJDQXRJdUMsQ0E0SHpDLGVBQWUsQ0FVYixFQUFFLENBa0JHO01yR3ZGTCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd5R2dKeEM7TUExSlAsQXJHc0ZNLDJDcUd0RnFDLENBNEh6QyxlQUFlLENBVWIsRUFBRSxBckdoREMsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lxR3hGUCxBQStJSSwyQ0EvSXVDLENBNEh6QyxlQUFlLENBbUJiLEtBQUssQ0FhRztNbkcvR1YsV0FBNkIsRUFBUyxFQUFzRixHbUdpSHZIO0VoR3hFSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnR3RGdkMsQUE0SEUsMkNBNUh5QyxDQTRIekMsZUFBZSxDQUFDO01sR3JHaEIsT0FBTyxFa0cySVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBcUI5QjtNQXZMSCxBQStISSwyQ0EvSHVDLENBNEh6QyxlQUFlLENBR2IsUUFBUSxDQXFDRztRQUNQLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BeEtQLEFBc0lJLDJDQXRJdUMsQ0E0SHpDLGVBQWUsQ0FVYixFQUFFLENBb0NHO1FBQ0QsU0FBUyxFaktoS1AsUUFBc0I7UWlLaUt4QixXQUFXLEVBQUUsSUFBSTtRQUNqQixhQUFhLEVBQUUsR0FBRztRQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaO01BL0tQLEFBK0lJLDJDQS9JdUMsQ0E0SHpDLGVBQWUsQ0FtQmIsS0FBSyxDQWtDRztRQUNKLFNBQVMsRWpLdktQLFFBQXNCO1FpS3dLeEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFyTFAsQUF5TEUsMkNBekx5QyxDQXlMekMsbUJBQW1CLENBQUM7RWxHbEtwQixPQUFPLEVrR21LUSxLQUFLLENBQUMsQ0FBQztFQUNwQixVQUFVLEVBQUUsTUFBTSxHQXFJbkI7RUFoVUgsQUE2TEksMkNBN0x1QyxDQXlMekMsbUJBQW1CLENBSWpCLFVBQVUsQ0FBQztJQUNULFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBL0xMLEFBaU1JLDJDQWpNdUMsQ0F5THpDLG1CQUFtQixDQVFqQixtQkFBbUIsQ0FBQztJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxNQUFNO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsVUFBVSxFeEYvS0ksT0FBTztJd0ZnTHJCLE9BQU8sRUFBRSxHQUFHO0l4SDdMVixrQkFBb0IsRXdIOExGLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJeEh6TGxDLGVBQWlCLEV3SHlMQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SXhIMUtsQyxVQUFZLEV3SDBLTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FpRXJDO0lBeFFMLEFBeU1NLDJDQXpNcUMsQ0F5THpDLG1CQUFtQixDQVFqQixtQkFBbUIsQUFRaEIsY0FBYyxDQUFDO01BQ2QsT0FBTyxFQUFFLENBQUMsR0E4Qlg7TUF4T1AsQUE4TVUsMkNBOU1pQyxDQXlMekMsbUJBQW1CLENBUWpCLG1CQUFtQixBQVFoQixjQUFjLENBR2IsVUFBVSxBQUVQLE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxFQUFFO1F6SDdMckIsUUFBUSxFeUg4TG9CLFFBQVE7UXpIMUxoQyxHQUFVLEV5SDBMeUIsS0FBSTtRekgxTHZDLElBQVUsRXlIMEx5QyxLQUFJO1F0SHJNekQsTUFBTSxFc0hzTXFCLElBQUk7UXRIOUwvQixLQUFLLEVzSDhMaUIsSUFBSTtRQUNsQixVQUFVLEVBQUUsd0NBQXdDLENBQUMsU0FBUyxDQUFDLE1BQU07UUFDckUsZUFBZSxFQUFFLFNBQVM7UUFDMUIsT0FBTyxFQUFFLEVBQUUsR0FDWjtNQXJOWCxBQXVOVSwyQ0F2TmlDLENBeUx6QyxtQkFBbUIsQ0FRakIsbUJBQW1CLEFBUWhCLGNBQWMsQ0FHYixVQUFVLEFBV1AsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UXpIdE1yQixRQUFRLEV5SHVNb0IsUUFBUTtRekhuTWhDLEtBQVUsRXlIbU02QixJQUFJO1F6SG5NM0MsTUFBVSxFeUhtTW1DLEtBQUk7UXRIOU1uRCxNQUFNLEVzSCtNcUIsSUFBSTtRdEh2TS9CLEtBQUssRXNIdU1pQixJQUFJO1FBQ2xCLFVBQVUsRUFBRSx5Q0FBeUMsQ0FBQyxTQUFTLENBQUMsTUFBTTtRQUN0RSxlQUFlLEVBQUUsU0FBUztRQUMxQixPQUFPLEVBQUUsRUFBRSxHQUNaO01oR3hJUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FnR3RGdkMsQUFrT1ksMkNBbE8rQixDQXlMekMsbUJBQW1CLENBUWpCLG1CQUFtQixBQVFoQixjQUFjLENBR2IsVUFBVSxBQXNCTCxPQUFPLEVBbE9wQiwyQ0FBMkMsQ0F5THpDLG1CQUFtQixDQVFqQixtQkFBbUIsQUFRaEIsY0FBYyxDQUdiLFVBQVUsQUF1QkwsTUFBTSxDQUFDO1VBQ04sT0FBTyxFQUFFLElBQUksR0FDZDtJQXJPYixBQTBPTSwyQ0ExT3FDLENBeUx6QyxtQkFBbUIsQ0FRakIsbUJBQW1CLENBeUNqQixLQUFLLENBQUM7TUFDSixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBNU9QLEFBOE9NLDJDQTlPcUMsQ0F5THpDLG1CQUFtQixDQVFqQixtQkFBbUIsQ0E2Q2pCLFVBQVUsQ0FBQztNQUNULE9BQU8sRUFBRSxLQUFLO01BQ2QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsU0FBUyxFaEtwT1AsUUFBdUI7TWdLcU96QixLQUFLLEV4RnRPRCxJQUFJO013RnVPUixNQUFNLEVBQUUsV0FBVztNQUNuQixXQUFXLEVBQUUsSUFBSTtNQUNqQixPQUFPLEVBQUUsQ0FBQztNQUNWLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0lBdlBQLEFBeVBNLDJDQXpQcUMsQ0F5THpDLG1CQUFtQixDQVFqQixtQkFBbUIsQ0F3RGpCLG9CQUFvQixDQUFDO01BQ25CLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUEzUFAsQUE2UE0sMkNBN1BxQyxDQXlMekMsbUJBQW1CLENBUWpCLG1CQUFtQixDQTREakIscUJBQXFCLENBQUM7TUFDcEIsU0FBUyxFaEtqUFAsUUFBdUI7TWdLa1B6QixXQUFXLEVBQUUsR0FBRztNQUNoQixLQUFLLEV4RnhQVyxPQUFPO013RnlQdkIsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLE9BQU8sR0FDeEI7SUFuUVAsQUFxUU0sMkNBclFxQyxDQXlMekMsbUJBQW1CLENBUWpCLG1CQUFtQixDQW9FakIsZUFBZSxDQUFDO01BQ2QsT0FBTyxFQUFFLElBQUksR0FDZDtFQXZRUCxBQTRRTSwyQ0E1UXFDLENBeUx6QyxtQkFBbUIsQ0FpRmpCLFlBQVksQUFFVCx5QkFBeUIsQ0FBQztJQUN6QixLQUFLLEVBQUUsR0FBRyxHQUNYO0VBOVFQLEFBZ1JNLDJDQWhScUMsQ0F5THpDLG1CQUFtQixDQWlGakIsWUFBWSxBQU1ULHlCQUF5QixDQUFDO0lBQ3pCLElBQUksRUFBRSxHQUFHLEdBQ1Y7RWhHNUxILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdHdEZ2QyxBQTRRTSwyQ0E1UXFDLENBeUx6QyxtQkFBbUIsQ0FpRmpCLFlBQVksQUFFVCx5QkFBeUIsQ0FVRztNQUN6QixLQUFLLEVBQUUsRUFBRSxHQUNWO0lBeFJULEFBZ1JNLDJDQWhScUMsQ0F5THpDLG1CQUFtQixDQWlGakIsWUFBWSxBQU1ULHlCQUF5QixDQVVHO01BQ3pCLElBQUksRUFBRSxFQUFFLEdBQ1Q7RWhHdE1MLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdHdEZ2QyxBQXlMRSwyQ0F6THlDLENBeUx6QyxtQkFBbUIsQ0FBQztNbEdsS3BCLE9BQU8sRWtHMFFVLElBQUksQ0FBQyxDQUFDLEdBK0J0QjtNQWhVSCxBQWlNSSwyQ0FqTXVDLENBeUx6QyxtQkFBbUIsQ0FRakIsbUJBQW1CLENBa0dHO1FBQ2xCLE9BQU8sRUFBRSxTQUFTLEdBQ25CO0VoRy9NSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnR3RGdkMsQUF5TEUsMkNBekx5QyxDQXlMekMsbUJBQW1CLENBQUM7TWxHbEtwQixPQUFPLEVrR2tSVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0F1QjNCO01BaFVILEFBMlNNLDJDQTNTcUMsQ0F5THpDLG1CQUFtQixDQWtIZixFQUFFLENBQUM7UUFDRCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQTdTUCxBQWlNSSwyQ0FqTXVDLENBeUx6QyxtQkFBbUIsQ0FRakIsbUJBQW1CLENBOEdHO1FBQ2xCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLFNBQVMsR0FhbkI7UUE5VFAsQUF5TU0sMkNBek1xQyxDQXlMekMsbUJBQW1CLENBUWpCLG1CQUFtQixBQVFoQixjQUFjLENBMEdHO1VBQ2QsT0FBTyxFQUFFLFNBQVMsR0FDbkI7UUFyVFQsQUEwT00sMkNBMU9xQyxDQXlMekMsbUJBQW1CLENBUWpCLG1CQUFtQixDQXlDakIsS0FBSyxDQTZFRztVQUNKLFNBQVMsRWpLN1NULFNBQXNCLEdpSzhTdkI7UUF6VFQsQUEyVFEsMkNBM1RtQyxDQXlMekMsbUJBQW1CLENBc0hmLG1CQUFtQixDQVlqQixFQUFFLENBQUM7VUFDRCxTQUFTLEVqS2pUVCxNQUFzQixHaUtrVHZCOztBQzdUVCxBQUVFLDhCQUY0QixDQUU1QixvQkFBb0IsQ0FBQztFQUNuQixVQUFVLEV6RmNNLE9BQU8sR3lGYnhCOztBQUpILEFBTUUsOEJBTjRCLENBTTVCLG9CQUFvQixDQUFDO0VBQ25CLE1BQU0sRUFBRSxNQUFNLEdBMEJmO0VBakNILEFBU0ksOEJBVDBCLENBTTVCLG9CQUFvQixDQUdsQixtQkFBbUIsQ0FBQztJbkdjdEIsT0FBTyxFbUdiVSxJQUFJLENBQUMsSUFBSSxHQUN2QjtFQVhMLEFBYUksOEJBYjBCLENBTTVCLG9CQUFvQixDQU9sQixFQUFFLENBQUM7SUFDRCxTQUFTLEVsS0hMLFFBQXNCO0lrS0kxQixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsR0FBRztJQUNsQixLQUFLLEV6RlRhLE9BQU87SXlGVXpCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBcEJMLEFBc0JJLDhCQXRCMEIsQ0FNNUIsb0JBQW9CLENBZ0JsQixLQUFLLENBQUM7SUFDSixTQUFTLEVsS1pMLE1BQXNCO0lrS2ExQixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSTtJQUNuQixLQUFLLEV6RmpCZSxPQUFPLEd5RmtCNUI7RUEzQkwsQUE2QkksOEJBN0IwQixDQU01QixvQkFBb0IsQ0F1QmxCLGVBQWUsQ0FBQztJQUNkLGNBQWMsRUFBRSxTQUFTLEdBQzFCOztBQS9CTCxBQW1DRSw4QkFuQzRCLENBbUM1QixXQUFXLENBQUM7RUFDVixNQUFNLEVBQUUsS0FBSyxHQUNkOztBQXJDSCxBQXVDRSw4QkF2QzRCLENBdUM1QixZQUFZLENBQUM7RXZINUJYLE1BQU0sRXVINkJRLElBQUk7RXZIckJsQixLQUFLLEV1SHFCUyxJQUFJLEdBQ25COztBakc2Q0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFaUd0RnZDLEFBU0ksOEJBVDBCLENBTTVCLG9CQUFvQixDQUdsQixtQkFBbUIsQ0FzQ0c7SW5HeEJ4QixPQUFPLEVtR3lCWSxJQUFJLENBQUMsSUFBSSxHQUN2QjtFQWpEUCxBQXNCSSw4QkF0QjBCLENBTTVCLG9CQUFvQixDQWdCbEIsS0FBSyxDQTZCRztJQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBckRQLEFBdUNFLDhCQXZDNEIsQ0F1QzVCLFlBQVksQ0FpQkc7SXZIN0NiLE1BQU0sRXVIOENVLElBQUk7SXZIdENwQixLQUFLLEV1SHNDVyxJQUFJLEdBU25CO0lBbEVMLEFBMkRNLDhCQTNEd0IsQ0F3RDFCLFlBQVksQUFHVCx5QkFBeUIsQ0FBQztNQUN6QixJQUFJLEVBQUUsSUFBSSxHQUNYO0lBN0RQLEFBK0RNLDhCQS9Ed0IsQ0F3RDFCLFlBQVksQUFPVCx5QkFBeUIsQ0FBQztNQUN6QixLQUFLLEVBQUUsSUFBSSxHQUNaOztBakdxQkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFaUd0RnZDLEFBdUVJLDhCQXZFMEIsQ0F1RTFCLGtCQUFrQixDQUFDO0lBQ2pCLE9BQU8sRUFBRSxXQUFXLEdBQ3JCO0VBekVMLEFBMkVJLDhCQTNFMEIsQ0EyRTFCLFVBQVUsQUFBQSxJQUFLLENBQUEsdUJBQXVCLEVBQUU7SUFDdEMsT0FBTyxFQUFFLGFBQWEsR0FLdkI7SUFqRkwsQUE4RU0sOEJBOUV3QixDQTJFMUIsVUFBVSxBQUFBLElBQUssQ0FBQSx1QkFBdUIsQ0FHbkMsY0FBYyxDQUFDO01BQ2QsV0FBVyxFQUFFLENBQUMsR0FDZjtFQWhGUCxBQXFGTSw4QkFyRndCLENBbUYxQix1QkFBdUIsQ0FFckIsRUFBRSxFQXJGUiw4QkFBOEIsQ0FtRjFCLHVCQUF1QixDQUVqQixLQUFLLENBQUM7SUFDUixPQUFPLEVBQUUsTUFBTSxHQUNoQjtFQXZGUCxBQVNJLDhCQVQwQixDQU01QixvQkFBb0IsQ0FHbEIsbUJBQW1CLENBbUZHO0luR3JFeEIsT0FBTyxFbUdzRVksSUFBSSxDQUFDLElBQUk7SUFDdEIsTUFBTSxFQUFFLE1BQU0sR0FDZjtFQS9GUCxBQXNCSSw4QkF0QjBCLENBTTVCLG9CQUFvQixDQWdCbEIsS0FBSyxDQTJFRztJQUNKLGFBQWEsRUFBRSxJQUFJO0lBQ25CLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFwR1AsQUFtQ0UsOEJBbkM0QixDQW1DNUIsV0FBVyxDQW9FRztJQUNWLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7RUF6R0wsQUF1Q0UsOEJBdkM0QixDQXVDNUIsWUFBWSxDQW9FRztJdkhoR2IsTUFBTSxFdUhpR1UsSUFBSTtJdkh6RnBCLEtBQUssRXVIeUZXLElBQUksR0FTbkI7SUFySEwsQUErRE0sOEJBL0R3QixDQXdEMUIsWUFBWSxBQU9ULHlCQUF5QixDQStDQztNQUN6QixLQUFLLEVBQUUsRUFBRSxHQUNWO0lBaEhQLEFBMkRNLDhCQTNEd0IsQ0F3RDFCLFlBQVksQUFHVCx5QkFBeUIsQ0F1REM7TUFDekIsSUFBSSxFQUFFLEVBQUUsR0FDVDs7QUNsSEosQUFBRCxnQkFBUyxDQUFDO0VBQ1IsZ0JBQWdCLEUxRjZEQyxPQUFPO0VWekMxQixPQUFPLEVvR25CUSxJQUFJLENBQUMsQ0FBQyxHQXdCcEI7RUF0QkUsQUFBRCxzQkFBTyxDQUFDO0lBQ04sZ0JBQWdCLEUxRitDYixJQUFJO0kwRjlDUCxhQUFhLEVBQUUsSUFBSTtJcEdldkIsT0FBTyxFb0dkVSxJQUFJLENBQUMsS0FBSztJQUN2QixVQUFVLEVBQUUsS0FBSyxHQVNsQjtJbEdtRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNa0doRm5DLEFBQUQsc0JBQU8sQ0FBQztRcEdpQlYsT0FBTyxFb0dWWSxJQUFJLENBQUMsSUFBSSxHQU16QjtJbEdtRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNa0doRmxDLEFBQUQsc0JBQU8sQ0FBQztRcEdpQlYsT0FBTyxFb0dOWSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBRW5DO0VBRUEsQUFBRCxzQkFBTyxDQUFDO0lBQ04sU0FBUyxFbEtUTCxNQUF1QjtJa0tVM0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFMUZ5QkksT0FBTztJMEZ4QmhCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUdGLEFBQUQsa0JBQVcsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLFVBQVUsR0FTaEI7RWxHNkNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtHeERwQyxBQUFELGtCQUFXLENBQUM7TUFLUixHQUFHLEVBQUUsU0FBUyxHQU1qQjtFbEc2Q0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0d4RHBDLEFBQUQsa0JBQVcsQ0FBQztNQVNSLE9BQU8sRUFBRSxLQUFLLEdBRWpCOztBbEc2Q0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFa0czQ3BDLEFBQUQsaUJBQVUsQ0FBQztJQUVQLEtBQUssRUFBRSxHQUFHLEdBTWI7O0FsR21DQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VrRzNDcEMsQUFBRCxpQkFBVSxDQUFDO0lBTVAsS0FBSyxFQUFFLElBQUksR0FFZDs7QUFJRSxBQUFELGtCQUFNLENBQUM7RUFDTCxLQUFLLEUxRkljLE9BQU87RTBGSDFCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxPQUFPO0VBQ3ZCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRWxLakRMLFFBQXVCO0VrS2tEM0IsYUFBYSxFQUFFLEdBQUcsR0FlbkI7RUF2QkEsQUFVQyxrQkFWSSxBQVVILFFBQVEsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxTQUFTLEVsS3hEUCxJQUF1QjtJa0t5RHpCLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLEtBQUssRTFGcEJJLE9BQU87STBGcUJoQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQWxCRixBQW9CQyxrQkFwQkksQ0FvQkosQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFQUFFLE9BQU8sR0FDZjs7QUFHRixBQUFELG9CQUFRLENBQUM7RUFDUCxTQUFTLEVsS3BFTCxRQUF1QixHa0txRTVCOztBQUVBLEFBQUQscUJBQVMsQ0FBQztFQUNSLGFBQWEsRUFBRSxJQUFJLEdBYXBCO0VsR1pELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtHRmxDLEFBQUQscUJBQVMsQ0FBQztNQUlOLFVBQVUsRWxLM0VSLE9BQXVCLEdrS3FGNUI7RUFkQSxBQU9DLHFCQVBPLEFBT04sUUFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLHFDQUFxQztJQUM5QyxJQUFJLEVBQUUsSUFBSTtJQUNWLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFMUY1Q0ksT0FBTztJMEY2Q2hCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUdGLEFBQ0MsaUJBREcsQUFDRixRQUFRLENBQUM7RUFDUixPQUFPLEVBQUUsR0FBRztFQUNaLElBQUksRUFBRSxJQUFJO0VBQ1YsR0FBRyxFQUFFLElBQUksR0FDVjs7QUFHRixBQUNDLGlCQURHLEFBQ0YsUUFBUSxDQUFDO0VBQ1IsT0FBTyxFQUFFLEdBQUc7RUFDWixJQUFJLEVBQUUsSUFBSTtFQUNWLEdBQUcsRUFBRSxJQUFJLEdBQ1Y7O0FBR0YsQUFBRCxpQkFBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsR0FBRztFQUNmLFNBQVMsRWxLM0dMLE9BQXVCO0VrSzRHM0IsY0FBYyxFQUFFLE1BQU07RUFDdEIsWUFBWSxFQUFFLEdBQUcsR0FXbEI7RUFqQkEsQUFRQyxpQkFSRyxBQVFGLFFBQVEsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLENBQUM7SUFDUCxnQkFBZ0IsRTFGaEZQLE9BQU8sRzBGaUZqQjs7QUFJSixBQUFELGdCQUFTLENBQUM7RUFDUixnQkFBZ0IsRTFGckZDLE9BQU87RVY3QjFCLE9BQU8sRW9HbUhRLElBQUksQ0FBQyxDQUFDLEdBd0JwQjtFbEc1RUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0drRHBDLEFBQUQsZ0JBQVMsQ0FBQztNcEdqSFYsT0FBTyxFb0dzSFUsSUFBSSxDQUFDLENBQUMsR0FxQnRCO0VBbEJFLEFBQUQsc0JBQU8sQ0FBQztJQUNOLGdCQUFnQixFMUYzRmIsSUFBSTtJMEY0RlAsYUFBYSxFQUFFLElBQUk7SUFDbkIsUUFBUSxFQUFFLE1BQU07SUFDaEIsT0FBTyxFQUFFLElBQUksR0FDZDtFQUVBLEFBQUQsc0JBQU8sQ0FBQztJQUNOLFNBQVMsRWxLM0lMLE1BQXVCO0lrSzRJM0IsS0FBSyxFMUZ4R0ksT0FBTztJMEZ5R2hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxRQUFRLEdBS3pCO0lsRzNFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01rR2lFbEMsQUFBRCxzQkFBTyxDQUFDO1FBUUosYUFBYSxFQUFFLEdBQUcsR0FFckI7O0FBR0YsQUFBRCxjQUFPLENBQUM7RUFFTixTQUFTLEVBQUUsS0FBSztFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLGdCQUFnQixFQUFFLDJDQUEyQztFQUM3RCxpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLG1CQUFtQixFQUFFLE1BQU0sR0FLNUI7RWxHMUZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtHOEVwQyxBQUFELGNBQU8sQ0FBQztNQVVKLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQUVBLEFBQUQsZ0JBQVMsQ0FBQztFQUNSLFNBQVMsRUFBRSxDQUFDO0VwRzVKZCxPQUFPLEVvRzZKUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBV25DO0VsR3pHQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lrRzRGckMsQUFBRCxnQkFBUyxDQUFDO01wRzNKVixPQUFPLEVvR2dLVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7TUFDM0IsU0FBUyxFQUFFLEtBQUssR0FPbkI7RWxHekdDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtHNEZwQyxBQUFELGdCQUFTLENBQUM7TUFVTixTQUFTLEVBQUUsSUFBSTtNcEdyS25CLE9BQU8sRW9Hc0tVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUU5Qjs7QUFFQSxBQUdHLGFBSEUsQ0FFSiw0QkFBNEIsR0FDeEIsR0FBRyxDQUFDO0VBQ0osT0FBTyxFQUFFLElBQUk7RUFDYixpQkFBaUIsRUFBRSxHQUFHO0VBQ3RCLHFCQUFxQixFQUFFLE9BQU87RUFDOUIsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixHQUFHLEVBQUUsTUFBTTtFQUNYLG1CQUFtQixFQUNqQiwrRUFJZSxHQUtsQjtFbEc5SEgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0cyR3BDLEFBR0csYUFIRSxDQUVKLDRCQUE0QixHQUN4QixHQUFHLENBQUM7TUFjRixPQUFPLEVBQUUsS0FBSyxHQUVqQjs7QUFuQkosQUFxQkcsYUFyQkUsQ0FFSiw0QkFBNEIsQ0FtQjFCLEtBQUssQ0FBQztFQUNKLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBQXZCSixBQTRCQyxhQTVCSSxDQTRCSixzQkFBc0IsQ0FBQztFQUNyQixTQUFTLEVBQUUsS0FBSyxHQUNqQjs7QUE5QkYsQUFnQ0MsYUFoQ0ksQ0FnQ0oscUJBQXFCLENBQUM7RUFDcEIsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBbENGLEFBb0NDLGFBcENJLENBb0NKLGlCQUFpQixDQUFDO0VBQ2hCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCOztBQXRDRixBQXdDQyxhQXhDSSxDQXdDSiwwQkFBMEIsQ0FBQztFQUN6QixTQUFTLEVBQUUsTUFBTSxHQUNsQjs7QWxHckpELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtHMkdwQyxBQTRDQyxhQTVDSSxDQTRDSixzQkFBc0I7RUE1Q3ZCLGFBQUssQ0E2Q0oscUJBQXFCO0VBN0N0QixhQUFLLENBOENKLGlCQUFpQjtFQTlDbEIsYUFBSyxDQStDSiwwQkFBMEIsQ0FBQztJcEd6TjdCLE9BQU8sRW9HMk5ZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FFMUI7O0FBbkRGLEFBcURDLGFBckRJLENBcURKLG1CQUFtQixDQUFDO0VBQ2xCLFNBQVMsRUFBRSxPQUFPLEdBU25CO0VBL0RGLEFBd0RHLGFBeERFLENBcURKLG1CQUFtQixDQUdqQixrQkFBa0IsQ0FBQztJQUNqQixLQUFLLEVBQUUsZUFBZSxHQUt2QjtJbEd6S0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNa0cyR3BDLEFBd0RHLGFBeERFLENBcURKLG1CQUFtQixDQUdqQixrQkFBa0IsQ0FBQztRQUlmLElBQUksRUFBRSxZQUFZLEdBRXJCOztBQTlESixBQWlFQyxhQWpFSSxDQWlFSixtQkFBbUIsQ0FBQztFQUNsQixTQUFTLEVBQUUsT0FBTyxHQUNuQjs7QUFuRUYsQUFxRUMsYUFyRUksQ0FxRUosYUFBYSxDQUFDO0VBQ1osU0FBUyxFQUFFLE1BQU07RUFDakIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsVUFBVTtFQUN2QixlQUFlLEVBQUUsYUFBYTtFQUM5QixhQUFhLEVBQUUsSUFBSTtFQUNuQixNQUFNLEVBQUUsQ0FBQyxHQXVCVjtFQWxHRixBQTZFRyxhQTdFRSxDQXFFSixhQUFhLENBUVgsUUFBUSxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUMsR0FDVjtFQS9FSixBQWlGRyxhQWpGRSxDQXFFSixhQUFhLENBWVgsWUFBWSxDQUFDO0lBQ1gsZ0JBQWdCLEUxRmxPVCxPQUFPO0kwRm1PZCxnQkFBZ0IsRUFBRSxnQ0FBZ0M7SUFDbEQsbUJBQW1CLEVBQUUscUJBQXFCO0lBQzFDLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsU0FBUyxFbEsxUVAsT0FBdUI7SWtLMlF6QixhQUFhLEVsSzNRWCxNQUF1QixHa0s0UTFCO0VsR25NSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRzJHcEMsQUFxRUMsYUFyRUksQ0FxRUosYUFBYSxDQUFDO01Bc0JWLGNBQWMsRUFBRSxNQUFNLEdBT3pCO01BbEdGLEFBaUZHLGFBakZFLENBcUVKLGFBQWEsQ0FZWCxZQUFZLENBWUc7UUFDWCxVQUFVLEVsS2xSVixJQUF1QjtRa0ttUnZCLEtBQUssRWxLblJMLE1BQXVCLEdrS29SeEI7O0FBaEdOLEFBb0dDLGFBcEdJLENBb0dKLFlBQVksQ0FBQztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFMUZqUEYsSUFBSTtFMEZrUFAsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RXBHbFJ0QixPQUFPLEVvR21SVSxJQUFJLENBQUMsSUFBSTtFQUN0QixXQUFXLEVBQUUsR0FBRztFQUNoQixnQkFBZ0IsRTFGM1BQLE9BQU87RTBGNFBoQixTQUFTLEVsS2hTTCxNQUF1QixHa0tpUzVCOztBQzlTTCxBQUFBLGVBQWUsQ0FBQztFQUVkLGVBQWUsRUFBRSxTQUFTLEdBcUozQjtFQXZKRCxBQUtJLGVBTFcsQ0FJYixhQUFhLENBQ1gsT0FBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLElBQUksR0FFcEI7SUFSTCxBbElRRSxla0lSYSxDQUliLGFBQWEsQ0FDWCxPQUFPLEFsSUdSLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VrSVpILEFBVUksZUFWVyxDQUliLGFBQWEsQ0FNWCxPQUFPLEFBQUEsZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUM3QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVpMLEFBZUUsZUFmYSxDQWViLE9BQU8sQ0FBQyxVQUFVLENBQUM7SXJHUW5CLE9BQU8sRXFHUFEsS0FBSyxDQUFDLENBQUMsR0FLckI7SW5HaUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1HdEZ2QyxBQWVFLGVBZmEsQ0FlYixPQUFPLENBQUMsVUFBVSxDQUFDO1FyR1FuQixPQUFPLEVxR0pVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUU5QjtFQXJCSCxBQXVCRSxlQXZCYSxDQXVCYixPQUFPLEFBQUEsZUFBZSxDQUFDLFVBQVUsQ0FBQztJckdBbEMsT0FBTyxFcUdDUSxJQUFJLENBQUMsQ0FBQyxHQUNwQjtFQXpCSCxBQTJCRSxlQTNCYSxDQTJCYixVQUFVLENBQUM7SXhHc0NULEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsRzRHZ0U1QztJQTFFSCxBeEdzRk0sZXdHdEZTLENBMkJiLFVBQVUsQXhHMkRMLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJd0d4RlAsQUE4QkksZUE5QlcsQ0EyQmIsVUFBVSxDQUdSLEVBQUUsQ0FBQztNQUNELFNBQVMsRXBLcEJMLFFBQXNCO01vS3FCMUIsS0FBSyxFM0Z6QlEsT0FBTztNMkYwQnBCLGFBQWEsRUFBRSxJQUFJO01BQ25CLGNBQWMsRUFBRSxLQUFLO01BQ3JCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCO0lBckNMLEFBdUNJLGVBdkNXLENBMkJiLFVBQVUsQ0FZUixDQUFDLENBQUM7TUFDQSxhQUFhLEVBQUUsSUFBSSxHQUtwQjtNQTdDTCxBQTBDTSxlQTFDUyxDQTJCYixVQUFVLENBWVIsQ0FBQyxDQUdDLEVBQUUsQ0FBQztRQUNELE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUE1Q1AsQUErQ0ksZUEvQ1csQ0EyQmIsVUFBVSxDQW9CUixDQUFDLEFBQUEsSUFBSyxDN0U5Q1Ysb0JBQW9CLEM2RThDVyxJQUFLLEM3RWdEcEMsc0JBQXNCLEU2RWhEc0M7TUFDdEQsS0FBSyxFM0ZsQkssT0FBTyxHMkZ1QmxCO01BckRMLEFBa0RNLGVBbERTLENBMkJiLFVBQVUsQ0FvQlIsQ0FBQyxBQUFBLElBQUssQzdFOUNWLG9CQUFvQixDNkU4Q1csSUFBSyxDN0VnRHBDLHNCQUFzQixDNkU3Q2YsTUFBTSxDQUFDO1FBQ04sZUFBZSxFQUFFLFNBQVMsR0FDM0I7SW5Ha0NILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TW1HdEZ4QyxBQTJCRSxlQTNCYSxDQTJCYixVQUFVLENBQUM7UXhHc0NULEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsRzRHZ0U1QztRQTFFSCxBeEdzRk0sZXdHdEZTLENBMkJiLFVBQVUsQXhHMkRMLFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJS0ZILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1HdEZ2QyxBQTJCRSxlQTNCYSxDQTJCYixVQUFVLENBQUM7UUFpQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxJQUFJLEdBWW5CO1FBMUVILEFBOEJJLGVBOUJXLENBMkJiLFVBQVUsQ0FHUixFQUFFLENBa0NHO1VBQ0QsU0FBUyxFcEt0RFAsT0FBc0I7VW9LdUR4QixhQUFhLEVBQUUsSUFBSTtVQUNuQixjQUFjLEVBQUUsS0FBSyxHQUN0QjtJQXBFUCxBQXVFSSxlQXZFVyxDQTJCYixVQUFVLENBNENSLE1BQU0sQ0FBQztNQUNMLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBekVMLEFBNEVFLGVBNUVhLENBNEViLFdBQVcsQ0FBQztJQUNWLFFBQVEsRUFBRSxRQUFRO0l0R2hDcEIsV0FBNkIsRUFBUyxTQUFzRjtJRm9CMUgsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztJNEdzRTNDLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEdBa0N2RDtJQXJISCxBeEdzRk0sZXdHdEZTLENBNEViLFdBQVcsQXhHVU4sV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0l3R3hGUCxBQXFGSSxlQXJGVyxDQTRFYixXQUFXLEFBU1IsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0lBekZMLEFBMkZJLGVBM0ZXLENBNEViLFdBQVcsQUFlUixNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNNUgxRWYsUUFBUSxFNEgyRWMsUUFBUTtNNUh2RTFCLEdBQVUsRTRIdUVrQixHQUFHO001SHZFL0IsS0FBVSxFNEh1RXNCLElBQUk7TXpIbEZ0QyxNQUFNLEV5SG1GVSxJQUFJO016SDNFcEIsS0FBSyxFeUgyRVcsSUFBSTtNQUNsQixVQUFVLEVBQUUsd0JBQXdCO01BQ3BDLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0luR1hELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TW1HdEZ4QyxBQTRFRSxlQTVFYSxDQTRFYixXQUFXLENBQUM7UXRHL0JaLFdBQTZCLEVBQVMsUUFBc0Y7UUZvQjFILEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsRzRHMkc1QztRQXJISCxBeEdzRk0sZXdHdEZTLENBNEViLFdBQVcsQXhHVU4sV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUd0RnZDLEFBNEVFLGVBNUVhLENBNEViLFdBQVcsQ0FBQztRQTZCUixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsU0FBUyxFQUFFLEtBQUs7UUFDaEIsS0FBSyxFQUFFLEdBQUc7UUFDVixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsR0FRekQ7UUFySEgsQUEyRkksZUEzRlcsQ0E0RWIsV0FBVyxBQWVSLE1BQU0sQ0FvQkc7VUFDTixHQUFHLEVBQUUsQ0FBQztVQUNOLEtBQUssRUFBRSxHQUFHO1V6SHRHZCxNQUFNLEV5SHVHWSxJQUFJO1V6SC9GdEIsS0FBSyxFeUgrRmEsSUFBSSxHQUNuQjtFQW5IUCxBQTBITSxlQTFIUyxDQXVIYixlQUFlLENBRWIsZUFBZSxDQUNiLFVBQVUsQ0FBQztJQUNULFdBQVcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxFQUFFLENBQUMsR0FDbEI7RUE3SFAsQUErSE0sZUEvSFMsQ0F1SGIsZUFBZSxDQUViLGVBQWUsQ0FNYixFQUFFLENBQUM7SUFDRCxTQUFTLEVuS25IUCxNQUF1QjtJbUtvSHpCLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7RW5HNUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1HdEZ2QyxBQXFJSSxlQXJJVyxDQXVIYixlQUFlLENBY2IsVUFBVSxDQUFDO014R3BFWCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDLEc0RytIMUM7TUF6SUwsQXhHc0ZNLGV3R3RGUyxDQXVIYixlQUFlLENBY2IsVUFBVSxBeEcvQ1AsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0V3R3hGUCxBQTJJSSxlQTNJVyxDQXVIYixlQUFlLENBb0JiLE9BQU8sQ0FBQztJQU9OLFNBQVMsRW5LcklMLFFBQXVCLEdtS3VJNUI7SUFwSkwsQUE2SU0sZUE3SVMsQ0F1SGIsZUFBZSxDQW9CYixPQUFPLENBRUwsRUFBRSxDQUFDO01BQ0QsU0FBUyxFbktqSVAsUUFBdUI7TW1La0l6QixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFTUCxBQUFBLFdBQVcsQ0FBQztFQUNWLGdCQUFnQixFM0YzRkMsT0FBTyxHMkY4SnpCO0VBakVFLEFBQUQsaUJBQU8sQ0FBQztJckdySVIsT0FBTyxFcUdzSVEsSUFBSSxDQUFDLENBQUMsR0FDcEI7RUFFQSxBQUFELG1CQUFTLENBQUM7SUFDUixnQkFBZ0IsRTNGM0dYLElBQUk7SVYvQlgsT0FBTyxFcUcySVEsSUFBSSxDQUFDLEtBQUs7SUFDdkIsYUFBYSxFQUFFLElBQUksR0FXcEI7SW5HeEZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1HMEVwQyxBQUFELG1CQUFTLENBQUM7UXJHeklWLE9BQU8sRXFHK0lVLElBQUksQ0FBQyxJQUFJLEdBUXpCO0luR3hGQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01tRzBFcEMsQUFTQyxtQkFUTyxDQVNQLFNBQVMsQ0FBQztRQUVOLE9BQU8sRUFBRSxJQUFJLEdBRWhCO0VBR0YsQUFDQyxtQkFETyxBQUNOLElBQUssQ3pFakRFLGFBQWEsRXlFaURBO0lBQ25CLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBS0YsQUFBRCxtQkFBUyxDQUFDO0lBQ1IsU0FBUyxFbks1S0gsUUFBdUI7SW1LNks3QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsT0FBTztJQUN2QixXQUFXLEVBQUUsTUFBTSxHQUNwQjtFQUVBLEFBQUQsZUFBSyxDQUFDO0lBQ0osU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUksR0FVWjtJQVpBLEFBSUMsZUFKRyxDQUlILENBQUMsQ0FBQztNQUNBLFNBQVMsRW5LeExMLFFBQXVCO01tS3lMM0IsYUFBYSxFQUFFLENBQUMsR0FLakI7TUFYRixBQVFHLGVBUkMsQ0FJSCxDQUFDLEFBSUUsSUFBSyxDekV4RUEsYUFBYSxFeUV3RUU7UUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFJSixBQUFELG1CQUFTLENBQUM7SUFDUixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQUVBLEFBQUQsZUFBSyxDQUFDO0lyRzNMTixPQUFPLEVxRzRMUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO0lBRTlCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRW5Lek1ILE9BQXVCLEdtSytNOUI7SUFWQSxBekZoSkQsZXlGZ0pLLEF6RmhKSixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtNRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJeUZzSUEsQXpGaEpELGV5RmdKSyxBekZoSkosT0FBTyxDeUZzSkc7TUFDUCxXQUFXLEVBQUUsSUFBSTtNQUNqQixHQUFHLEVBQUUsSUFDUCxHQUFDOztBQzNOTCxBQUVFLHNCQUZvQixDQUVwQixRQUFRLENBQUM7RUFFUCxlQUFlLEVBQUUsU0FBUyxHQUMzQjs7QUFMSCxBQU9FLHNCQVBvQixDQU9wQixTQUFTLENBQUMsVUFBVSxDQUFDO0V0R2dCckIsT0FBTyxFc0dmUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FTMUI7RXBHcUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9HdEZ2QyxBQU9FLHNCQVBvQixDQU9wQixTQUFTLENBQUMsVUFBVSxDQUFDO010R2dCckIsT0FBTyxFc0daVSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FNM0I7RXBHcUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9HdEZ2QyxBQU9FLHNCQVBvQixDQU9wQixTQUFTLENBQUMsVUFBVSxDQUFDO01BUWpCLE9BQU8sRUFBRSxDQUFDLEdBRWI7O0FBakJILEFBK0JFLHNCQS9Cb0IsQ0ErQnBCLFFBQVEsQ0FBQztFekdrQ1AsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHNkcyQjVDO0VBckNILEF6R3NGTSxzQnlHdEZnQixDQStCcEIsUUFBUSxBekd1REgsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0d0RnZDLEFBK0JFLHNCQS9Cb0IsQ0ErQnBCLFFBQVEsQ0FBQztNQUlMLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQXJDSCxBQXVDRSxzQkF2Q29CLENBdUNwQixZQUFZLENBQUM7RXZHTWIsV0FBNkIsRUFBUyxRQUFzRjtFRm9CMUgsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKcEVoQixRQUFzQztFSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHNkdzQzVDO0VBaERILEF6R3NGTSxzQnlHdEZnQixDQXVDcEIsWUFBWSxBekcrQ1AsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0d0RnZDLEFBdUNFLHNCQXZDb0IsQ0F1Q3BCLFlBQVksQ0FBQztNdkdNYixXQUE2QixFQUFTLEVBQXNGO011R0F4SCxLQUFLLEVBQUUsSUFBSTtNdEd0QmYsT0FBTyxFc0d1QlUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBRTlCOztBQWhESCxBQWtERSxzQkFsRG9CLENBa0RwQixZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQ3BESCxBQUFBLGFBQWEsQ0FBQztFQUNaLGdCQUFnQixFN0ZtREcsT0FBTyxHNkYyTjNCO0VBNVFFLEFBQUQscUJBQVMsQ0FBQztJdkdvQlYsT0FBTyxFdUduQlEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQ3pCO0VBRUEsQUFBRCxxQkFBUyxDQUFDO0lBQ1IsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsTUFBTSxHQUNmO0VBRUEsQUFBRCxtQkFBTyxDQUFDO0lBQ04sU0FBUyxFcktESCxTQUF1QjtJcUtFN0IsS0FBSyxFN0ZrQ00sT0FBTztJNkZqQ2xCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBUXBCO0lyRzJEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xR3pFcEMsQUFBRCxtQkFBTyxDQUFDO1FBU0osYUFBYSxFQUFFLENBQUM7UUFDaEIsU0FBUyxFcktWTCxJQUF1QjtRcUtXM0IsV0FBVyxFQUFFLEdBQUc7UUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FFbkI7RUFFQSxBQUFELGtCQUFNLENBQUM7SUFDTCxVQUFVLEVBQUUsTUFBTSxHQWFuQjtJQWRBLEFBR0Msa0JBSEksQ0FHSixDQUFDLENBQUM7TUFDQSxTQUFTLEVyS3BCTCxPQUF1QjtNcUtxQjNCLE1BQU0sRUFBRSxDQUFDO01BQ1QsS0FBSyxFN0ZjSSxPQUFPO002RmJoQixXQUFXLEVBQUUsR0FBRyxHQU1qQjtNckc0Q0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRcUd6RHBDLEFBR0Msa0JBSEksQ0FHSixDQUFDLENBQUM7VUFPRSxTQUFTLEVySzFCUCxJQUF1QjtVcUsyQnpCLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0VBR0YsQUFBRCxrQkFBTSxDQUFDO0lBQ0wsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixpQkFBaUIsRUFBRSxHQUFHO0lBQ3RCLHFCQUFxQixFQUFFLGVBQWU7SUFDdEMsa0JBQWtCLEVBQUUsV0FBVztJQUMvQixtQkFBbUIsRUFDakIsa0VBRXNCO0lBQ3hCLEdBQUcsRUFBRSxJQUFJLEdBdU5WO0lyR3hMQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01xR3pDcEMsQUFBRCxrQkFBTSxDQUFDO1FBYUgsVUFBVSxFQUFFLElBQUk7UUFDaEIscUJBQXFCLEVBQUUsT0FBTztRQUM5QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsY0FBYztRQUN2QyxtQkFBbUIsRUFDakIsNERBSVk7UUFDZCxHQUFHLEVBQUUsSUFBSSxHQTJNWjtJQWpPQSxBQXlCQyxrQkF6QkksQ0F5QkosS0FBSyxDQUFDO01BQ0osZ0JBQWdCLEU3RnRCUCxPQUFPO002RnVCaEIsYUFBYSxFQUFFLElBQUk7TUFDbkIsT0FBTyxFQUFFLElBQUk7TUFDYixjQUFjLEVBQUUsTUFBTTtNQUN0QixRQUFRLEVBQUUsTUFBTSxHQXNLakI7TUFwTUYsQUFnQ0csa0JBaENFLENBeUJKLEtBQUssQUFPRixjQUFjLENBQUM7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLFVBQVUsRUFBRSxLQUFLLEdBS2xCO1FyR0VILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7VXFHekNwQyxBQWdDRyxrQkFoQ0UsQ0F5QkosS0FBSyxBQU9GLGNBQWMsQ0FBQztZQUtaLFVBQVUsRUFBRSxLQUFLLEdBRXBCO01BdkNKLEFBeUNHLGtCQXpDRSxDQXlCSixLQUFLLEFBZ0JGLFlBQWEsQ2pDdENGLENBQUMsRWlDc0NJO1FBQ2YsU0FBUyxFQUFFLEdBQUcsR0FDZjtNQTNDSixBQTZDRyxrQkE3Q0UsQ0F5QkosS0FBSyxBQW9CRixZQUFhLEM1RHhGVyxDQUFDLEU0RHdGVDtRQUNmLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO01BL0NKLEFBaURHLGtCQWpERSxDQXlCSixLQUFLLEFBd0JGLFlBQWEsQzVENUZXLENBQUMsRTRENEZUO1FBQ2YsU0FBUyxFQUFFLElBQUksR0FDaEI7TUFuREosQUFxREcsa0JBckRFLENBeUJKLEtBQUssQUE0QkYsWUFBYSxDNURoR1csQ0FBQyxFNERnR1Q7UUFDZixTQUFTLEVBQUUsSUFBSSxHQUNoQjtNQXZESixBQXlERyxrQkF6REUsQ0F5QkosS0FBSyxBQWdDRixZQUFhLEM1RHBHVyxDQUFDLEU0RG9HVDtRQUNmLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7TUEzREosQUE2REcsa0JBN0RFLENBeUJKLEtBQUssQUFvQ0YsWUFBYSxDQUFBLENBQUMsRUFBRTtRQUNmLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO01BL0RKLEFBaUVHLGtCQWpFRSxDQXlCSixLQUFLLEFBd0NGLFlBQWEsQ0FBQSxDQUFDLEVBQUU7UUFDZixTQUFTLEVBQUUsS0FBSyxHQUNqQjtNQW5FSixBQXFFRyxrQkFyRUUsQ0F5QkosS0FBSyxBQTRDRixZQUFhLENBQUEsQ0FBQyxFQUFFO1FBQ2YsU0FBUyxFQUFFLElBQUksR0FDaEI7TUF2RUosQUF5RUcsa0JBekVFLENBeUVELFlBQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxLQUFLO1FBQ2QsTUFBTSxFQUFFLElBQUk7UUFDWixRQUFRLEVBQUUsUUFBUSxHQUNuQjtNQTdFSixBQStFRyxrQkEvRUUsQ0ErRUQsZ0JBQVcsQ0FBQztRQUNYLG1CQUFtQixFQUFFLE1BQU07UUFDM0IsaUJBQWlCLEVBQUUsU0FBUztRQUM1QixlQUFlLEVBQUUsS0FBSyxHQUN2QjtNQW5GSixBQXFGRyxrQkFyRkUsQ0FxRkQsYUFBUSxDQUFDO1FBQ1IsT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUUsTUFBTTtRQUN0QixNQUFNLEVBQUUsSUFBSTtRdkc5R2xCLE9BQU8sRXVHK0dZLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQVM1QjtRckd6REgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVcUd6Q3JDLEFBcUZHLGtCQXJGRSxDQXFGRCxhQUFRLENBQUM7WXZHM0dkLE9BQU8sRXVHa0hjLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQU05QjtRckd6REgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztVcUd6Q3BDLEFBcUZHLGtCQXJGRSxDQXFGRCxhQUFRLENBQUM7WXZHM0dkLE9BQU8sRXVHc0hjLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUU3QjtNQWxHSixBQW9HRyxrQkFwR0UsQ0FvR0QsV0FBTSxDQUFDO1FBQ04sU0FBUyxFcktySVAsUUFBdUI7UXFLc0l6QixXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEU3RjlGSixJQUFJO1E2RitGTCxjQUFjLEVBQUUsT0FBTztRQUN2QixhQUFhLEVBQUUsSUFBSTtRQUNuQixXQUFXLEVBQUUsR0FBRyxHQUtqQjtRckd0RUgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVcUd6Q3JDLEFBb0dHLGtCQXBHRSxDQW9HRCxXQUFNLENBQUM7WUFTSixTQUFTLEVySzdJVCxJQUF1QixHcUsrSTFCO01BL0dKLEFBaUhHLGtCQWpIRSxDQWlIRCxTQUFJLENBQUM7UUFDSixNQUFNLEVBQUUsQ0FBQztRQUNULFNBQVMsRXJLbkpQLFNBQXVCO1FxS29KekIsS0FBSyxFN0YzR0osSUFBSTtRNkY0R0wsV0FBVyxFQUFFLEdBQUcsR0FLakI7UXJHakZILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07VXFHekNyQyxBQWlIRyxrQkFqSEUsQ0FpSEQsU0FBSSxDQUFDO1lBT0YsU0FBUyxFckt4SlQsTUFBdUIsR3FLMEoxQjtNQTFISixBQTRIRyxrQkE1SEUsQ0E0SEQsVUFBSyxDQUFDO1FBQ0wsVUFBVSxFQUFFLElBQUk7UUFDaEIsS0FBSyxFN0ZySEosSUFBSTtRNkZzSEwsU0FBUyxFcksvSlAsU0FBdUIsR3FLd0sxQjtRckcvRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVcUd6Q3JDLEFBNEhHLGtCQTVIRSxDQTRIRCxVQUFLLENBQUM7WUFNSCxXQUFXLEVBQUUsR0FBRyxHQU1uQjtRQXhJSixBQXFJSyxrQkFySUEsQ0E0SEQsVUFBSyxBQVNILElBQUksQ0FBQztVQUNKLFVBQVUsRUFBRSxDQUNkLEdBQUM7TUF2SU4sQUEySUssa0JBM0lBLENBMElELFdBQU0sQ0FDTCxnQkFBZ0IsQ0FBQztRQUNmLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxDQUFDO1FBQ04sSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7TUFqSk4sQUFtSkssa0JBbkpBLENBMElELFdBQU0sQ0FTTCxhQUFhLENBQUM7UUFDWixRQUFRLEVBQUUsUUFBUTtRQUNsQixLQUFLLEVBQUUsS0FBSztRdkczS3BCLE9BQU8sRXVHNEtjLENBQUM7UUFDZCxNQUFNLEVBQUUsZ0JBQWdCLEdBS3pCO1FyR25ITCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1VxR3pDcEMsQUFtSkssa0JBbkpBLENBMElELFdBQU0sQ0FTTCxhQUFhLENBQUM7WUFPVixNQUFNLEVBQUUsZ0JBQWdCLEdBRTNCO01BNUpOLEFBOEpLLGtCQTlKQSxDQTBJRCxXQUFNLENBb0JMLFdBQVcsQ0FBQztRQUNWLEtBQUssRTdGbEpLLE9BQU87UTZGbUpqQixTQUFTLEVyS2hNVCxNQUF1QixHcUtxTXhCO1FyRzVITCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1VxR3pDcEMsQUE4Skssa0JBOUpBLENBMElELFdBQU0sQ0FvQkwsV0FBVyxDQUFDO1lBS1IsV0FBVyxFQUFFLEdBQUcsR0FFbkI7TUFyS04sQUF1S0ssa0JBdktBLENBMElELFdBQU0sQ0E2QkwsU0FBUyxDQUFDO1FBQ1IsS0FBSyxFN0YzSkssT0FBTztRNkY0SmpCLGFBQWEsRUFBRSxJQUFJLEdBTXBCO1FyR3RJTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1VxR3pDcEMsQUF1S0ssa0JBdktBLENBMElELFdBQU0sQ0E2QkwsU0FBUyxDQUFDO1lBS04sU0FBUyxFcks1TVgsU0FBdUI7WXFLNk1yQixhQUFhLEVBQUUsSUFBSSxHQUV0QjtNQS9LTixBQWlMSyxrQkFqTEEsQ0EwSUQsV0FBTSxDQXVDTCxVQUFVLENBQUM7UUFDVCxVQUFVLEVBQUUsUUFBUSxHQVlyQjtRQTlMTixBQW9MTyxrQkFwTEYsQ0EwSUQsV0FBTSxDQXVDTCxVQUFVLEFBR1AsSUFBSSxDQUFDO1V2RzFNZCxPQUFPLEV1RzJNZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1VBQzFCLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLFNBQVMsRXJLdk5YLFFBQXVCLEdxSzZOdEI7VXJHcEpQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7WXFHekNwQyxBQW9MTyxrQkFwTEYsQ0EwSUQsV0FBTSxDQXVDTCxVQUFVLEFBR1AsSUFBSSxDQUFDO2NBTUYsV0FBVyxFQUFFLEdBQUc7Y3ZHaE41QixPQUFPLEV1R2lOa0IsR0FBRyxDQUFDLElBQUksR0FFeEI7TUE3TFIsQUFpTUcsa0JBak1FLENBaU1ELGFBQVEsQ0FBQztRQUNSLGNBQWMsRUFBRSxJQUNsQixHQUFDO0lBbk1KLEFBc01DLGtCQXRNSSxDQXNNSixhQUFhLENBQUM7TXZHNU5oQixPQUFPLEV1RzZOVSxDQUFDLENBQUMsSUFBSTtNQUNuQixPQUFPLEVBQUUsSUFBSTtNQUNiLGVBQWUsRUFBRSxhQUFhLEdBdUIvQjtNQWhPRixBQTJNRyxrQkEzTUUsQ0EyTUQsa0JBQUssQ0FBQztRQUNMLE1BQU0sRUFBRSxDQUFDO1FBQ1QsZ0JBQWdCLEU3RnBNZixJQUFJO1E2RnFNTCxVQUFVLEVBQUUsSUFBSTtRQUNoQixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJLEdBZVo7UXJHdExILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07VXFHekNyQyxBQTJNRyxrQkEzTUUsQ0EyTUQsa0JBQUssQ0FBQztZQVFILEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLElBQUksR0FXZjtRQS9OSixBQXVOSyxrQkF2TkEsQ0EyTUQsa0JBQUssQ0FZSixJQUFJLENBQUM7VUFDSCxPQUFPLEVBQUUsSUFBSSxHQUNkO1FBek5OLEFBMk5LLGtCQTNOQSxDQTJNRCxrQkFBSyxDQWdCSixDQUFDO1FBM05OLGtCQUFLLENBMk1ELGtCQUFLLENBaUJKLElBQUksQ0FBQztVQUNILElBQUksRTdGek5DLE9BQU8sRzZGME5iOztBQzNRVCxtQ0FBbUM7QUFDbkMsQUFBQSxhQUFhLENBQUM7RUFtUVosNEJBQTRCO0VBdUc1Qiw0QkFBNEI7RUE2UjVCLDZCQUE2QjtFQVE3QixnQ0FBZ0M7RUF5QmhDLDJCQUEyQjtFQXNFM0IsNEJBQTRCO0VBMEY1QixtQ0FBbUM7RUEwSW5DLHVDQUF1QztFQW9IdkMsc0JBQXNCLEVBMlF2QjtFQWoxQ0QsQUFFRSxhQUZXLENBRVgsa0JBQWtCLENBQUM7STNHOERqQixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO0lJcUUxQyxLQUFLLEVKMUVELFNBQXFDO0krR0wzQyxLQUFLLEVBQUUsS0FBSyxHQU1iO0lBVkgsQTNHcUZNLGEyR3JGTyxDQUVYLGtCQUFrQixBM0dtRmIsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0dyRnZDLEFBRUUsYUFGVyxDQUVYLGtCQUFrQixDQUFDO1FBS2YsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSSxHQUVkO0VBVkgsQUFZRSxhQVpXLENBWVgsb0JBQW9CLENBQUM7SUFDbkIsT0FBTyxFQUFFLE1BQU07STNHbURmLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsU0FBcUM7SStHTTNDLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUZEVixPQUFPO0k4RkVyQixRQUFRLEVBQUUsTUFBTTtJOUhSWixrQkFBb0IsRThIU0osR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0k5SEpoQyxlQUFpQixFOEhJRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07STlIV2hDLFVBQVksRThIWEksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBMkxyQztJQTVNSCxBM0dxRk0sYTJHckZPLENBWVgsb0JBQW9CLEEzR3lFZixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7STJHdkZQLEFBbUJJLGFBbkJTLENBWVgsb0JBQW9CLENBT2xCLHVCQUF1QixDQUFDO01BQ3RCLFFBQVEsRUFBRSxNQUFNO01BQ2hCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUF0QkwsQUF3QkksYUF4QlMsQ0FZWCxvQkFBb0IsQ0FZbEIsS0FBSyxDQUFDO01BQ0osS0FBSyxFQUFFLElBQUk7TUFDWCxTQUFTLEV0S2RMLFNBQXVCO01zS2UzQixLQUFLLEU5RmxCZSxPQUFPO004Rm1CM0IsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUE3QkwsQUErQkksYUEvQlMsQ0FZWCxvQkFBb0IsQ0FtQmxCLE1BQU0sQ0FBQztNQUNMLEtBQUssRUFBRSxLQUFLO01BQ1osU0FBUyxFdkt2QkwsTUFBc0IsR3VLd0IzQjtJQWxDTCxBM0dxRk0sYTJHckZPLENBWVgsb0JBQW9CLEEzR3lFZixXQUFXLEMyR2pERDtNQUNYLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lBdENMLEFBd0NJLGFBeENTLENBWVgsb0JBQW9CLENBNEJsQiw0QkFBNEIsQ0FBQztNQUMzQixPQUFPLEVBQUUsSUFBSTtNQUNiLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lBM0NMLEFBNkNJLGFBN0NTLENBWVgsb0JBQW9CLEFBaUNqQixLQUFLLENBQUM7TUFDTCxPQUFPLEVBQUUsTUFBTSxHQU1oQjtNQXBETCxBQWdETSxhQWhETyxDQVlYLG9CQUFvQixBQWlDakIsS0FBSyxDQUdKLDRCQUE0QixDQUFDO1FBQzNCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLElBQUksR0FDakI7SUFuRFAsQUFzREksYUF0RFMsQ0FZWCxvQkFBb0IsQ0EwQ2xCLEtBQUssQ0FBQztNQUNKLFNBQVMsRXZLN0NMLFFBQXNCO011SzhDMUIsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUF6REwsQUEyREksYUEzRFMsQ0FZWCxvQkFBb0IsQ0ErQ2xCLEtBQUssQ0FBQSxBQUFBLEdBQUMsQ0FBRCxlQUFDLEFBQUE7SUEzRFYsYUFBYSxDQVlYLG9CQUFvQixDQWdEbEIsS0FBSyxDQUFBLEFBQUEsR0FBQyxDQUFELGdCQUFDLEFBQUEsRUFBc0I7TUFDMUIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLENBQUM7TUFDUixNQUFNLEVBQUUsT0FBTztNQUNmLEtBQUssRTlGZE0sT0FBTyxHOEZvQm5CO01BdEVMLEFBa0VNLGFBbEVPLENBWVgsb0JBQW9CLENBK0NsQixLQUFLLENBQUEsQUFBQSxHQUFDLENBQUQsZUFBQyxBQUFBLEVBT0osZ0JBQWdCO01BbEV0QixhQUFhLENBWVgsb0JBQW9CLENBK0NsQixLQUFLLENBQUEsQUFBQSxHQUFDLENBQUQsZUFBQyxBQUFBLEVBUUosaUJBQWlCO01BbkV2QixhQUFhLENBWVgsb0JBQW9CLENBZ0RsQixLQUFLLENBQUEsQUFBQSxHQUFDLENBQUQsZ0JBQUMsQUFBQSxFQU1KLGdCQUFnQjtNQWxFdEIsYUFBYSxDQVlYLG9CQUFvQixDQWdEbEIsS0FBSyxDQUFBLEFBQUEsR0FBQyxDQUFELGdCQUFDLEFBQUEsRUFPSixpQkFBaUIsQ0FBQztRQUNoQixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBckVQLEFBd0VJLGFBeEVTLENBWVgsb0JBQW9CLENBNERsQixjQUFjLEFBQUEsT0FBTyxDQUFDO01BQ3BCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUExRUwsQUE0RUksYUE1RVMsQ0FZWCxvQkFBb0IsQ0FnRWxCLFVBQVUsQ0FBQztNQUNULFFBQVEsRUFBRSxRQUFRO01BQ2xCLFVBQVUsRUFBRSxDQUFDLEdBYWQ7TUEzRkwsQUFnRk0sYUFoRk8sQ0FZWCxvQkFBb0IsQ0FnRWxCLFVBQVUsQUFJUCxLQUFLLENBQUM7UTNHaEJULEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsRytHeUV4QztRQWxGUCxBM0dxRk0sYTJHckZPLENBWVgsb0JBQW9CLENBZ0VsQixVQUFVLEFBSVAsS0FBSyxBM0dLTCxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TTJHdkZQLEFBb0ZNLGFBcEZPLENBWVgsb0JBQW9CLENBZ0VsQixVQUFVLEFBUVAsTUFBTSxDQUFDO1E3RzlCUixZQUFvQixFQUFTLENBQUMsRzZHZ0M3QjtNQXRGUCxBQXdGTSxhQXhGTyxDQVlYLG9CQUFvQixDQWdFbEIsVUFBVSxBQVlQLE1BQU0sQ0FBQztRQUNOLEtBQUssRUFBRSxJQUFJLEdBQ1o7SUExRlAsQUE2RkksYUE3RlMsQ0FZWCxvQkFBb0IsQ0FpRmxCLG1CQUFtQixDQUFDO01BQ2xCLE9BQU8sRUFBRSxLQUFLO01BQ2QsYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUFoR0wsQUFrR0ksYUFsR1MsQ0FZWCxvQkFBb0IsQ0FzRmxCLGFBQWEsQ0FBQztNQUNaLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixRQUFRLEVBQUUsTUFBTTtNQUNoQixhQUFhLEVBQUUsR0FBRztNQUNsQixZQUFZLEVBQUUsSUFBSTtNQUNsQixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxPQUFPLEdBT2hCO01BaEhMLEFBMkdNLGFBM0dPLENBWVgsb0JBQW9CLENBc0ZsQixhQUFhLENBU1gsR0FBRyxDQUFDO1FBQ0YsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SUEvR1AsQUFrSEksYUFsSFMsQ0FZWCxvQkFBb0IsQ0FzR2xCLGtCQUFrQixDQUFDO01BQ2pCLEtBQUssRTlGM0dlLE9BQU87TThGNEczQixTQUFTLEV0S3hHTCxTQUF1QjtNc0t5RzNCLFVBQVUsRUFBRSxHQUFHLEdBQ2hCO0lBdEhMLEFBd0hJLGFBeEhTLENBWVgsb0JBQW9CLENBNEdsQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssU0FBUyxBQUFkLEVBQWdCO01BQ3BCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUExSEwsQUE0SEksYUE1SFMsQ0FZWCxvQkFBb0IsQ0FnSGxCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtNQUNqQixTQUFTLEV2S25ITCxRQUFzQixHdUtvSDNCO0lBOUhMLEFBZ0lJLGFBaElTLENBWVgsb0JBQW9CLENBb0hsQixhQUFhLENBQUM7TUFDWixLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxNQUFNO01BQ2xCLE1BQU0sRUFBRSxPQUFPO01BQ2YsV0FBVyxFQUFFLElBQUksR0FXbEI7TUEvSUwsQUFzSU0sYUF0SU8sQ0FZWCxvQkFBb0IsQ0FvSGxCLGFBQWEsQ0FNWCxLQUFLLENBQUM7UUFDSixPQUFPLEVBQUUsWUFBWTtRQUNyQixNQUFNLEVBQUUsTUFBTSxHQU1mO1FBOUlQLEFBMElRLGFBMUlLLENBWVgsb0JBQW9CLENBb0hsQixhQUFhLENBTVgsS0FBSyxDQUlGLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO1VBQ2YsZ0JBQWdCLEU5RjNGWCxPQUFPO1U4RjRGWixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJQTdJVCxBQW1KTSxhQW5KTyxDQVlYLG9CQUFvQixDQXFJbEIsZ0JBQWdCLENBRWQsS0FBSyxDQUFDO01BQ0osWUFBWSxFOUZ2SEosT0FBTyxHOEZ3SGhCO0lBckpQLEFBd0pJLGFBeEpTLENBWVgsb0JBQW9CLENBNElsQixjQUFjLENBQUM7TUFDYixTQUFTLEV2Sy9JTCxRQUFzQjtNdUtnSjFCLEtBQUssRTlGN0hLLE9BQU87TThGOEhqQixXQUFXLEVBQUUsR0FBRztNQUNoQixVQUFVLEVBQUUsR0FBRyxHQUNoQjtJQTdKTCxBQStKSSxhQS9KUyxDQVlYLG9CQUFvQixDQW1KbEIsb0JBQW9CLENBQUM7TTVIckpyQixNQUFNLEU0SHNKVSxJQUFJO001SDlJcEIsS0FBSyxFNEg4SVcsSUFBSTtNQUNsQixVQUFVLEU5RjVJSSxPQUFPO004RjZJckIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RnBKTCxPQUFPO004RnFKbkIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsVUFBVSxFQUFFLE1BQU07TUFDbEIsTUFBTSxFQUFFLE9BQU87TUFDZixLQUFLLEVBQUUsSUFBSTtNQUNYLFlBQVksRUFBRSxJQUFJLEdBZW5CO01BdExMLEFBeUtNLGFBektPLENBWVgsb0JBQW9CLENBbUpsQixvQkFBb0IsQ0FVbEIsSUFBSSxDQUFDO1FBQ0gsU0FBUyxFdktoS1AsTUFBc0I7UXVLaUt4QixLQUFLLEU5RnhKQSxPQUFPO1E4RnlKWixPQUFPLEVBQUUsWUFBWTtRQUNyQixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLE1BQU07UUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RjdKWixPQUFPO1E4RjhKWixXQUFXLEVBQUUsQ0FBQztRQUNkLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0l0R2hHSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zR3JGdkMsQUFZRSxhQVpXLENBWVgsb0JBQW9CLENBQUM7UUE2S2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FrQmxCO0l0R3ZIQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zR3JGdkMsQUFZRSxhQVpXLENBWVgsb0JBQW9CLENBQUM7UUFrTGpCLE9BQU8sRUFBRSxNQUFNLEdBY2xCO1FBNU1ILEFBNkNJLGFBN0NTLENBWVgsb0JBQW9CLEFBaUNqQixLQUFLLENBbUpHO1VBQ0wsT0FBTyxFQUFFLE1BQU0sR0FDaEI7UUFsTVAsQUE0RUksYUE1RVMsQ0FZWCxvQkFBb0IsQ0FnRWxCLFVBQVUsQ0F3SEc7VUFDVCxLQUFLLEVBQUUsSUFBSSxHQUtaO1VBMU1QLEFBZ0ZNLGFBaEZPLENBWVgsb0JBQW9CLENBZ0VsQixVQUFVLEFBSVAsS0FBSyxDQXVIRztZQUNMLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUF6TVQsQUE4TUUsYUE5TVcsQ0E4TVgsUUFBUTtFQTlNVixhQUFhLENBK01YLGdCQUFnQixDQUFDO0lBQ2YsT0FBTyxFQUFFLENBQUMsR0FDWDtFQWpOSCxBQTBOSSxhQTFOUyxDQXFOWCx1QkFBdUIsQ0FLckIsWUFBWTtFQTFOaEIsYUFBYSxDQXNOWCwrQkFBK0IsQ0FJN0IsWUFBWTtFQTFOaEIsYUFBYSxDQXVOWCx1QkFBdUIsQ0FHckIsWUFBWTtFQTFOaEIsYUFBYSxDQXdOWCxzQkFBc0IsQ0FFcEIsWUFBWTtFQTFOaEIsYUFBYSxDQXlOWCw2QkFBNkIsQ0FDM0IsWUFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUksR0FDZDtFQTVOTCxBQStORSxhQS9OVyxDQStOWCx1QkFBdUIsQ0FBQztJQUN0QixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQWpPSCxBQW1PRSxhQW5PVyxDQW1PWCx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7SUFDbEMsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFyT0gsQUF3T0ksYUF4T1MsQ0F1T1gsNkJBQTZCLENBQzNCLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUExT0wsQUE2T0UsYUE3T1csQ0E2T1gsK0JBQStCLENBQUM7SUFDOUIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsVUFBVSxFQUFFLEtBQUssR0FLbEI7SUFwUEgsQUFpUEksYUFqUFMsQ0E2T1gsK0JBQStCLENBSTdCLFlBQVksQ0FBQztNQUNYLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFuUEwsQUF3UEksYUF4UFMsQ0FzUFgsMEJBQTBCLENBRXhCLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxDQUFDLEdBT1g7SUFoUUwsQUEyUE0sYUEzUE8sQ0FzUFgsMEJBQTBCLENBRXhCLGFBQWEsQ0FHWCxFQUFFLENBQUM7TUFDRCxjQUFjLEVBQUUsR0FBRztNQUNuQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQTlQUCxBQXNRSSxhQXRRUyxDQW9RWCxRQUFRLENBRU4sT0FBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLEtBQUssR0FDckI7RUF4UUwsQUEwUUksYUExUVMsQ0FvUVgsUUFBUSxDQU1OLENBQUM7RUExUUwsYUFBYSxDQW9RWCxRQUFRLENBT04sS0FBSyxDQUFDO0lBQ0osU0FBUyxFdktsUUwsUUFBc0I7SXVLbVExQixLQUFLLEU5RnJRZSxPQUFPLEc4RnNRNUI7RUE5UUwsQUFnUkksYUFoUlMsQ0FvUVgsUUFBUSxDQVlOLFdBQVcsQ0FBQztJQUNWLFNBQVMsRXRLclFMLE1BQXVCO0lzS3NRM0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsUUFBUSxFQUFFLE1BQU07SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTSxHQXNFcEI7SUEvVkwsQUEyUk0sYUEzUk8sQ0FvUVgsUUFBUSxDQVlOLFdBQVcsQ0FXVCxDQUFDLENBQUM7TUFDQSxTQUFTLEV0S2hSUCxJQUF1QjtNc0tpUnpCLE9BQU8sRUFBRSxLQUFLO01BQ2QsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLENBQUM7TUFDZCxjQUFjLEVBQUUsT0FBTztNQUN2QixRQUFRLEVBQUUsUUFBUTtNQUNsQixjQUFjLEVBQUUsU0FBUztNQUN6QixXQUFXLEVBQUUsSUFBSTtNQUNqQixnQkFBZ0IsRTlGcFBULE9BQU87TThGcVBkLGFBQWEsRUFBRSxJQUFJO01BQ25CLEtBQUssRTlGalBKLElBQUk7TVYvQlgsT0FBTyxFd0dpUlksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtNQUVoQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlGelBWLE9BQU87TThGMFBkLG1CQUFtQixFQUFFLHVCQUF1QjtNQUM1QyxtQkFBbUIsRUFBRSxJQUFJO01BQ3pCLDBCQUEwQixFQUFFLFdBQVcsR0FnQnhDO01BNVRQLEE1RmlFRSxhNEZqRVcsQ0FvUVgsUUFBUSxDQVlOLFdBQVcsQ0FXVCxDQUFDLEE1RjFOSixPQUFPLENBQUM7UUFDUCxHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSxDQUFDO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLEtBQUs7UUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtRRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtNNEYzRUgsQUE4U1EsYUE5U0ssQ0FvUVgsUUFBUSxDQVlOLFdBQVcsQ0FXVCxDQUFDLEFBbUJFLE1BQU0sQ0FBQztRQUNOLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLGdCQUFnQixFOUYzUGpCLElBQUk7UThGNFBILEtBQUssRTlGalFBLE9BQU8sRzhGc1FiO1FBdFRULEFBbVRVLGFBblRHLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBV1QsQ0FBQyxBQW1CRSxNQUFNLEFBS0osT0FBTyxDQUFDO1VBQ1AsVUFBVSxFQUFFLEdBQUcsQ0FBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQzlGcFFyQixPQUFPLEc4RnFRWDtNQXJUWCxBNUZpRUUsYTRGakVXLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBV1QsQ0FBQyxBNUYxTkosT0FBTyxDNEZ1UE87UUFDUCxXQUFXLEVBQUUsR0FBRztRQUNoQixVQUFVLEVBQUUsMkJBQTJCLEdBQ3hDO0lBM1RULEFBOFRNLGFBOVRPLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBOENULEtBQUssQ0FBQztNQUNKLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixhQUFhLEVBQUUsR0FBRztNQUNsQixVQUFVLEU5RjVUQyxPQUFPO004RjZUbEIsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLE1BQU07TUFDdEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsbUJBQW1CLEVBQUUsYUFBYTtNQUNsQyxpQkFBaUIsRUFBRSxTQUFTO01BQzVCLGVBQWUsRUFBRSxHQUFHLEdBc0JyQjtNQTlWUCxBQTBVUSxhQTFVSyxDQW9RWCxRQUFRLENBWU4sV0FBVyxDQThDVCxLQUFLLEFBWUYsY0FBYyxDQUFDO1FBQ2QsZ0JBQWdCLEVBQUUsb0RBQW9ELEdBQ3ZFO01BNVVULEFBOFVRLGFBOVVLLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBOENULEtBQUssQUFnQkYsY0FBYyxDQUFDO1FBQ2QsZ0JBQWdCLEVBQUUsOENBQThDLEdBQ2pFO01BaFZULEFBa1ZRLGFBbFZLLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBOENULEtBQUssQUFvQkYsaUJBQWlCLENBQUM7UUFDakIsZ0JBQWdCLEVBQUUsaURBQWlELEdBQ3BFO01BcFZULEFBc1ZRLGFBdFZLLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBOENULEtBQUssQUF3QkYsVUFBVSxDQUFDO1FBQ1YsZ0JBQWdCLEVBQUUsMENBQTBDLEdBQzdEO01BeFZULEFBMFZRLGFBMVZLLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBOENULEtBQUssQUE0QkYsY0FBYyxDQUFDO1FBQ2QsZ0JBQWdCLEVBQUUseUNBQXlDO1FBQzNELGVBQWUsRUFBRSxHQUFHLEdBQ3JCO0V0R3hRTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzR3JGdkMsQUFnUkksYUFoUlMsQ0FvUVgsUUFBUSxDQVlOLFdBQVcsQ0FtRkc7TUFDVixTQUFTLEV0S3hWUCxPQUF1QjtNc0t5VnpCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBdFdQLEFBNFdJLGFBNVdTLENBMldYLHFCQUFxQixDQUNuQixDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsSUFBSSxHQUNqQjtFdEd6UkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0dyRnZDLEFBbVhNLGFBblhPLENBaVhYLGFBQWEsQ0FFVCxFQUFFLENBQUM7TUFDRCxZQUFZLEVBQUUsS0FBSyxHQUNwQjtFQXJYUCxBQXlYRSxhQXpYVyxDQXlYWCxhQUFhLENBQUM7SUFhWixNQUFNLEVBQUUsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0k5SGhZZixrQkFBb0IsRThIaVlKLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJOUg1WGhDLGVBQWlCLEU4SDRYRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07STlIN1doQyxVQUFZLEU4SDZXSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07SUFDcEMsWUFBWSxFQUFFLENBQUMsR0FpUGhCO0lBM25CSCxBQTJYSSxhQTNYUyxDQXlYWCxhQUFhLENBRVgsc0JBQXNCLEVBM1gxQixhQUFhLENBeVhYLGFBQWEsQ3BFMVhmLGVBQWUsQ0F1TWIsWUFBWSxFQXZNZCxlQUFlLENvRUNmLGFBQWEsQ0F5WFgsYUFBYSxDcEVuTGIsWUFBWSxFb0V0TWQsYUFBYSxDQXlYWCxhQUFhLENqQnJRZix3QkFBd0IsQ0FpYXRCLGlCQUFpQixDQVFmLFlBQVksRUF6YWhCLHdCQUF3QixDQWlhdEIsaUJBQWlCLENpQnJoQm5CLGFBQWEsQ0F5WFgsYUFBYSxDakJvS1gsWUFBWTtJaUI3aEJoQixhQUFhLENBeVhYLGFBQWEsQ2pCclFmLHdCQUF3QixDQWthdEIsb0JBQW9CLENBT2xCLFlBQVksRUF6YWhCLHdCQUF3QixDQWthdEIsb0JBQW9CLENpQnRoQnRCLGFBQWEsQ0F5WFgsYUFBYSxDakJvS1gsWUFBWSxDaUJsS1c7TUFFckIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7SUE5WEwsQUFpWU0sYUFqWU8sQ0F5WFgsYUFBYSxBQU9WLFNBQVMsQ0FDUixzQkFBc0IsRUFqWTVCLGFBQWEsQ0F5WFgsYUFBYSxBQU9WLFNBQVMsQ3BFallkLGVBQWUsQ0F1TWIsWUFBWSxFQXZNZCxlQUFlLENvRUNmLGFBQWEsQ0F5WFgsYUFBYSxBQU9WLFNBQVMsQ3BFMUxaLFlBQVksRW9FdE1kLGFBQWEsQ0F5WFgsYUFBYSxBQU9WLFNBQVMsQ2pCNVFkLHdCQUF3QixDQWlhdEIsaUJBQWlCLENBUWYsWUFBWSxFQXphaEIsd0JBQXdCLENBaWF0QixpQkFBaUIsQ2lCcmhCbkIsYUFBYSxDQXlYWCxhQUFhLEFBT1YsU0FBUyxDakI2SlYsWUFBWTtJaUI3aEJoQixhQUFhLENBeVhYLGFBQWEsQUFPVixTQUFTLENqQjVRZCx3QkFBd0IsQ0FrYXRCLG9CQUFvQixDQU9sQixZQUFZLEVBemFoQix3QkFBd0IsQ0FrYXRCLG9CQUFvQixDaUJ0aEJ0QixhQUFhLENBeVhYLGFBQWEsQUFPVixTQUFTLENqQjZKVixZQUFZLENpQjVKYTtNQUNyQixHQUFHLEVBQUUsSUFBSSxHQUNWO0lBbllQLEFBNFlJLGFBNVlTLENBeVhYLGFBQWEsQ0FtQlgsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLEtBQUs7TTlIcllaLGtCQUFvQixFOEhzWUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO005SGpZbEMsZUFBaUIsRThIaVlDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtNOUhsWGxDLFVBQVksRThIa1hNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNyQztJQS9ZTCxBQTZaSSxhQTdaUyxDQXlYWCxhQUFhLENBb0NYLEtBQUssQ0FBQztNQUNKLEtBQUssRUFBRSxJQUFJLEdBQ1o7SUEvWkwsQUFpYUksYUFqYVMsQ0F5WFgsYUFBYSxDQXdDWCxxQkFBcUIsQ0FBQztNL0hoWnhCLFFBQVEsRStIaVpjLFFBQVE7TS9IN1kxQixHQUFVLEUrSDZZa0IsQ0FBQztNL0g3WTdCLEtBQVUsRStINllvQixJQUFJLEdBbUJuQztNQXJiTCxBQW9hTSxhQXBhTyxDQXlYWCxhQUFhLENBd0NYLHFCQUFxQixDQUduQixFQUFFLENBQUM7UUFDRCxLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxJQUFJLEdBS2xCO1FBM2FQLEFBd2FRLGFBeGFLLENBeVhYLGFBQWEsQ0F3Q1gscUJBQXFCLENBR25CLEVBQUUsQUFJQyxjQUFjLENBQUM7VUFDZCxXQUFXLEVBQUUsQ0FBQyxHQUNmO01BMWFULEFBNmFNLGFBN2FPLENBeVhYLGFBQWEsQ0F3Q1gscUJBQXFCLENBWW5CLENBQUMsQ0FBQztRQUNBLEtBQUssRTlGaFpLLE9BQU87UThGaVpqQixTQUFTLEV0S25hUCxPQUF1QjtRc0tvYXpCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFVBQVUsRUFBRSxnQkFBZ0IsR0FDN0I7SUFwYlAsQUF1YkksYUF2YlMsQ0F5WFgsYUFBYSxDQThEWCxtQkFBbUIsQ0FBQztNQUNsQixRQUFRLEVBQUUsUUFBUTtNQUNsQixTQUFTLEV2Sy9hTCxRQUFzQjtNdUtnYjFCLEtBQUssRTlGcGJRLE9BQU87TThGcWJwQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsT0FBTztNQUN2QixNQUFNLEVBQUUsQ0FBQztNQUNULGFBQWEsRUFBRSxHQUFHO01BQ2xCLEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFQUFFLGtCQUFrQixHQVM5QjtJQTFjTCxBQTRjSSxhQTVjUyxDQXlYWCxhQUFhLENBbUZYLGtCQUFrQixDQUFDO01BQ2pCLEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFdktwY0wsUUFBc0I7TXVLcWMxQixjQUFjLEVBQUUsU0FBUztNQUN6QixXQUFXLEVBQUUsTUFBTTtNQUNuQixLQUFLLEU5RnpjZSxPQUFPO004RjBjM0IsTUFBTSxFQUFFLFNBQVMsR0FDbEI7SUFuZEwsQUFxZEksYUFyZFMsQ0F5WFgsYUFBYSxDQTRGWCxxQkFBcUIsQ0FBQztNQUNwQixTQUFTLEV2SzVjTCxRQUFzQjtNdUs2YzFCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGFBQWEsRUFBRSxJQUFJO01BQ25CLEtBQUssRTlGbGRlLE9BQU87TThGbWQzQixVQUFVLEVBQUUsVUFBVSxHQUN2QjtJQTVkTCxBQThkSSxhQTlkUyxDQXlYWCxhQUFhLENBcUdYLEtBQUssR0FBQyxDQUFDO0lBOWRYLGFBQWEsQ0F5WFgsYUFBYSxDQXNHWCxtQkFBbUIsQ0FBQztNQUNsQixVQUFVLEVBQUUsSUFBSTtNQUNoQixPQUFPLEVBQUUsV0FBVyxHQUNyQjtJQWxlTCxBQW9lSSxhQXBlUyxDQXlYWCxhQUFhLENBMkdYLG1CQUFtQixDQUFDO01BQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0lBdGVMLEFBd2VJLGFBeGVTLENBeVhYLGFBQWEsQ0ErR1gsbUJBQW1CLENBQUM7TUFDbEIsT0FBTyxFQUFFLElBQUksR0FDZDtJQTFlTCxBQTRlSSxhQTVlUyxDQXlYWCxhQUFhLEFBbUhWLEtBQUssQ0FBQztNQUNMLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDOUYvZEwsT0FBTztNOEZnZW5CLFFBQVEsRUFBRSxRQUFRLEdBb0NuQjtNQWxoQkwsQUFnZk0sYUFoZk8sQ0F5WFgsYUFBYSxBQW1IVixLQUFLLENBSUosRUFBRSxBQUFBLE1BQU0sQ0FBQztRQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUFsZlAsQUFvZk0sYUFwZk8sQ0F5WFgsYUFBYSxBQW1IVixLQUFLLENBUUosYUFBYSxDQUFDO1FBQ1osT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixVQUFVLEU5RnpkRixPQUFPLEc4RjBkaEI7TUF2ZlAsQUF5Zk0sYUF6Zk8sQ0F5WFgsYUFBYSxBQW1IVixLQUFLLENBYUosbUJBQW1CLENBQUM7UUFDbEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLEdBQUc7UUFDUixLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxLQUFLO1FBQ2QsS0FBSyxFOUZyZUwsSUFBSTtROEZzZUosU0FBUyxFdktyZlAsT0FBc0I7UXVLc2Z4QixXQUFXLEVBQUUsQ0FBQyxHQUNmO01BamdCUCxBQW1nQk0sYUFuZ0JPLENBeVhYLGFBQWEsQUFtSFYsS0FBSyxDQXVCSixtQkFBbUI7TUFuZ0J6QixhQUFhLENBeVhYLGFBQWEsQUFtSFYsS0FBSyxDQXdCSixrQkFBa0I7TUFwZ0J4QixhQUFhLENBeVhYLGFBQWEsQUFtSFYsS0FBSyxDQXlCSixxQkFBcUIsQ0FBQztRQUNwQixLQUFLLEU5RjdlTCxJQUFJLEc4RjhlTDtNQXZnQlAsQUF5Z0JNLGFBemdCTyxDQXlYWCxhQUFhLEFBbUhWLEtBQUssQ0E2QkoscUJBQXFCLENBQUM7UUFDcEIsYUFBYSxFQUFFLENBQUMsR0FDakI7TUEzZ0JQLEFBNmdCTSxhQTdnQk8sQ0F5WFgsYUFBYSxBQW1IVixLQUFLLEFBaUNILE9BQU87TUE3Z0JkLGFBQWEsQ0F5WFgsYUFBYSxBQW1IVixLQUFLLENBa0NKLHFCQUFxQjtNQTlnQjNCLGFBQWEsQ0F5WFgsYUFBYSxBQW1IVixLQUFLLENBbUNKLG1CQUFtQixDQUFDO1FBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFqaEJQLEFBb2hCSSxhQXBoQlMsQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBQUM7TUFDVCxPQUFPLEVBQUUsbUJBQW1CO01BQzVCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDOUY5ZUEsT0FBTztNOEYrZXhCLFVBQVUsRUFBRSxDQUFDO01BQ2IsVUFBVSxFOUYvZlIsSUFBSTtNOEZnZ0JOLFFBQVEsRUFBRSxNQUFNLEdBaUdqQjtNQTFuQkwsQUEyaEJNLGFBM2hCTyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0FPUixFQUFFLENBQUM7UUFDRCxTQUFTLEV2S2xoQlAsUUFBc0I7UXVLbWhCeEIsY0FBYyxFQUFFLFNBQVM7UUFDekIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFOUZ4ZEwsTUFBTTtROEZ5ZGYsTUFBTSxFQUFFLENBQUM7UUFDVCxhQUFhLEVBQUUsQ0FBQztRQUNoQixZQUFZLEVBQUUsR0FBRyxHQUNsQjtNQW5pQlAsQUFxaUJNLGFBcmlCTyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0FpQlIsRUFBRSxDQUFDO1FBQ0QsU0FBUyxFdks1aEJQLFFBQXNCO1F1SzZoQnhCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBT2pCO1FBaGpCUCxBQTJpQlEsYUEzaUJLLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQWlCUixFQUFFLENBTUEsTUFBTSxDQUFDO1VBQ0wsS0FBSyxFQUFFLEtBQUs7VUFDWixTQUFTLEV0S2ppQlQsT0FBdUI7VXNLa2lCdkIsV0FBVyxFQUFFLEdBQUcsR0FDakI7TUEvaUJULEFBa2pCTSxhQWxqQk8sQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBOEJSLE1BQU0sQ0FBQztRQUNMLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUZyaUJkLE9BQU87UThGc2lCakIsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixRQUFRLEVBQUUsTUFBTSxHQUtqQjtRQTFqQlAsQUF1akJRLGFBdmpCSyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0E4QlIsTUFBTSxBQUtILFdBQVcsQ0FBQztVQUNYLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO01BempCVCxBQTRqQk0sYUE1akJPLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQXdDUixZQUFZLENBQUM7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO01BaGtCUCxBQWtrQk0sYUFsa0JPLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQThDUixXQUFXLENBQUM7UUFDVixhQUFhLEVBQUUsSUFBSSxHQVNwQjtRQTVrQlAsQUFxa0JRLGFBcmtCSyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0E4Q1IsV0FBVyxBQUdSLEtBQUssQ0FBQztVM0dyZ0JYLEtBQUssRUFBQyxJQUFDO1VBR0wsT0FBTyxFQUFFLEtBQUs7VUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7VUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsRytHOGpCdEM7VUF2a0JULEEzR3FGTSxhMkdyRk8sQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBOENSLFdBQVcsQUFHUixLQUFLLEEzR2hmUCxXQUFXLENBQUM7WUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7UTJHdkZQLEFBeWtCUSxhQXprQkssQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBOENSLFdBQVcsQUFPUixNQUFNLENBQUM7VTdHbmhCVixZQUFvQixFQUFTLENBQUMsRzZHcWhCM0I7TUEza0JULEFBOGtCTSxhQTlrQk8sQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBMERSLEtBQUssQ0FBQztRQUNKLFNBQVMsRXZLcmtCUCxRQUFzQjtRdUtza0J4QixLQUFLLEU5RnhrQmEsT0FBTztROEZ5a0J6QixXQUFXLEVBQUUsR0FBRztRQUNoQixXQUFXLEVBQUUsSUFBSSxHQUNsQjtNQW5sQlAsQUFxbEJNLGFBcmxCTyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0FpRVIsZ0JBQWdCLENBQUM7UUFDZixVQUFVLEVBQUUsSUFBSSxHQWlCakI7UUF2bUJQLEFBd2xCUSxhQXhsQkssQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBaUVSLGdCQUFnQixDQUdkLEVBQUUsQ0FBQztVQUNELFNBQVMsRXRLN2tCVCxTQUF1QjtVc0s4a0J2QixXQUFXLEVBQUUsR0FBRztVQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtRQTVsQlQsQUE4bEJRLGFBOWxCSyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0FpRVIsZ0JBQWdCLENBU2QsUUFBUSxDQUFDO1VBQ1AsU0FBUyxFQUFFLEtBQUs7VUFDaEIsTUFBTSxFQUFFLEtBQUs7VUFDYixVQUFVLEVBQUUseUJBQXlCO1VBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDOUZubEJMLE9BQU87VThGb2xCbkIsYUFBYSxFQUFFLEdBQUc7VUFDbEIsU0FBUyxFdEt4bEJULFFBQXVCO1VzS3lsQnZCLEtBQUssRTlGOWxCUyxPQUFPLEc4RitsQnRCO01BdG1CVCxBQXltQk0sYUF6bUJPLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQXFGUixRQUFRLENBQUM7UUFDUCxTQUFTLEV0SzlsQlAsUUFBdUI7UXNLK2xCekIsS0FBSyxFOUY5a0JHLE9BQU87UThGK2tCZixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlGL2tCVCxPQUFPO1E4RmdsQmYsT0FBTyxFQUFFLEdBQUc7UUFDWixNQUFNLEVBQUUsTUFBTTtRQUNkLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO01BaG5CUCxBQWtuQk0sYUFsbkJPLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQThGUixhQUFhLENBQUM7UUFDWixNQUFNLEVBQUUsQ0FBQztRQUNULFVBQVUsRUFBRSxNQUFNLEdBS25CO1FBem5CUCxBQXNuQlEsYUF0bkJLLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQThGUixhQUFhLENBSVgsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO1VBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBeG5CVCxBQTZuQkUsYUE3bkJXLENBNm5CWCxNQUFNLEFBQUEseUJBQXlCLENBQUM7SUFDOUIsS0FBSyxFOUZobUJTLE9BQU87SThGaW1CckIsU0FBUyxFdktybkJILE1BQXNCO0l1S3NuQjVCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE9BQU8sRUFBRSxDQUFDO0k5SDNuQk4sa0JBQW9CLEU4SDRuQkosR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0k5SHZuQmhDLGVBQWlCLEU4SHVuQkQsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0k5SHhtQmhDLFVBQVksRThId21CSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7RXRHaGpCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzR3JGdkMsQUF3b0JFLGFBeG9CVyxDQXdvQlgsZ0JBQWdCLENBQUM7TUFHYixPQUFPLEVBQUUsV0FBVyxHQUV2QjtFQTdvQkgsQUFncEJFLGFBaHBCVyxDQWdwQlgsK0JBQStCLENBQUM7SUFFOUIsUUFBUSxFQUFFLFFBQVEsR0FvQm5CO0lBdHFCSCxBcklPRSxhcUlQVyxDQWdwQlgsK0JBQStCLEFySXpvQjlCLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0lxSVhILEFBb3BCSSxhQXBwQlMsQ0FncEJYLCtCQUErQixDQUk3QixFQUFFLENBQUM7TUFDRCxjQUFjLEVBQUUsU0FBUztNQUN6QixTQUFTLEV2SzVvQkwsUUFBc0I7TXVLNm9CMUIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RjdvQmxCLElBQUk7TThGOG9CVixjQUFjLEU5RmxsQkgsTUFBTTtNOEZtbEJqQixjQUFjLEVBQUUsR0FBRztNQUNuQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJdEd2a0JELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNHckZ2QyxBQWdwQkUsYUFocEJXLENBZ3BCWCwrQkFBK0IsQ0FBQztRQWU1QixPQUFPLEVBQUUsV0FBVyxHQU92QjtRQXRxQkgsQUFvcEJJLGFBcHBCUyxDQWdwQlgsK0JBQStCLENBSTdCLEVBQUUsQ0FhRztVQUNELFNBQVMsRXRLdHBCUCxRQUF1QjtVc0t1cEJ6QixjQUFjLEVBQUUsQ0FBQyxHQUNsQjtFQXBxQlAsQUEycUJJLGFBM3FCUyxDQXlxQlgsb0JBQW9CLENBRWxCLFdBQVcsQ0FBQztJQUNWLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBN3FCTCxBQStxQkksYUEvcUJTLENBeXFCWCxvQkFBb0IsQ0FNbEIsT0FBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLElBQUksR0FDcEI7RUFqckJMLEFBbXJCSSxhQW5yQlMsQ0F5cUJYLG9CQUFvQixDQVVsQixFQUFFO0VBbnJCTixhQUFhLENBeXFCWCxvQkFBb0IsQ0FXbEIsRUFBRSxDQUFDO0lBQ0QsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFdEszcUJMLFFBQXVCO0lzSzRxQjNCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLEtBQUssRTlGcHJCUSxPQUFPLEc4RnFyQnJCO0VBM3JCTCxBQTZyQkksYUE3ckJTLENBeXFCWCxvQkFBb0IsQ0FvQmxCLGdCQUFnQixDQUFDO0lBQ2YsU0FBUyxFdEtsckJMLFNBQXVCO0lzS21yQjNCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRTlGMXJCZSxPQUFPLEc4RjJyQjVCO0VBbnNCTCxBQXFzQkksYUFyc0JTLENBeXFCWCxvQkFBb0IsQ0E0QmxCLEtBQUssQ0FBQztJQUNKLFNBQVMsRXRLMXJCTCxRQUF1QjtJc0syckIzQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixLQUFLLEU5RmxzQmEsT0FBTztJOEZtc0J6QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQTNzQkwsQUE2c0JJLGFBN3NCUyxDQXlxQlgsb0JBQW9CLENBb0NsQixlQUFlLENBQUM7SUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNWLGVBQWUsRUFBRSxJQUFJLEdBY3RCO0lBN3RCTCxBQWl0Qk0sYUFqdEJPLENBeXFCWCxvQkFBb0IsQ0FvQ2xCLGVBQWUsQ0FJYixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsWUFBWTtNQUNyQixVQUFVLEVBQUUsTUFBTTtNQUNsQixZQUFZLEVBQUUsSUFBSSxHQUNuQjtJQXJ0QlAsQUF1dEJNLGFBdnRCTyxDQXlxQlgsb0JBQW9CLENBb0NsQixlQUFlLENBVWIsVUFBVSxDQUFDO01BQ1QsVUFBVSxFQUFFLElBQUk7TUFDaEIsU0FBUyxFdksvc0JQLFFBQXNCO011S2d0QnhCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLEtBQUssRTlGbnRCYSxPQUFPLEc4Rm90QjFCO0V0R3ZvQkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0dyRnZDLEFBeXFCRSxhQXpxQlcsQ0F5cUJYLG9CQUFvQixDQUFDO01BdURqQixPQUFPLEVBQUUsV0FBVztNQUNwQixRQUFRLEVBQUUsUUFBUSxHQVdyQjtNQTV1QkgsQUFtdUJNLGFBbnVCTyxDQXlxQlgsb0JBQW9CLENBMERoQixFQUFFLENBQUM7UUFDRCxTQUFTLEV0S3h0QlAsT0FBdUI7UXNLeXRCekIsYUFBYSxFQUFFLElBQUksR0FDcEI7TUF0dUJQLEFBK3FCSSxhQS9xQlMsQ0F5cUJYLG9CQUFvQixDQU1sQixPQUFPLENBeURHO1FBQ04sYUFBYSxFQUFFLElBQUksR0FDcEI7RUExdUJQLEFBaXZCSSxhQWp2QlMsQ0ErdUJYLHFCQUFxQixDQUVuQixPQUFPLENBQUM7SUFDTixhQUFhLEVBQUUsS0FBSyxHQUNyQjtFQW52QkwsQXJJT0UsYXFJUFcsQ0ErdUJYLHFCQUFxQixDQU1uQix5QkFBeUIsQXJJOXVCMUIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RXFJWEgsQUErdkJNLGFBL3ZCTyxDQSt1QlgscUJBQXFCLENBTW5CLHlCQUF5QixDQVV2QixFQUFFLENBQUM7SUFDRCxTQUFTLEV0S3B2QlAsU0FBdUI7SXNLcXZCekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RnZ2QnBCLElBQUk7SThGd3ZCUixLQUFLLEU5RjV2QlcsT0FBTztJOEY2dkJ2QixjQUFjLEVBQUUsR0FBRztJQUNuQixjQUFjLEVBQUUsTUFBTTtJQUN0QixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQXZ3QlAsQUF5d0JNLGFBendCTyxDQSt1QlgscUJBQXFCLENBTW5CLHlCQUF5QixDQW9CdkIsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFdEs5dkJQLFFBQXVCO0lzSyt2QnpCLEtBQUssRTlGaHdCRCxJQUFJO0k4Rml3QlIsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUE5d0JQLEFBaXhCSSxhQWp4QlMsQ0ErdUJYLHFCQUFxQixDQWtDbkIsOEJBQThCLENBQUM7SUFDN0IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5Rm53QlIsT0FBTztJOEZvd0J2QixTQUFTLEV2S3p3QkwsUUFBc0I7SXVLMHdCMUIsT0FBTyxFQUFFLE1BQU0sR0FnQmhCO0lBcHlCTCxBcklPRSxhcUlQVyxDQSt1QlgscUJBQXFCLENBa0NuQiw4QkFBOEIsQXJJMXdCL0IsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SXFJWEgsQUF1eEJNLGFBdnhCTyxDQSt1QlgscUJBQXFCLENBa0NuQiw4QkFBOEIsQ0FNNUIsV0FBVyxDQUFDO01BQ1YsS0FBSyxFQUFFLElBQUk7TUFDWCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtJQTF4QlAsQUE0eEJNLGFBNXhCTyxDQSt1QlgscUJBQXFCLENBa0NuQiw4QkFBOEIsQ0FXNUIsUUFBUSxDQUFDO01BQ1AsS0FBSyxFQUFFLEtBQUs7TUFDWixTQUFTLEV2S3B4QlAsT0FBc0IsR3VLcXhCekI7SUEveEJQLEFBaXlCTSxhQWp5Qk8sQ0ErdUJYLHFCQUFxQixDQWtDbkIsOEJBQThCLEFBZ0IzQixXQUFXLENBQUM7TUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFdEc5c0JILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNHckZ2QyxBQSt1QkUsYUEvdUJXLENBK3VCWCxxQkFBcUIsQ0FBQztNQXdEbEIsT0FBTyxFQUFFLFdBQVcsR0ErQnZCO01BdDBCSCxBQWl2QkksYUFqdkJTLENBK3VCWCxxQkFBcUIsQ0FFbkIsT0FBTyxDQXdERztRQUNOLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BM3lCUCxBQTZ5Qk0sYUE3eUJPLENBK3VCWCxxQkFBcUIsQ0E4RGpCLEVBQUUsQ0FBQztRQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BL3lCUCxBQWl6Qk0sYUFqekJPLENBK3VCWCxxQkFBcUIsQ0FrRWpCLGFBQWEsQ0FBQztRQUNaLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TUFuekJQLEFBcXpCTSxhQXJ6Qk8sQ0ErdUJYLHFCQUFxQixDQXNFakIseUJBQXlCLENBQUM7UUFDeEIsT0FBTyxFQUFFLElBQUksR0FjZDtJdEcvdUJILE1BQU0sQ0FBQyxNQUE2QixNQUFqQixTQUFTLEVBQUUsS0FBSyxPQUFoQixTQUFTLEVBQUUsS0FBSztNc0dyRnZDLEFBcXpCTSxhQXJ6Qk8sQ0ErdUJYLHFCQUFxQixDQXNFakIseUJBQXlCLENBQUM7UXhHL3hCOUIsT0FBTyxFd0dteUJjLElBQUksQ0FBQyxDQUFDLEdBV3RCO0V0Ry91QkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRc0dyRnZDLEFBK3ZCTSxhQS92Qk8sQ0ErdUJYLHFCQUFxQixDQU1uQix5QkFBeUIsQ0FVdkIsRUFBRSxDQTZERztVQUNELFNBQVMsRXRLanpCVCxTQUF1QixHc0trekJ4QjtRQTl6QlQsQUF5d0JNLGFBendCTyxDQSt1QlgscUJBQXFCLENBTW5CLHlCQUF5QixDQW9CdkIsQ0FBQyxDQXVERztVQUNBLFNBQVMsRXRLcnpCVCxTQUF1QjtVc0tzekJ2QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQW4wQlQsQXJJT0UsYXFJUFcsQ0F5MEJYLDRCQUE0QixBcklsMEIzQixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFcUlYSCxBQTQwQkksYUE1MEJTLENBeTBCWCw0QkFBNEIsQ0FHMUIsMkJBQTJCLENBQUM7STNHNXdCNUIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQyxHK0dxMEIxQztJQTkwQkwsQTNHcUZNLGEyR3JGTyxDQXkwQlgsNEJBQTRCLENBRzFCLDJCQUEyQixBM0d2dkJ4QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTJHdkZQLEFBZzFCSSxhQWgxQlMsQ0F5MEJYLDRCQUE0QixDQU8xQixLQUFLLEFBQUEsSUFBSyxFQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixHQUFnQjtJQUN6QixVQUFVLEU5RjV6QkksT0FBTyxHOEY2ekJ0QjtFQWwxQkwsQUFvMUJJLGFBcDFCUyxDQXkwQlgsNEJBQTRCLENBVzFCLEtBQUssQ0FBQztJQUNKLFlBQVksRUFBRSxJQUFJLEdBS25CO0l0R3J3QkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNc0dyRnZDLEFBbzFCSSxhQXAxQlMsQ0F5MEJYLDRCQUE0QixDQVcxQixLQUFLLENBQUM7UUFJRixZQUFZLEVBQUUsQ0FBQyxHQUVsQjtFQTExQkwsQUE0MUJJLGFBNTFCUyxDQXkwQlgsNEJBQTRCLENBbUIxQixLQUFLO0VBNTFCVCxhQUFhLENBeTBCWCw0QkFBNEIsQ0FvQjFCLENBQUMsQ0FBQztJQUNBLFNBQVMsRXRLbDFCTCxTQUF1QjtJc0ttMUIzQixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEU5RngxQmUsT0FBTyxHOEZ5MUI1QjtFQWoyQkwsQUFtMkJJLGFBbjJCUyxDQXkwQlgsNEJBQTRCLENBMEIxQixVQUFVLENBQUM7SUFDVCxNQUFNLEVBQUUsUUFBUSxHQVdqQjtJQS8yQkwsQUFzMkJNLGFBdDJCTyxDQXkwQlgsNEJBQTRCLENBMEIxQixVQUFVLEFBR1AsY0FBYyxFQXQyQnJCLGFBQWEsQ0F5MEJYLDRCQUE0QixDQTBCMUIsVUFBVSxBQUlQLFlBQWEsQ2xDeHpCRixDQUFDLEVrQ3d6Qkk7TUFDZixPQUFPLEVBQUUsWUFBWTtNQUNyQixLQUFLLEVBQUUsdUJBQXVCLEdBQy9CO0lBMTJCUCxBQTQyQk0sYUE1MkJPLENBeTBCWCw0QkFBNEIsQ0EwQjFCLFVBQVUsQUFTUCxjQUFjLENBQUM7TUFDZCxZQUFZLEVBQUUsSUFBSSxHQUNuQjtFQTkyQlAsQUFpM0JJLGFBajNCUyxDQXkwQlgsNEJBQTRCLENBd0MxQixrQkFBa0IsQ0FBQztJQUNqQixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRXRLdjJCTCxRQUF1QjtJc0t3MkIzQixLQUFLLEVBQUUsZUFBZTtJQUN0QixPQUFPLEVBQUUsSUFBSTtJQUNiLGFBQWEsRUFBRSxHQUFHO0k5SDkyQmhCLGtCQUFvQixFOEgrMkJGLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJOUgxMkJsQyxlQUFpQixFOEgwMkJDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtJOUgzMUJsQyxVQUFZLEU4SDIxQk0sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBd0NyQztJQS81QkwsQUF5M0JNLGFBejNCTyxDQXkwQlgsNEJBQTRCLENBd0MxQixrQkFBa0IsQ0FRaEIsNEJBQTRCLENBQUM7TUFDM0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RjMyQkgsT0FBTyxDOEYyMkJrQixVQUFVO01BQ2pELE9BQU8sRUFBRSxVQUFVO01BQ25CLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFVBQVUsRTlGeDJCRSxPQUFPLEc4RnkyQnBCO0lBOTNCUCxBQWc0Qk0sYUFoNEJPLENBeTBCWCw0QkFBNEIsQ0F3QzFCLGtCQUFrQixDQWVoQiw0QkFBNEIsQ0FBQztNQUMzQixPQUFPLEVBQUUsQ0FBQyxHQXlCWDtNQTE1QlAsQUFtNEJRLGFBbjRCSyxDQXkwQlgsNEJBQTRCLENBd0MxQixrQkFBa0IsQ0FlaEIsNEJBQTRCLENBRzFCLEVBQUUsQ0FBQztRQUNELE1BQU0sRUFBRSxPQUFPO1FBQ2YsVUFBVSxFOUY1MkJaLElBQUk7UThGNjJCRixhQUFhLEVBQUUsSUFBSTtRQUNuQixNQUFNLEVBQUUsQ0FBQztRQUNULFNBQVMsRXRLNTNCVCxTQUF1QjtRc0s2M0J2QixjQUFjLEVBQUUsU0FBUztRQUN6QixLQUFLLEU5Rmo0QlcsT0FBTztROEZrNEJ2QixjQUFjLEVBQUUsR0FBRztRQUNuQixPQUFPLEVBQUUsaUJBQWlCLEdBUzNCO1FBcjVCVCxBQTg0QlUsYUE5NEJHLENBeTBCWCw0QkFBNEIsQ0F3QzFCLGtCQUFrQixDQWVoQiw0QkFBNEIsQ0FHMUIsRUFBRSxDQVdBLGtDQUFrQyxDQUFDO1VBQ2pDLEtBQUssRUFBRSxLQUFLO1VBQ1osU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsTUFBTTtVQUNuQixNQUFNLEVBQUUsU0FBUztVQUNqQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtNQXA1QlgsQUF1NUJRLGFBdjVCSyxDQXkwQlgsNEJBQTRCLENBd0MxQixrQkFBa0IsQ0FlaEIsNEJBQTRCLENBdUIxQix1QkFBdUIsQ0FBQztRQUN0QixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBejVCVCxBQTQ1Qk0sYUE1NUJPLENBeTBCWCw0QkFBNEIsQ0F3QzFCLGtCQUFrQixBQTJDZix5QkFBeUIsQ0FBQyw0QkFBNEIsQ0FBQztNQUN0RCxVQUFVLEU5Rng0QkUsT0FBTyxHOEZ5NEJwQjtFQTk1QlAsQUFpNkJJLGFBajZCUyxDQXkwQlgsNEJBQTRCLENBd0YxQixjQUFjLENBQUM7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxLQUFLO0lBQ2IsVUFBVSxFOUYvNEJJLE9BQU8sQzhGKzRCVSxVQUFVLEdBQzFDO0VBcjZCTCxBQXU2QkksYUF2NkJTLENBeTBCWCw0QkFBNEIsQ0E4RjFCLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLEtBQUs7SUFDYixVQUFVLEU5RnI1QkksT0FBTyxDOEZxNUJVLFVBQVUsR0FDMUM7RUEzNkJMLEFBNjZCSSxhQTc2QlMsQ0F5MEJYLDRCQUE0QixDQW9HMUIsYUFBYSxDQUFDO0lBQ1osVUFBVSxFQUFFLE1BQU0sR0FLbkI7SUFuN0JMLEFBZzdCTSxhQWg3Qk8sQ0F5MEJYLDRCQUE0QixDQW9HMUIsYUFBYSxDQUdYLEtBQUssQ0FBQztNQUNKLE1BQU0sRUFBRSxNQUFNLEdBQ2Y7RXRHNzFCSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lzR3JGeEMsQUE0MEJJLGFBNTBCUyxDQXkwQlgsNEJBQTRCLENBRzFCLDJCQUEyQixDQTJHRztNQUMxQixLQUFLLEVBQUUsSUFBSTtNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0V0R3IyQkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0dyRnZDLEFBeTBCRSxhQXowQlcsQ0F5MEJYLDRCQUE0QixDQUFDO01BcUh6QixPQUFPLEVBQUUsV0FBVyxHQWtCdkI7TUFoOUJILEFBczJCTSxhQXQyQk8sQ0F5MEJYLDRCQUE0QixDQTBCMUIsVUFBVSxBQUdQLGNBQWMsRUF0MkJyQixhQUFhLENBeTBCWCw0QkFBNEIsQ0EwQjFCLFVBQVUsQUFJUCxZQUFhLENsQ3h6QkYsQ0FBQyxFa0NvNUJNO1FBQ2YsS0FBSyxFQUFFLElBQUksR0FDWjtNQXI4QlQsQUE0MkJNLGFBNTJCTyxDQXkwQlgsNEJBQTRCLENBMEIxQixVQUFVLEFBU1AsY0FBYyxDQTJGRztRQUNkLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01BejhCVCxBQWkzQkksYUFqM0JTLENBeTBCWCw0QkFBNEIsQ0F3QzFCLGtCQUFrQixDQTJGRztRQUNqQixJQUFJLEVBQUUsWUFBWSxHQUNuQjtFQTk4QlAsQUFtOUJFLGFBbjlCVyxDQW05QlgsZ0NBQWdDLENBQUM7SUFDL0IsUUFBUSxFQUFFLFFBQVEsR0FvR25CO0lBeGpDSCxBQXM5QkksYUF0OUJTLENBbTlCWCxnQ0FBZ0MsQ0FHOUIsQ0FBQyxDQUFDO01BQ0EsS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEU5Rmg5QmUsT0FBTztNOEZpOUIzQixTQUFTLEV0Szc4QkwsU0FBdUI7TXNLODhCM0IsYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUEzOUJMLEFBNjlCSSxhQTc5QlMsQ0FtOUJYLGdDQUFnQyxDQVU5Qix1QkFBdUIsQ0FBQztNQUN0QixRQUFRLEVBQUUsTUFBTTtNQUNoQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlGajlCWixPQUFPO004Rms5Qm5CLE9BQU8sRUFBRSxXQUFXLEdBbURyQjtNQW5oQ0wsQUFrK0JNLGFBbCtCTyxDQW05QlgsZ0NBQWdDLENBVTlCLHVCQUF1QixBQUtwQixXQUFXLENBQUM7UUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtNQXArQlAsQUFzK0JNLGFBdCtCTyxDQW05QlgsZ0NBQWdDLENBVTlCLHVCQUF1QixDQVNyQixRQUFRLENBQUM7UUFDUCxPQUFPLEVBQUUsWUFBWTtRQUNyQixjQUFjLEVBQUUsTUFBTTtRQUN0QixLQUFLLEVBQUUsS0FBSztRQUNaLFlBQVksRUFBRSxJQUFJLEdBUW5CO1FBbC9CUCxBQTQrQlEsYUE1K0JLLENBbTlCWCxnQ0FBZ0MsQ0FVOUIsdUJBQXVCLENBU3JCLFFBQVEsQ0FNTixHQUFHLENBQUM7VUFDRixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJO1VBQ1osUUFBUSxFQUFFLE1BQU07VUFDaEIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7TUFqL0JULEFBby9CTSxhQXAvQk8sQ0FtOUJYLGdDQUFnQyxDQVU5Qix1QkFBdUIsQ0F1QnJCLEtBQUssQ0FBQztRQUNKLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLEtBQUssRUFBRSxrQkFBa0IsR0FDMUI7TUF6L0JQLEFBMi9CTSxhQTMvQk8sQ0FtOUJYLGdDQUFnQyxDQVU5Qix1QkFBdUIsQ0E4QnJCLEVBQUUsQ0FBQztRQUNELFNBQVMsRXRLaC9CUCxTQUF1QjtRc0tpL0J6QixhQUFhLEVBQUUsR0FBRztRQUNsQixXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEU5RngvQlcsT0FBTyxHOEZ5L0J4QjtNQWhnQ1AsQUFrZ0NNLGFBbGdDTyxDQW05QlgsZ0NBQWdDLENBVTlCLHVCQUF1QixDQXFDckIsVUFBVSxDQUFDO1FBQ1QsU0FBUyxFdEt2L0JQLFFBQXVCO1FzS3cvQnpCLEtBQUssRTlGNS9CYSxPQUFPO1E4RjYvQnpCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BdGdDUCxBQXdnQ00sYUF4Z0NPLENBbTlCWCxnQ0FBZ0MsQ0FVOUIsdUJBQXVCLENBMkNyQixFQUFFLENBQUM7UUFDRCxlQUFlLEVBQUUsSUFBSTtRQUNyQixNQUFNLEVBQUUsQ0FBQztRQUNULE9BQU8sRUFBRSxDQUFDO1FBQ1YsU0FBUyxFdEtoZ0NQLE9BQXVCLEdzS2lnQzFCO01BN2dDUCxBQStnQ00sYUEvZ0NPLENBbTlCWCxnQ0FBZ0MsQ0FVOUIsdUJBQXVCLENBa0RyQixFQUFFLENBQUM7UUFDRCxhQUFhLEVBQUUsR0FBRztRQUNsQixLQUFLLEU5RnpnQ2EsT0FBTyxHOEYwZ0MxQjtJdEc3N0JILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNHckZ2QyxBQW05QkUsYUFuOUJXLENBbTlCWCxnQ0FBZ0MsQ0FBQztRQW1FN0IsT0FBTyxFQUFFLFdBQVcsR0FrQ3ZCO1FBeGpDSCxBQXdoQ00sYUF4aENPLENBbTlCWCxnQ0FBZ0MsQ0FxRTVCLEVBQUUsQ0FBQztVQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO1FBMWhDUCxBQTY5QkksYUE3OUJTLENBbTlCWCxnQ0FBZ0MsQ0FVOUIsdUJBQXVCLENBK0RHO1VBQ3RCLE9BQU8sRUFBRSxNQUFNLEdBeUJoQjtVQXRqQ1AsQUFzK0JNLGFBdCtCTyxDQW05QlgsZ0NBQWdDLENBVTlCLHVCQUF1QixDQVNyQixRQUFRLENBeURHO1lBQ1AsY0FBYyxFQUFFLEdBQUc7WUFDbkIsS0FBSyxFQUFFLElBQUk7WUFDWCxZQUFZLEVBQUUsSUFBSSxHQUNuQjtVQW5pQ1QsQUFvL0JNLGFBcC9CTyxDQW05QlgsZ0NBQWdDLENBVTlCLHVCQUF1QixDQXVCckIsS0FBSyxDQWlERztZQUNKLGNBQWMsRUFBRSxHQUFHO1lBQ25CLEtBQUssRUFBRSxrQkFBa0IsR0FDMUI7VUF4aUNULEFBMi9CTSxhQTMvQk8sQ0FtOUJYLGdDQUFnQyxDQVU5Qix1QkFBdUIsQ0E4QnJCLEVBQUUsQ0ErQ0c7WUFDRCxTQUFTLEV0Sy9oQ1QsU0FBdUIsR3NLZ2lDeEI7VUE1aUNULEFBa2dDTSxhQWxnQ08sQ0FtOUJYLGdDQUFnQyxDQVU5Qix1QkFBdUIsQ0FxQ3JCLFVBQVUsQ0E0Q0c7WUFDVCxTQUFTLEV0S25pQ1QsT0FBdUI7WXNLb2lDdkIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7VUFqakNULEFBK2dDTSxhQS9nQ08sQ0FtOUJYLGdDQUFnQyxDQVU5Qix1QkFBdUIsQ0FrRHJCLEVBQUUsQ0FvQ0c7WUFDRCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQXJqQ1QsQUE2akNJLGFBN2pDUyxDQTBqQ1gsYUFBYSxBQUFBLGNBQWMsQ0FHekIsYUFBYSxBQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsZUFBZTtFQTdqQy9DLGFBQWEsQ0EyakNYLGFBQWEsQUFBQSxhQUFhLENBRXhCLGFBQWEsQUFBQSxRQUFRLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUMxQyxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBL2pDTCxBQWtrQ0UsYUFsa0NXLENBa2tDWCxvQ0FBb0MsQ0FBQztJQUNuQyxPQUFPLEVBQUUsSUFBSSxHQUNkO0V0Ry8rQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0dyRnZDLEFBeWtDSSxhQXprQ1MsQ0F5a0NULGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFlBQVksRUFBRSxDQUFDO01BQ2YsT0FBTyxFQUFFLGNBQWM7TUFDdkIsVUFBVSxFQUFFLHlCQUF5QjtNQUNyQyxPQUFPLEVBQUUsQ0FBQyxHQTBEWDtNQXhvQ0wsQUFnbENNLGFBaGxDTyxDQXlrQ1QsYUFBYSxDQU9YLG9DQUFvQyxDQUFDO1FBQ25DLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFNBQVMsRXRLdmtDUCxPQUF1QjtRc0t3a0N6QixLQUFLLEU5RjNrQ2EsT0FBTztROEY0a0N6QixXQUFXLEVBQUUsR0FBRyxHQVFqQjtRQTdsQ1AsQUF1bENRLGFBdmxDSyxDQXlrQ1QsYUFBYSxDQU9YLG9DQUFvQyxBQU9qQyxNQUFNLENBQUM7VUFDTixPQUFPLEVBQUUsRUFBRTtVNUg5a0NqQixNQUFNLEU0SCtrQ21CLEdBQUc7VTVIdmtDNUIsS0FBSyxFNEh1a0NlLElBQUk7VS9IeGtDMUIsUUFBUSxFK0h5a0NrQixRQUFRO1UvSHJrQzlCLE1BQVUsRStIcWtDaUMsS0FBSTtVL0hya0MvQyxJQUFVLEUrSHFrQ3NDLENBQUM7VUFDN0MsVUFBVSxFOUY3akNGLE9BQU8sRzhGOGpDaEI7TUE1bENULEFBK2xDTSxhQS9sQ08sQ0F5a0NULGFBQWEsQ0FzQlgsU0FBUyxDQUFDO1FBQ1IsT0FBTyxFQUFFLEtBQUssR0FDZjtNQWptQ1AsQUFtbUNNLGFBbm1DTyxDQXlrQ1QsYUFBYSxDQTBCWCxFQUFFLEFBQUEsS0FBSyxDQUFDO1FBQ04sT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsVUFBVSxHQU1wQjtRQTNtQ1AsQUF1bUNRLGFBdm1DSyxDQXlrQ1QsYUFBYSxDQTBCWCxFQUFFLEFBQUEsS0FBSyxDQUlMLEVBQUUsQ0FBQztVQUNELEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFQUFFLE9BQU8sR0FDbkI7TUExbUNULEFBNm1DTSxhQTdtQ08sQ0F5a0NULGFBQWEsQ0FvQ1gsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNQLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLENBQUM7UUFDVixNQUFNLEVBQUUsQ0FBQztRQUNULGFBQWEsRUFBRSxJQUFJLEdBc0JwQjtRQXZvQ1AsQUFtbkNRLGFBbm5DSyxDQXlrQ1QsYUFBYSxDQW9DWCxFQUFFLENBQUMsS0FBSyxDQU1OLEVBQUUsQ0FBQztVQUNELE1BQU0sRUFBRSxDQUFDO1VBQ1QsT0FBTyxFQUFFLEtBQUs7VUFDZCxTQUFTLEV0SzFtQ1QsU0FBdUIsR3NLMG5DeEI7VUF0b0NULEFBd25DVSxhQXhuQ0csQ0F5a0NULGFBQWEsQ0FvQ1gsRUFBRSxDQUFDLEtBQUssQ0FNTixFQUFFLENBS0EsQ0FBQyxDQUFDO1k5SGhuQ0osa0JBQW9CLEU4SGluQ0ksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1k5SDVtQ3hDLGVBQWlCLEU4SDRtQ08sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1k5SDdsQ3hDLFVBQVksRThINmxDWSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7VUExbkNYLEFBNG5DVSxhQTVuQ0csQ0F5a0NULGFBQWEsQ0FvQ1gsRUFBRSxDQUFDLEtBQUssQ0FNTixFQUFFLEFBU0MsYUFBYSxDQUFDO1lBQ2IsTUFBTSxFQUFFLENBQUMsR0FDVjtVQTluQ1gsQUFrb0NZLGFBbG9DQyxDQXlrQ1QsYUFBYSxDQW9DWCxFQUFFLENBQUMsS0FBSyxDQU1OLEVBQUUsQUFhQyxNQUFNLENBRUwsQ0FBQyxDQUFDO1lBQ0EsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUFwb0NiLEFBRUUsYUFGVyxDQUVYLGtCQUFrQixDQXdvQ0c7TXhHcG5DckIsT0FBTyxFd0dxbkNVLENBQUMsR0FLZjtFdEczakNELE1BQU0sQ0FBQyxNQUE2QixNQUFqQixTQUFTLEVBQUUsS0FBSyxPQUFoQixTQUFTLEVBQUUsS0FBSztJc0dyRnZDLEFBRUUsYUFGVyxDQUVYLGtCQUFrQixDQXdvQ0c7TXhHcG5DckIsT0FBTyxFd0d3bkNZLElBQUksR0FFcEI7RXRHM2pDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzR3JGdkMsQUFrcENJLGFBbHBDUyxDQWtwQ1QsUUFBUSxDQUFDO01BQ1AsTUFBTSxFQUFFLENBQUMsR0EyRFY7TUE5c0NMLEFBc1FJLGFBdFFTLENBb1FYLFFBQVEsQ0FFTixPQUFPLENBKzRCRztRQUNOLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUZ6b0NkLE9BQU87UVZRdkIsT0FBTyxFd0drb0NZLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0F3QmpDO0l0RzNsQ0gsTUFBTSxDQUFDLE1BQTZCLE1BQWpCLFNBQVMsRUFBRSxLQUFLLE9BQWhCLFNBQVMsRUFBRSxLQUFLO01zR3JGdkMsQUFzUUksYUF0UVMsQ0FvUVgsUUFBUSxDQUVOLE9BQU8sQ0ErNEJHO1F4Ry9uQ1osT0FBTyxFd0dxb0NjLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQXFCM0I7RXRHM2xDSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FzR3JGdkMsQUE4cENRLGFBOXBDSyxDQWtwQ1QsUUFBUSxDQUdOLE9BQU8sQUFTSixRQUFRLENBQUM7VXhHeG9DaEIsT0FBTyxFd0d5b0NjLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FnQmpDO010RzFsQ0wsTUFBTSxDQUFDLE1BQTZCLE1BQWpCLFNBQVMsRUFBRSxLQUFLLE9BQWhCLFNBQVMsRUFBRSxLQUFLO1FzR3JGdkMsQUE4cENRLGFBOXBDSyxDQWtwQ1QsUUFBUSxDQUdOLE9BQU8sQUFTSixRQUFRLENBQUM7VXhHeG9DaEIsT0FBTyxFd0c0b0NnQixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FhM0I7RXRHMWxDTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1VzR3JGdkMsQUFxcUNVLGFBcnFDRyxDQWtwQ1QsUUFBUSxDQUdOLE9BQU8sQUFTSixRQUFRLENBT1AsV0FBVyxDQUFDO1lBQ1YsVUFBVSxFQUFFLGlEQUFpRCxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUNwRixlQUFlLEVBQUUsU0FBUztZQUMxQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtVQXpxQ1gsQUEycUNVLGFBM3FDRyxDQWtwQ1QsUUFBUSxDQUdOLE9BQU8sQUFTSixRQUFRLENBYVAsYUFBYTtVQTNxQ3ZCLGFBQWEsQ0FrcENULFFBQVEsQ0FHTixPQUFPLEFBU0osUUFBUSxDQWNQLENBQUMsQ0FBQztZQUNBLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TUE5cUNYLEFBZ1JJLGFBaFJTLENBb1FYLFFBQVEsQ0FZTixXQUFXLENBazZCRztRQUNWLE1BQU0sRUFBRSxPQUFPO1FBQ2YsU0FBUyxFdEt4cUNQLFNBQXVCO1FzS3lxQ3pCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLFVBQVUsRUFBRSxnREFBZ0QsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU07UUFDbkYsZUFBZSxFQUFFLFNBQVMsR0FNM0I7UUFoc0NQLEFBNHJDUSxhQTVyQ0ssQ0FrcENULFFBQVEsQ0FnQ04sV0FBVyxDQVVULEtBQUs7UUE1ckNiLGFBQWEsQ0FrcENULFFBQVEsQ0FnQ04sV0FBVyxDQVdULENBQUMsQ0FBQztVQUNBLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUEvckNULEFBa3NDTSxhQWxzQ08sQ0FrcENULFFBQVEsQ0FnRE4sRUFBRSxDQUFDO1FBQ0QsU0FBUyxFdEt2ckNQLElBQXVCO1FzS3dyQ3pCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO01BcnNDUCxBQXVzQ00sYUF2c0NPLENBa3BDVCxRQUFRLENBcUROLEtBQUssQ0FBQztRQUNKLFNBQVMsRXRLNXJDUCxPQUF1QixHc0s2ckMxQjtNQXpzQ1AsQUEyc0NNLGFBM3NDTyxDQWtwQ1QsUUFBUSxDQXlETixDQUFDLENBQUM7UUFDQSxPQUFPLEVBQUUsSUFBSSxHQUNkO0lBN3NDUCxBQXlYRSxhQXpYVyxDQXlYWCxhQUFhLENBdTFCRztNQUNaLE9BQU8sRUFBRSxJQUFJO01BQ2IsT0FBTyxFQUFFLENBQUMsR0E2SFg7TUEvMENMLEFBdWJJLGFBdmJTLENBeVhYLGFBQWEsQ0E4RFgsbUJBQW1CLENBNnhCRztRQUNsQixTQUFTLEV0S3pzQ1AsUUFBdUI7UXNLMHNDekIsYUFBYSxFQUFFLEdBQUc7UUFDbEIsV0FBVyxFQUFFLElBQUksR0FDbEI7TUF4dENQLEFBNFlJLGFBNVlTLENBeVhYLGFBQWEsQ0FtQlgsYUFBYSxDQTgwQkc7UUFDWixPQUFPLEVBQUUsYUFBYSxHQUN2QjtNQTV0Q1AsQUE0Y0ksYUE1Y1MsQ0F5WFgsYUFBYSxDQW1GWCxrQkFBa0IsQ0FreEJHO1FBQ2pCLFNBQVMsRXRLbnRDUCxTQUF1QjtRc0tvdEN6QixXQUFXLEVBQUUsSUFBSTtRQUNqQixNQUFNLEVBQUUsT0FBTyxHQUNoQjtNQWx1Q1AsQUFxZEksYUFyZFMsQ0F5WFgsYUFBYSxDQTRGWCxxQkFBcUIsQ0Erd0JHO1FBQ3BCLEtBQUssRTlGMXRDRCxJQUFJO1E4RjJ0Q1IsU0FBUyxFdEsxdENQLFNBQXVCO1FzSzJ0Q3pCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO01BeHVDUCxBQWlhSSxhQWphUyxDQXlYWCxhQUFhLENBd0NYLHFCQUFxQixDQXkwQkc7UUFDcEIsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsTUFBTTtRL0gzdENwQixRQUFRLEUrSDZ0Q2dCLFFBQVE7US9IenRDNUIsR0FBVSxFK0h5dENvQixPQUFPO1EvSHp0Q3JDLEtBQVUsRStIeXRDb0IsT0FBTztRL0h6dENyQyxNQUFVLEUrSHl0Q29CLE9BQU87US9IenRDckMsSUFBVSxFK0h5dENvQixPQUFPLEdBQ3BDO1FBL3VDUCxBcklPRSxhcUlQVyxDQWd0Q1QsYUFBYSxDQTBCWCxxQkFBcUIsQXJJbnVDeEIsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TXFJWEgsQUFvZUksYUFwZVMsQ0F5WFgsYUFBYSxDQTJHWCxtQkFBbUIsQ0E2d0JHO1FBQ2xCLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7TUFudkNQLEFBNGVJLGFBNWVTLENBeVhYLGFBQWEsQUFtSFYsS0FBSyxDQXl3Qkc7UUFDTCxPQUFPLEVBQUUsQ0FBQyxHQStCWDtRQXJ4Q1AsQUFvZk0sYUFwZk8sQ0F5WFgsYUFBYSxBQW1IVixLQUFLLENBUUosYUFBYSxDQW93Qkc7VUFDWixPQUFPLEVBQUUscUJBQXFCLEdBQy9CO1FBMXZDVCxBQTR2Q1EsYUE1dkNLLENBZ3RDVCxhQUFhLEFBcUNWLEtBQUssQ0FPSixtQkFBbUIsQ0FBQztVQUNsQixhQUFhLEVBQUUsR0FBRyxHQUtuQjtVQWx3Q1QsQUErdkNVLGFBL3ZDRyxDQWd0Q1QsYUFBYSxBQXFDVixLQUFLLENBT0osbUJBQW1CLEFBR2hCLE1BQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7UUFqd0NYLEFBb3dDUSxhQXB3Q0ssQ0FndENULGFBQWEsQUFxQ1YsS0FBSyxDQWVKLGtCQUFrQixDQUFDO1VBQ2pCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO1FBdHdDVCxBQXlnQk0sYUF6Z0JPLENBeVhYLGFBQWEsQUFtSFYsS0FBSyxDQTZCSixxQkFBcUIsQ0ErdkJHO1VBQ3BCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7UUExd0NULEFBeWZNLGFBemZPLENBeVhYLGFBQWEsQUFtSFYsS0FBSyxDQWFKLG1CQUFtQixDQW14Qkc7VUFDbEIsR0FBRyxFQUFFLElBQUk7VUFDVCxTQUFTLEV0S2x3Q1QsU0FBdUI7VXNLbXdDdkIsV0FBVyxFQUFFLEdBQUcsR0FDakI7UUFoeENULEFBa3hDUSxhQWx4Q0ssQ0FndENULGFBQWEsQUFxQ1YsS0FBSyxBQTZCSCxPQUFPLENBQUM7VUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkO01BcHhDVCxBQW9oQkksYUFwaEJTLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQW13Qkc7UUFDVCxVQUFVLEU5Ri92Q1YsSUFBSTtROEZnd0NKLE9BQU8sRUFBRSxjQUFjLEdBcUR4QjtRQTkwQ1AsQUEyaEJNLGFBM2hCTyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0FPUixFQUFFLENBZ3dCRztVQUNELFNBQVMsRXRLaHhDVCxRQUF1QixHc0tpeEN4QjtRQTd4Q1QsQUFxaUJNLGFBcmlCTyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0FpQlIsRUFBRSxDQTB2Qkc7VUFDRCxTQUFTLEV0S3B4Q1QsU0FBdUIsR3NLcXhDeEI7UUFqeUNULEFBa2pCTSxhQWxqQk8sQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBOEJSLE1BQU0sQ0FpdkJHO1VBQ0wsT0FBTyxFQUFFLE1BQU0sR0FDaEI7UUFyeUNULEFBNGpCTSxhQTVqQk8sQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBd0NSLFlBQVksQ0EydUJHO1VBQ1gsVUFBVSxFQUFFLEdBQUc7VUFDZixTQUFTLEVBQUUsSUFBSSxHQUNoQjtRQTF5Q1QsQUFra0JNLGFBbGtCTyxDQXlYWCxhQUFhLENBMkpYLFVBQVUsQ0E4Q1IsV0FBVyxDQTB1Qkc7VUFDVixLQUFLLEVBQUUsSUFBSTtVQUNYLGFBQWEsRUFBRSxJQUFJLEdBU3BCO1VBdnpDVCxBQXFrQlEsYUFya0JLLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQThDUixXQUFXLEFBR1IsS0FBSyxDQTJ1Qkc7WUFDTCxLQUFLLEVBQUUsSUFBSSxHQUNaO1VBbHpDWCxBQW96Q1UsYUFwekNHLENBZ3RDVCxhQUFhLENBdUVYLFVBQVUsQ0FxQlIsV0FBVyxBQVFSLGFBQWEsQ0FBQztZQUNiLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO1FBdHpDWCxBQXFsQk0sYUFybEJPLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQWlFUixnQkFBZ0IsQ0FvdUJHO1VBQ2YsVUFBVSxFQUFFLEdBQUcsR0FhaEI7VUF2MENULEFBd2xCUSxhQXhsQkssQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBaUVSLGdCQUFnQixDQUdkLEVBQUUsQ0FvdUJHO1lBQ0QsU0FBUyxFdEtqekNYLFFBQXVCO1lzS2t6Q3JCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO1VBaDBDWCxBQThsQlEsYUE5bEJLLENBeVhYLGFBQWEsQ0EySlgsVUFBVSxDQWlFUixnQkFBZ0IsQ0FTZCxRQUFRLENBb3VCRztZQUNQLFVBQVUsRUFBRSxHQUFHO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEV0S3p6Q1gsU0FBdUIsR3NLMHpDdEI7UUF0MENYLEFBc25CUSxhQXRuQkssQ0F5WFgsYUFBYSxDQTJKWCxVQUFVLENBOEZSLGFBQWEsQ0FJWCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBb3RCZ0I7VUFDbEIsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBT1gsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxhQUFhO0VBQzlCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0VBVEQsQUFNRSxzQkFOb0IsQ0FNcEIsdUJBQXVCLENBQUM7SUFDdEIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBR0gsQUFBQSxFQUFFLEFBQUEsdUJBQXVCLENBQUM7RUFDeEIsU0FBUyxFdEtuMUNELE1BQXVCO0VzS28xQy9CLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLGNBQWMsRUFBRSxPQUFPO0VBQ3ZCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUVELGlDQUFpQztBdEdseEM3QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VzR214Q3ZDLEFBRUUsMEJBRndCLENBRXhCLGFBQWEsQ0FBQztJQUVWLE9BQU8sRUFBRSxLQUFLLEdBUWpCOztBdEcveENDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXNHbXhDdkMsQUFPSSwwQkFQc0IsQ0FFeEIsYUFBYSxDQUtYLGFBQWEsQ0FBQztJQUVWLE9BQU8sRUFBRSxDQUFDLEdBRWI7O0FBR0YsQUFBRCw4QkFBSyxDQUFDO0VBQ0osU0FBUyxFdEszMkNILElBQXVCO0VzSzQyQzdCLEtBQUssRTlGbjBDQSxJQUFJO0VWL0JYLE9BQU8sRXdHbzJDUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO0VBQzlCLE9BQU8sRUFBRSxJQUFJLEdBYWQ7RUFsQkEsQTVGcnpDRCw4QjRGcXpDSyxBNUZyekNKLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxJQUFJO0lBQ1QsS0FBSyxFQUFFLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsRUFBRTtJQUNYLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsS0FBSztJQUNiLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENGcEJ2QixJQUFJO0lFcUJULE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0U0RjJ5Q0EsQTVGcnpDRCw4QjRGcXpDSyxBNUZyekNKLE9BQU8sQzRGNHpDRztJQUNQLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBRUQsQUFBQSwrQkFBK0IsQ0FYaEMsOEJBQUksQ0FXK0I7SUFDaEMsT0FBTyxFQUFFLFlBQVksR0FLdEI7SXRHbHpDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01zRzR5Q25DLEFBQUEsK0JBQStCLENBWGhDLDhCQUFJLENBVytCO1FBSTlCLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQU1GLEFBQUQsMEJBQUssQ0FBQztFQUNKLFNBQVMsRXRLbDRDSCxJQUF1QjtFc0ttNEM3QixLQUFLLEU5RjExQ0EsSUFBSTtFVi9CWCxPQUFPLEV3RzIzQ1EsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQVMvQjtFQWJBLEE1RjUwQ0QsMEI0RjQwQ0ssQTVGNTBDSixPQUFPLENBQUM7SUFDUCxHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxDQUFDO0lBQ1IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFLEtBQUs7SUFDYixVQUFVLEVBQUUsS0FBSyxDQUFFLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRnBCdkIsSUFBSTtJRXFCVCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtFVlVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNHd3pDcEMsQUFBRCwwQkFBSyxDQUFDO01BT0YsT0FBTyxFQUFFLElBQUksR0FNaEI7RUFiQSxBNUY1MENELDBCNEY0MENLLEE1RjUwQ0osT0FBTyxDNEZzMUNHO0lBQ1AsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBTUwsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixVQUFVLEVBQUUsT0FBTztFQUNuQixPQUFPLEVBQUUsU0FBUztFQUNsQixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlGcjRDUixPQUFPLEc4Rmc2Q3RCO0V0R3gyQ0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0cwMEN2QyxBQUFBLHdCQUF3QixDQUFDO01BTXJCLE9BQU8sRUFBRSxJQUFJLEdBd0JoQjtFQTlCRCxBQVNFLHdCQVRzQixDQVN0QixFQUFFLENBQUM7SUFDRCxLQUFLLEU5RjU0Q08sT0FBTztJOEY2NENuQixjQUFjLEVBQUUsU0FBUztJQUN6QixTQUFTLEV0Sy81Q0gsU0FBdUI7SXNLZzZDN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RUFmSCxBQWlCRSx3QkFqQnNCLENBaUJ0QixLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ04sU0FBUyxFdEtyNkNILFFBQXVCO0lzS3M2QzdCLEtBQUssRTlGNTZDVSxPQUFPLEc4RjY2Q3ZCO0VBcEJILEFBc0JFLHdCQXRCc0IsQ0FzQnRCLENBQUMsQUFBQSxXQUFXLENBQUM7SUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQXhCSCxBQTBCRSx3QkExQnNCLENBMEJ0QixDQUFDLENBQUM7SUFDQSxLQUFLLEU5Rjc1Q08sT0FBTyxHOEY4NUNwQjs7QXpGOTNDSCxBQUFBLEdBQUcsQUFBQSxZQUFZLEN5Rms0Q0M7RUFDZCxNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRTlGNTNDQSxTQUFTLEVBQUUsVUFBVTtFOEY2M0NoQyxLQUFLLEU5RnI2Q1csT0FBTyxDOEZxNkNDLFVBQVU7RUFDbEMsU0FBUyxFdksxN0NELE1BQXNCO0V1SzI3QzlCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE9BQU8sRUFBRSxDQUFDO0U5SGg4Q0osa0JBQW9CLEU4SGk4Q04sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0U5SDU3QzlCLGVBQWlCLEU4SDQ3Q0gsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO0U5SDc2QzlCLFVBQVksRThINjZDRSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0E0QnJDO0VBdENELEFBWUUsR0FaQyxBQUFBLFlBQVksQUFZWixNQUFNLENBQUM7SUFDTixTQUFTLEV2S2w4Q0gsTUFBc0I7SXVLbThDNUIsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBaEJILEFBa0JFLEdBbEJDLEFBQUEsWUFBWSxDQWtCYixpQkFBaUIsQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBcEJILEFBc0JFLEdBdEJDLEFBQUEsWUFBWSxBQXNCWixPQUFPLENBQUM7SUFDUCxHQUFHLEVBQUUsQ0FBQyxHQUNQO0VBeEJILEFBMEJFLEdBMUJDLEFBQUEsWUFBWSxBQTBCWixNQUFNLENBQUM7SUFDTixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBNUJILEFBOEJFLEdBOUJDLEFBQUEsWUFBWSxDQThCYixxQkFBcUIsQ0FBQztJQUNwQixHQUFHLEVBQUUsZUFBZSxHQUVyQjtFQWpDSCxBQW1DRSxHQW5DQyxBQUFBLFlBQVksQ0FtQ2IsTUFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLGVBQWUsR0FDekI7O0FBR0gsK0JBQStCO0FBQy9CLEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsT0FBTyxFQUFFLElBQUksR0E2RmQ7RUE5RkQsQUFHRSx3QkFIc0IsQ0FHdEIsRUFBRSxDQUFDO0lBQ0QsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFMSCxBQU9FLHdCQVBzQixDQU90QixhQUFhLENBQUM7SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsS0FBSztJQUNaLEtBQUssRUFBRSxLQUFLO0lBQ1osUUFBUSxFQUFFLFFBQVEsR0FDbkI7RUFaSCxBQWNFLHdCQWRzQixDQWN0QixzQkFBc0IsQ0FBQztJQUNyQixNQUFNLEVBQUUsQ0FBQyxHQUtWO0lBcEJILEFBaUJJLHdCQWpCb0IsQ0FjdEIsc0JBQXNCLENBR3BCLEtBQUssQ0FBQztNQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFuQkwsQUFzQkUsd0JBdEJzQixDQXNCdEIsc0NBQXNDLENBQUM7SUFDckMsT0FBTyxFQUFFLENBQUM7SUFDVixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSx5QkFBeUIsR0FPdEM7SUFoQ0gsQUEyQkksd0JBM0JvQixDQXNCdEIsc0NBQXNDLENBS3BDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtNQUNqQixNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxXQUFXO01BQ3ZCLFlBQVksRUFBRSxJQUFJLEdBQ25CO0VBL0JMLEFBa0NFLHdCQWxDc0IsQ0FrQ3RCLG9CQUFvQixDQUFDO0k1SGhnRG5CLE1BQU0sRTRIaWdEYSxJQUFJO0k1SHovQ3ZCLEtBQUssRTRIeS9DUyxJQUFJO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLElBQUk7SS9INS9DZCxRQUFRLEUrSDYvQ1ksUUFBUTtJL0h6L0N4QixHQUFVLEUrSHkvQ2dCLENBQUM7SS9Iei9DM0IsTUFBVSxFK0h5L0N1QixDQUFDO0kvSHovQ2xDLElBQVUsRStIeS9DeUIsSUFBSSxHQWExQztJQW5ESCxBQXdDSSx3QkF4Q29CLENBa0N0QixvQkFBb0IsQ0FNbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO01BQ25CLE1BQU0sRUFBRSxNQUFNO01BQ2QsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsQ0FBQztNQUNWLFNBQVMsRUFBRSxDQUFDO001SDFnRGQsTUFBTSxFNEgyZ0RVLElBQUk7TTVIbmdEcEIsS0FBSyxFNEhtZ0RXLElBQUk7TS9IcGdEdEIsUUFBUSxFK0hxZ0RjLFFBQVE7TS9IamdEMUIsR0FBVSxFK0hpZ0RrQixDQUFDO00vSGpnRDdCLE1BQVUsRStIaWdEeUIsQ0FBQztNL0hqZ0RwQyxJQUFVLEUrSGlnRDJCLENBQUM7TUFDdEMsVUFBVSxFQUFFLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxNQUFNO01BQ2pFLGVBQWUsRUFBRSxTQUFTO01BQzFCLGFBQWEsRUFBRSxPQUFPLEdBQ3ZCO0VBbERMLEFBcURFLHdCQXJEc0IsQ0FxRHRCLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJLEdBdUNaO0lBN0ZILEFBd0RJLHdCQXhEb0IsQ0FxRHRCLEtBQUssQ0FHSCxFQUFFLENBQUM7TUFDRCxTQUFTLEV0S3JoREwsU0FBdUI7TXNLc2hEM0IsY0FBYyxFQUFFLFNBQVM7TUFDekIsY0FBYyxFQUFFLEtBQUs7TUFDckIsS0FBSyxFOUYzaERlLE9BQU87TThGNGhEM0IsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLFFBQVE7TUFDakIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RjVoRGxCLElBQUksRzhGaWlEWDtNQXBFTCxBQWlFTSx3QkFqRWtCLENBcUR0QixLQUFLLENBR0gsRUFBRSxBQVNDLGNBQWMsQ0FBQztRQUNkLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lBbkVQLEFBc0VJLHdCQXRFb0IsQ0FxRHRCLEtBQUssQ0FpQkgsRUFBRSxDQUFDO01BQ0QsVUFBVSxFQUFFLE1BQU07TUFDbEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RmxpRFosT0FBTyxHOEZzakRwQjtNQTVGTCxBQTBFTSx3QkExRWtCLENBcUR0QixLQUFLLENBaUJILEVBQUUsQUFJQyxjQUFjLENBQUM7UUFDZCxTQUFTLEV0S3ZpRFAsU0FBdUI7UXNLd2lEekIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsT0FBTyxFQUFFLFVBQVU7UUFDbkIsVUFBVSxFQUFFLElBQUksR0FDakI7TUEvRVAsQUFpRk0sd0JBakZrQixDQXFEdEIsS0FBSyxDQWlCSCxFQUFFLEFBV0MsVUFBVyxDbEMxZ0RBLENBQUMsRWtDMGdERTtRQUNiLFNBQVMsRXRLOWlEUCxTQUF1QjtRc0sraUR6QixLQUFLLEU5Rm5qRGEsT0FBTyxHOEZvakQxQjtNQXBGUCxBQXdGUSx3QkF4RmdCLENBcUR0QixLQUFLLENBaUJILEVBQUUsQUFnQkMsYUFBYSxDQUVaLENBQUMsQ0FBQztRQUNBLFNBQVMsRXRLcmpEVCxPQUF1QixHc0tzakR4Qjs7QUFNVCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxlQUFlLEdBS3pCO0VBTkQsQUFHRSxxQkFIbUIsQ0FHbkIsTUFBTSxDQUFDO0lBQ0wsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBR0gsQUFFRSwyQkFGeUIsQ0FFekIsa0JBQWtCLENBQUMsaUJBQWlCLEFBQUEsd0JBQXdCLENBQUM7RUFDM0QsVUFBVSxFQUFFLENBQUMsR0FDZDs7QXRHLy9DQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VzRzIvQ3ZDLEFBQUEsMkJBQTJCLENBQUM7SUFpRHhCLGtGQUFrRixFQXVIckY7SUF4S0QsQUFPSSwyQkFQdUIsQ0FPdkIsa0JBQWtCLENBQUM7TUFDakIsT0FBTyxFQUFFLENBQUMsR0EyQlg7TUFuQ0wsQUFVTSwyQkFWcUIsQ0FPdkIsa0JBQWtCLEdBR2YsZ0JBQWdCLENBQUM7UUFDaEIsT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUUsTUFBTTtRQUN0QixXQUFXLEVBQUUsQ0FBQyxHQWlCZjtRQTlCUCxBQWVRLDJCQWZtQixDQU92QixrQkFBa0IsR0FHZixnQkFBZ0IsQ0FLZiwrQkFBK0IsQ0FBQztVQUM5QixLQUFLLEVBQUUsQ0FBQztVQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7UUFsQlQsQUFvQlEsMkJBcEJtQixDQU92QixrQkFBa0IsR0FHZixnQkFBZ0IsQ0FVZixpQ0FBaUMsQ0FBQztVQUNoQyxLQUFLLEVBQUUsQ0FBQztVQUNSLE9BQU8sRUFBRSxTQUFTO1VBQ2xCLGdCQUFnQixFOUZwakRMLE9BQU8sRzhGcWpEbkI7UUF4QlQsQUEwQlEsMkJBMUJtQixDQU92QixrQkFBa0IsR0FHZixnQkFBZ0IsQ0FnQmYscUJBQXFCLENBQUM7VUFDcEIsS0FBSyxFQUFFLENBQUM7VUFDUixPQUFPLEVBQUUsSUFBSSxHQUNkO01BN0JULEFBZ0NNLDJCQWhDcUIsQ0FPdkIsa0JBQWtCLENBeUJoQixFQUFFLEFBQUEsdUJBQXVCLENBQUM7UUFDeEIsYUFBYSxFQUFFLENBQUMsR0FDakI7SUFsQ1AsQUFxQ0ksMkJBckN1QixDQXFDdkIsa0JBQWtCLENBQUMsaUJBQWlCLEFBQUEsSUFBSyxDN0Q1ckNuQyx3QkFBd0IsQzZENHJDb0MsUUFBUSxDQUFDO01BQ3pFLElBQUksRUFBRSxnQkFBZ0IsR0FDdkI7SUF2Q0wsQUF5Q0ksMkJBekN1QixDQXlDdkIsbUJBQW1CLENBQUMsWUFBWSxHQUFDLEdBQUcsQ0FBQztNQUNuQyxRQUFRLEVBQUUsUUFBUTtNQUNsQixRQUFRLEVBQUUsTUFBTTtNQUNoQixLQUFLLEVBQUUsSUFBSTtNQUNYLFdBQVcsRUFBRSxNQUFNO01BQ25CLGlEQUFpRCxFQUNsRDtJQS9DTCxBQWtESSwyQkFsRHVCLENBa0R2QixxQkFBcUIsQ0FBQztNQUNwQixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLElBQUksRUFBRSxDQUFDO01BQ1AsTUFBTSxFQUFFLENBQUM7TUFDVCxLQUFLLEVBQUUsQ0FBQztNQUNSLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUksR0FDYjs7QUExREwsQUE4REksMkJBOUR1QixDQThEdEIsaUJBQVMsQ0FBQztFQUNULFNBQVMsRUFBRSxLQUFLLEdBQ2pCOztBQWhFTCxBQW1FTSwyQkFuRXFCLENBa0V0QiwyQkFBbUIsQ0FDbEIsMEJBQTBCLENBQUM7RUFDekIsTUFBTSxFQUFFLElBQUksR0FDYjs7QXRHaGtESCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VzRzIvQ3ZDLEFBMEVJLDJCQTFFdUIsQ0F5RXpCLGFBQWEsQUFDVixhQUFhLENBQUM7SUFFWCxPQUFPLEVBQUUsS0FBSyxHQUVqQjs7QUE5RUwsQUFpRk0sMkJBakZxQixDQWdGdEIsaUNBQW9CLEdBQ2xCLEdBQUcsQ0FBQztFQUNILE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RnJwRFAsT0FBTztFOEZzcERqQixlQUFlLEVBQUUsYUFBYTtFQUM5QixLQUFLLEVBQUUsS0FBSztFQUNaLGFBQWEsRUFBRSxJQUFJLEdBUXBCO0V0R3psREgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0cyL0N2QyxBQWlGTSwyQkFqRnFCLENBZ0Z0QixpQ0FBb0IsR0FDbEIsR0FBRyxDQUFDO01BUUQsYUFBYSxFQUFFLENBQUM7TUFDaEIsZ0JBQWdCLEU5RjVwRFIsT0FBTztNOEY2cERmLEtBQUssRUFBRSxJQUFJO01BQ1gsV0FBVyxFQUFFLE1BQU0sR0FFdEI7O0FBOUZQLEFBbUdNLDJCQW5HcUIsQ0FtR3BCLGlDQUFhLENBQUM7RUFDYixLQUFLLEVBQUUsaUJBQWlCO0VBQ3hCLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDOUZ2cURiLE9BQU87RThGd3FEakIsT0FBTyxFQUFFLE1BQU07RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNLEdBOEN2QjtFQXRKUCxBQTBHUSwyQkExR21CLENBbUdwQixpQ0FBYSxDQU9aLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxDQUFDLEdBQ1Q7RUE1R1QsQUE4R1EsMkJBOUdtQixDQW1HcEIsaUNBQWEsQ0FXWixJQUFJLENBQUM7SUFDSCxLQUFLLEVBQUUsQ0FBQyxHQUNUO0VBaEhULEFBa0hRLDJCQWxIbUIsQ0FtR3BCLGlDQUFhLENBZVosTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLENBQUMsR0FDVDtFdEcvbURMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNHMi9DdkMsQUFtR00sMkJBbkdxQixDQW1HcEIsaUNBQWEsQ0FBQztNQW9CWCxjQUFjLEVBQUUsR0FBRztNQUNuQixlQUFlLEVBQUUsYUFBYTtNQUM5QixXQUFXLEVBQUUsTUFBTSxHQTZCdEI7TUF0SlAsQUEySFUsMkJBM0hpQixDQW1HcEIsaUNBQWEsQ0F3QlYsMkJBQTJCLENBQUMsMEJBQTBCLENBQUM7UUFDckQsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtFQTdIWCxBQWdJUSwyQkFoSW1CLENBbUdwQixpQ0FBYSxDQTZCWiwrQ0FBK0MsQ0FBQztJQUM5QyxZQUFZLEVBQUUsQ0FBQyxHQUtoQjtJdEdqb0RMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNHMi9DdkMsQUFnSVEsMkJBaEltQixDQW1HcEIsaUNBQWEsQ0E2QlosK0NBQStDLENBQUM7UUFJNUMsU0FBUyxFQUFFLElBQUksR0FFbEI7RUF0SVQsQUEwR1EsMkJBMUdtQixDQW1HcEIsaUNBQWEsQ0FPWixLQUFLLENBOEJDO0lBQ0osS0FBSyxFOUZodERXLE9BQU87SThGaXREdkIsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsS0FBSztJQUNyQixjQUFjLEVBQUUsU0FBUztJQUN6QixVQUFVLEVBQUUsR0FBRyxHQUtoQjtJdEdocERMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXNHMi9DdkMsQUEwR1EsMkJBMUdtQixDQW1HcEIsaUNBQWEsQ0FPWixLQUFLLENBOEJDO1FBV0YsVUFBVSxFQUFFLENBQUMsR0FFaEI7O0FBckpULEFBd0pNLDJCQXhKcUIsQ0FpR3RCLG9CQUFPLENBdUROLGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRUFBRSxlQUFlLEdBQ3ZCOztBQTFKUCxBQTZKSSwyQkE3SnVCLENBNkp0QixvQkFBTyxDQUFDO0VBQ1AsVUFBVSxFQUFFLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxNQUFNO0VBQ2pFLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFNBQVMsRUFBRSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLENBQUMsR0FDWDs7QUN0dkRMLEFBRUUsMkJBRnlCLENBRXpCLGtCQUFrQixDQUFDO0UxRzJDbkIsV0FBNkIsRUFBUyxTQUFzRjtFMEd6QzFILFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBTEgsQUFRSSwyQkFSdUIsQ0FPekIsUUFBUSxDQUNOLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsTUFBTTtFQUNkLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBYkwsQUFnQkUsMkJBaEJ5QixDQWdCekIsT0FBTyxBQUFBLGNBQWMsQ0FBQztFQUNwQixXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQWxCSCxBQXFCSSwyQkFyQnVCLENBb0J6QixVQUFVLEFBQUEsWUFBWSxDQUNwQixFQUFFLENBQUM7RUFDRCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQXZCTCxBQTBCRSwyQkExQnlCLENBMEJ6QixVQUFVO0FBMUJaLDJCQUEyQixDQTJCekIsZ0JBQWdCO0FBM0JsQiwyQkFBMkIsQ0E0QnpCLFVBQVUsQUFBQSxjQUFjLENBQUM7RUFDdkIsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBOUJILEFBa0NJLDJCQWxDdUIsQ0FnQ3pCLGdCQUFnQixDQUVkLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxNQUFNLEdBS2hCO0VBeENMLEFBcUNNLDJCQXJDcUIsQ0FnQ3pCLGdCQUFnQixDQUVkLE9BQU8sQUFHSixjQUFjLENBQUM7SUFDZCxXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQXZDUCxBQTBDSSwyQkExQ3VCLENBZ0N6QixnQkFBZ0IsQ0FVZCxPQUFPLENBQUMsRUFBRSxDQUFDO0VBQ1QsU0FBUyxFdks5QkwsU0FBdUI7RXVLK0IzQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEUvRnRDUSxPQUFPO0UrRnVDcEIsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBL0NMLEFBaURJLDJCQWpEdUIsQ0FnQ3pCLGdCQUFnQixDQWlCZCxNQUFNLENBQUM7RUFDTCxTQUFTLEV2S3JDTCxTQUF1QjtFdUtzQzNCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRS9GNUNhLE9BQU87RStGNkN6QixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsTUFBTTtFQUN0QixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QXZHOEJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVHdEZ2QyxBQUVFLDJCQUZ5QixDQUV6QixrQkFBa0IsQ0EwREc7STFHZnJCLFdBQTZCLEVBQVMsRUFBc0Y7SUZvQjFILEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7SUlxRTFDLEtBQUssRUoxRUQsSUFBcUMsR2dIcUQxQztJQS9ETCxBNUdzRk0sMkI0R3RGcUIsQ0E0RHZCLGtCQUFrQixBNUcwQmYsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9COztBS0ZILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVHdEZ2QyxBQUVFLDJCQUZ5QixDQUV6QixrQkFBa0IsQ0FrRUc7SUFDakIsT0FBTyxFQUFFLENBQUMsR0FDWDtFQXRFTCxBQTBCRSwyQkExQnlCLENBMEJ6QixVQUFVO0VBMUJaLDJCQUEyQixDQTJCekIsZ0JBQWdCO0VBM0JsQiwyQkFBMkIsQ0E0QnpCLFVBQVUsQUFBQSxjQUFjLENBOENHO0lBQ3ZCLE9BQU8sRUFBRSxXQUFXLEdBQ3JCO0VBNUVMLEFBZ0ZNLDJCQWhGcUIsQ0E4RXZCLGlCQUFpQixDQUVmLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDakIsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQW5GUCxBQXFGTSwyQkFyRnFCLENBOEV2QixpQkFBaUIsQ0FPZixjQUFjLENBQUM7SUFDYixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBdkZQLEFBeUZNLDJCQXpGcUIsQ0E4RXZCLGlCQUFpQixDQVdmLG9CQUFvQixDQUFDO0lBQ25CLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0F2R0xILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVHdEZ2QyxBQStGRSwyQkEvRnlCLENBK0Z6Qix1QkFBdUIsQ0FBQztJekd4RXhCLE9BQU8sRXlHMEVVLENBQUMsQ0FBQyxJQUFJLEdBRXRCOztBQW5HSCxBQXFHRSwyQkFyR3lCLENBcUd6QixxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLEdBQUcsRUFBRSxJQUFJO0VBQ1QsU0FBUyxFQUFFLElBQUk7RUFDZixhQUFhLEVBQUUsSUFBSSxHQThGcEI7RXZHakhDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVHdEZ2QyxBQXFHRSwyQkFyR3lCLENBcUd6QixxQkFBcUIsQ0FBQztNekc5RXRCLE9BQU8sRXlHcUZVLENBQUMsQ0FBQyxJQUFJO01BQ25CLE9BQU8sRUFBRSxLQUFLLEdBMEZqQjtFQXZNSCxBQWtITSwyQkFsSHFCLENBcUd6QixxQkFBcUIsQ0FhaEIsa0JBQUssQ0FBQztJQUNMLE9BQU8sRUFBRSxZQUFZLEdBV3RCO0l2R3hDSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO011R3RGdkMsQUFrSE0sMkJBbEhxQixDQXFHekIscUJBQXFCLENBYWhCLGtCQUFLLENBQUM7UUFJSCxPQUFPLEVBQUUsS0FBSyxHQVFqQjtJdkd4Q0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNdUd0RnZDLEFBeUhRLDJCQXpIbUIsQ0FxR3pCLHFCQUFxQixDQWFoQixrQkFBSyxBQU9ILGNBQWMsQ0FBQztRQUVaLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0VBN0hULEFBZ0lNLDJCQWhJcUIsQ0FxR3pCLHFCQUFxQixDQTJCaEIsbUJBQU0sQ0FBQztJQUNOLFNBQVMsRXZLcEhQLE1BQXVCO0l1S3FIekIsY0FBYyxFQUFFLE9BQU87SUFDdkIsYUFBYSxFdkt0SFgsU0FBdUIsR3VLdUgxQjtFQXBJUCxBQXNJTSwyQkF0SXFCLENBcUd6QixxQkFBcUIsQ0FpQ2hCLGtCQUFLLENBQUM7SUFDTCxPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxJQUFJO0lBQ1QsU0FBUyxFQUFFLElBQUksR0FvQ2hCO0l2R3ZGSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO011R3RGdkMsQUFzSU0sMkJBdElxQixDQXFHekIscUJBQXFCLENBaUNoQixrQkFBSyxDQUFDO1FBTUgsT0FBTyxFQUFFLElBQUk7UUFDYixxQkFBcUIsRUFBRSx1Q0FBdUM7UUFDOUQsR0FBRyxFQUFFLElBQUksR0ErQlo7SUE3S1AsQUFpSlEsMkJBakptQixDQXFHekIscUJBQXFCLENBNENkLDBCQUFRLENBQUM7TUFDUixPQUFPLEVBQUUsS0FBSyxHQUNmO0lBbkpULEFBcUpRLDJCQXJKbUIsQ0FxR3pCLHFCQUFxQixDQWdEZCx1QkFBSyxDQUFDO01BRUwsVUFBVSxFdksxSVYsT0FBdUIsR3VLK0p4QjtNQTVLVCxBQXlKVSwyQkF6SmlCLENBcUd6QixxQkFBcUIsQ0FnRGQsdUJBQUssQ0FJSixHQUFHLENBQUM7UUFDRixzQkFBc0IsRXZLN0l4QixNQUF1QjtRdUs4SXJCLHVCQUF1QixFdks5SXpCLE1BQXVCO1F1SytJckIsU0FBUyxFdksvSVgsU0FBdUI7UXVLZ0pyQixNQUFNLEV2S2hKUixVQUF1QixHdUtpSnRCO01BOUpYLEFBZ0tVLDJCQWhLaUIsQ0FxR3pCLHFCQUFxQixDQWdEZCx1QkFBSyxDQVdKLFVBQVUsQ0FBQztRQUNULGdCQUFnQixFL0ZqR1AsT0FBTztRK0ZrR2hCLHlCQUF5QixFdktySjNCLE1BQXVCO1F1S3NKckIsMEJBQTBCLEV2S3RKNUIsTUFBdUI7UXVLdUpyQixPQUFPLEVBQUUsa0JBQWtCLEdBTzVCO1FBM0tYLEFBc0tZLDJCQXRLZSxDQXFHekIscUJBQXFCLENBZ0RkLHVCQUFLLENBV0osVUFBVSxDQU1SLFNBQVMsQ0FBQztVQUNSLEtBQUssRS9GcEhGLE9BQU87VStGcUhWLFNBQVMsRUFBRSxJQUFJO1VBQ2YsV0FBVyxFQUFFLElBQUksR0FDbEI7RUExS2IsQUErS00sMkJBL0txQixDQXFHekIscUJBQXFCLENBMEVoQix3QkFBVyxDQUFDO0lBQ1gsS0FBSyxFL0Z0S2EsT0FBTztJK0Z1S3pCLFNBQVMsRXZLcEtQLFFBQXVCO0l1S3FLekIsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFuTFAsQUFxTE0sMkJBckxxQixDQXFHekIscUJBQXFCLENBZ0ZoQixrQkFBSyxDQUFDO0lBQ0wsYUFBYSxFdkt6S1gsTUFBdUI7SXVLMEt6QixTQUFTLEV2SzFLUCxTQUF1QjtJdUsyS3pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRS9GbExNLE9BQU8sRytGbUxuQjtFQTFMUCxBQTRMTSwyQkE1THFCLENBcUd6QixxQkFBcUIsQ0F1RmhCLHdCQUFXLENBQUM7SUFDWCxTQUFTLEV2S2hMUCxPQUF1QjtJdUtpTHpCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBL0xQLEFBaU1NLDJCQWpNcUIsQ0FxR3pCLHFCQUFxQixDQTRGaEIsdUJBQVUsQ0FBQztJQUNWLFNBQVMsRXZLckxQLE9BQXVCO0l1S3NMekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFQUFFLHVCQUF1QixHQUMvQjs7QUNyTVAsQUFBQSxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUSxHQXFCbkI7RUF0QkQsQUFHRSxZQUhVLENBR1YsK0JBQStCLEFBQUEsTUFBTSxDQUFDO0lBQ3BDLFlBQVksRWhHMkJFLE9BQU8sR2dHMUJ0QjtFeEdpRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0d0RnZDLEFBU0ksWUFUUSxDQVNSLFNBQVMsQ0FBQztNQUNSLE1BQU0sRUFBRSxNQUFNO01BQ2QsS0FBSyxFQUFFLGlCQUFpQjtNQUN4QixhQUFhLEVBQUUsSUFBSTtNQUNuQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQVVMLEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsS0FBSztFQUNWLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLFVBQVUsRUFBRSxzQkFBc0I7RUFDbEMsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsdUZBQXVGO0VBQ25HLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxFQUFFLEdBU1o7RUFuQkQsQUFZRSxpQkFaZSxBQVlkLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxJQUFJO0lBQ1QsTUFBTSxFQUFFLGtCQUFrQjtJQUMxQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLDhDQUE4QyxHQUMzRDs7QUFHSCxBQUFBLFlBQVksQ0FBQztFQUNYLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLFlBQVk7RUFDcEIsUUFBUSxFQUFFLFFBQVEsR0FtQ25CO0VBdkNELEFBTUUsWUFOVSxDQU1WLE1BQU0sQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsS0FBSyxFQUFFLEtBQUs7SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7RUFaSCxBQWNFLFlBZFUsQ0FjVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBQWE7SUFDakIsVUFBVSxFQUFFLENBQUM7SUFDYixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBbkJILEFBcUJFLFlBckJVLENBcUJWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxDQUFDO0lBQ1QsY0FBYyxFQUFFLElBQUk7SUFDcEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLE9BQU87SUFDbkIsVUFBVSxFQUFFLGtDQUFrQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUztJQUN0RSxXQUFXLEVBQUUsT0FBTztJQUNwQixNQUFNLEVBQUUsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLElBQUk7SUFDVCxVQUFVLEVBQUUsMkJBQTJCLEdBS3hDO0lBdENILEFBbUNJLFlBbkNRLENBcUJWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FjSCxNQUFNLENBQUM7TUFDTixnQkFBZ0IsRWhHbkROLE9BQU8sR2dHb0RsQjs7QUFsRkwsQUFBQSxZQUFZLENBc0ZDO0VBQ1gsZ0JBQWdCLEVoR3hCQyxPQUFPLEdnR29HekI7RUExRUUsQUFBRCxtQkFBUSxDQUFDO0lBQ1AsZ0JBQWdCLEVoR3pDTCxPQUFPLEdnRzBDbkI7RUFFQSxBQUFELGlCQUFNLENBQUM7STFHdEVQLE9BQU8sRTBHdUVRLElBQUksQ0FBQyxDQUFDO0lBQ25CLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLE1BQU0sR0E4QmY7SUFsQ0EsQUFNQyxpQkFOSSxDQU1KLHFCQUFxQixDQUFDO01BQ3BCLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLENBQUMsR0FDWDtJQVRGLEFBV0MsaUJBWEksQ0FXSixvQkFBb0IsQ0FBQztNQUNuQixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxDQUFDO01BQ1YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLENBQUM7TUFDUixHQUFHLEVBQUUsQ0FBQyxHQUNQO0lBakJGLEFBbUJDLGlCQW5CSSxDQW1CSixzQkFBc0IsQ0FBQztNQUNyQixhQUFhLEVBQUUsQ0FBQztNQUNoQixRQUFRLEVBQUUsUUFBUSxHQUNuQjtJQXRCRixBQXdCQyxpQkF4QkksQ0F3QkosWUFBWSxDQUFDO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsQ0FBQztNQUNULFdBQVcsRUFBRSxJQUFJO01BQ2pCLFFBQVEsRUFBRSxNQUFNO01BQ2hCLE1BQU0sRUFBRSxDQUFDO01BQ1QsV0FBVyxFQUFFLE9BQU87TUFDcEIsVUFBVSxFQUFFLGtDQUFrQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUztNQUN0RSxNQUFNLEVBQUUsWUFBWSxHQUNyQjtFQUdGLEFBQUQsa0JBQU8sQ0FBQztJMUcxR1IsT0FBTyxFMEcyR1EsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQ3pCO0VBRUEsQUFBRCxvQkFBUyxDQUFDO0lBQ1IsU0FBUyxFekszSEgsUUFBc0I7SXlLNEg1QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsUUFBUTtJQUN4QixLQUFLLEVoR2hGVyxPQUFPLEdnR3NGeEI7SXhHMURDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdHK0NwQyxBQUFELG9CQUFTLENBQUM7UUFRTixTQUFTLEV4S2hJTCxNQUF1QjtRd0tpSTNCLFdBQVcsRUFBRSxHQUFHLEdBRW5CO0VBRUEsQUFBRCxvQkFBUyxDQUFDO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsR0FBRyxFQUFFLFNBQVM7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQVlwQjtJeEc1RUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0c0RHBDLEFBQUQsb0JBQVMsQ0FBQztRQU9OLE9BQU8sRUFBRSxJQUFJO1FBQ2IsY0FBYyxFQUFFLE1BQU0sR0FRekI7SXhHNUVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdHNERwQyxBQVdDLG9CQVhPLENBV1AsT0FBTyxDQUFDO1ExR3RJVixPQUFPLEUwR3dJWSxJQUFJLENBQUMsSUFBSSxHQUV6Qjs7QUNqS0wsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEVqR21EUyxPQUFPO0VpR2xEMUIsT0FBTyxFQUFFLE9BQU8sR0F5SGpCO0V6R3JDRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5R3RGdkMsQUFJRSxhQUpXLENBSVgsUUFBUSxDQUFDO00zR21CVCxPQUFPLEUyR2pCVSxDQUFDLEdBRWpCO0VBUkgsQUFVRSxhQVZXLENBVVgsTUFBTSxDQUFDO0lBQ0wsZ0JBQWdCLEVqRzJDWCxJQUFJO0lpRzFDVCxhQUFhLEVBQUUsSUFBSTtJM0dXckIsT0FBTyxFMkdWUSxJQUFJLENBQUMsSUFBSTtJQUN0QixTQUFTLEV6S0RILFNBQXVCLEd5S005QjtJekdtRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNeUd0RnZDLEFBVUUsYUFWVyxDQVVYLE1BQU0sQ0FBQztRM0dhUCxPQUFPLEUyR05VLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FFbkM7RUFuQkgsQUFxQkUsYUFyQlcsQ0FxQlgsWUFBWSxDQUFDO0lBQ1gsZUFBZSxFQUFFLElBQUk7SUFDckIsU0FBUyxFektWSCxTQUF1QjtJeUtXN0IsY0FBYyxFQUFFLFNBQVM7SUFDekIsY0FBYyxFakcrQ0QsTUFBTTtJaUc5Q25CLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLENBQUMsR0FDWDtFQTVCSCxBQThCRSxhQTlCVyxDQThCWCxFQUFFLENBQUM7SUFDRCxTQUFTLEV6S2xCSCxTQUF1QjtJeUttQjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBcENILEFBc0NFLGFBdENXLENBc0NYLEVBQUU7RUF0Q0osYUFBYSxDQXVDWCxFQUFFLENBQUM7SUFDRCxTQUFTLEV6SzNCSCxRQUF1QjtJeUs0QjdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBM0NILEFBNkNFLGFBN0NXLENBNkNYLEtBQUssQ0FBQztJQUNKLFNBQVMsRXpLakNILFNBQXVCO0l5S2tDN0IsS0FBSyxFakd0Q2lCLE9BQU87SWlHdUM3QixhQUFhLEVBQUUsSUFBSTtJQUNuQixPQUFPLEVBQUUsS0FBSyxHQUNmO0VBbERILEFBb0RFLGFBcERXLENBb0RYLFFBQVEsQ0FBQztJQUNQLFNBQVMsRXpLeENILFNBQXVCO0l5S3lDN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFakdoRFUsT0FBTztJaUdpRHRCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBekRILEFBNERJLGFBNURTLENBMkRYLEtBQUssQ0FDSCxNQUFNLENBQUM7SUFDTCxTQUFTLEVBQUUsT0FDYixHQUFDO0VBOURMLEFBZ0VJLGFBaEVTLENBMkRYLEtBQUssQ0FLSCxFQUFFLENBQUM7SS9GOUJMLFNBQVMsRTFFckJELFFBQXVCO0kwRXNCL0IsTUFBTSxFQUFFLE1BQU07SUFDZCxlQUFlLEVBQUUsSUFBSTtJQUNyQixnQkFBZ0IsRUFBRSxJQUFJLEcrRjZCbkI7SUFsRUwsQS9GdUNFLGErRnZDVyxDQTJEWCxLQUFLLENBS0gsRUFBRSxDL0Z6QkosRUFBRSxDQUFDO01BRUQsYUFBYSxFQUFFLElBQUk7TUFDbkIsWUFBWSxFQUFFLElBQUk7TUFDbEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsZUFBZSxFQUFFLElBQUk7TUFDckIsZ0JBQWdCLEVBQUUsSUFBSTtNQUN0QixVQUFVLEVBQUUsSUFBSSxHQWVqQjtNK0Y5REgsQS9GaURJLGErRmpEUyxDQTJEWCxLQUFLLENBS0gsRUFBRSxDL0Z6QkosRUFBRSxBQVVDLE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxFQUFFO1FBQ1gsVUFBVSxFRmpDTSxPQUFPO1FFa0N2QixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO1FBQ1gsYUFBYSxFQUFFLEdBQUc7UUFDbEIsT0FBTyxFQUFFLFlBQVk7UUFDckIsY0FBYyxFQUFFLE1BQU07UUFDdEIsWUFBWSxFQUFFLElBQUk7UUFDbEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsSUFBSSxFQUFFLENBQUM7UUFDUCxHQUFHLEVBQUUsSUFBSSxHQUNWO0UrRjdETCxBQW9FSSxhQXBFUyxDQTJEWCxLQUFLLENBU0gsRUFBRSxDQUFDO0lBQ0QsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUF0RUwsQUF3RUksYUF4RVMsQ0EyRFgsS0FBSyxDQWFILElBQUksQ0FBQztJQUNILFNBQVMsRXpLNURMLElBQXVCO0k4RFUvQixPQUFPLEUyR21EVSxHQUFHLENBQUMsSUFBSSxHQVN0QjtJQW5GTCxBQTRFTSxhQTVFTyxDQTJEWCxLQUFLLENBYUgsSUFBSSxBQUlELE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxrQ0FBa0M7TUFDM0MsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0V6R0lILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlHdEZ2QyxBQUFBLGFBQWEsQ0FBQztNQXVGVixPQUFPLEVBQUUsY0FBYyxHQW9DMUI7TUEzSEQsQUFxQkUsYUFyQlcsQ0FxQlgsWUFBWSxDQW9FRztRQUNYLFNBQVMsRXpLN0VMLFFBQXVCO1F5SzhFM0IsTUFBTSxFQUFFLE9BQU8sR0FDaEI7TUE1RkwsQUE4QkUsYUE5QlcsQ0E4QlgsRUFBRSxDQWdFRztRQUNELFNBQVMsRXpLbEZMLE1BQXVCO1F5S21GM0IsV0FBVyxFQUFFLElBQUk7UUFDakIsYUFBYSxFektwRlQsTUFBdUIsR3lLcUY1QjtNQWxHTCxBQW9HSSxhQXBHUyxDQW9HVCxFQUFFLENBQUM7UUFDRCxTQUFTLEV6S3hGTCxTQUF1QjtReUswRjNCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO01BeEdMLEFBb0RFLGFBcERXLENBb0RYLFFBQVEsQ0FzREc7UUFDUCxTQUFTLEV6SzlGTCxPQUF1QjtReUsrRjNCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BOUdMLEFBZ0VJLGFBaEVTLENBMkRYLEtBQUssQ0FLSCxFQUFFLENBa0RHO1FBQ0QsU0FBUyxFekt0R1AsT0FBdUIsR3lLdUcxQjtNQXBIUCxBQW9FSSxhQXBFUyxDQTJEWCxLQUFLLENBU0gsRUFBRSxDQWtERztRQUNELGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQUtQLEFBQUEsNEJBQTRCLENBQUM7RUFFM0IsZUFBZSxFQUFFLFNBQVMsR0F1UjNCO0VBelJELEFBSUUsNEJBSjBCLENBSTFCLDhCQUE4QixDQUFDLENBQUMsQ0FBQztJQUMvQixTQUFTLEV6S3JISCxNQUF1QjtJeUtzSDdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRWpHN0hVLE9BQU87SWlHOEh0QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVRILEFBV0UsNEJBWDBCLENBVzFCLHVCQUF1QixDQUFDO0kvR3hHeEIsU0FBUyxFTGRDLEtBQUs7SUtnQmIsV0FBSSxFQUFFLElBQUk7SUFDVixZQUFLLEVBQUUsSUFBSSxHK0drWFo7SUF4UkgsQXhJckhFLDRCd0lxSDBCLENBVzFCLHVCQUF1QixBeEloSXRCLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0l3SWlISCxBQWNJLDRCQWR3QixDQVcxQix1QkFBdUIsQ0FHckIsUUFBUSxDQUFDO01BQ1AsT0FBTyxFQUFFLFlBQVk7TUFDckIsU0FBUyxFQUFFLEtBQUssR0FNakI7TUF0QkwsQUFrQk0sNEJBbEJzQixDQVcxQix1QkFBdUIsQ0FHckIsUUFBUSxDQUlOLEVBQUUsQ0FBQztRQUNELFNBQVMsRXpLbklQLE1BQXVCO1F5S29JekIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUFyQlAsQUF3QkksNEJBeEJ3QixDQVcxQix1QkFBdUIsQ0FhckIsVUFBVSxDQUFDO01BQ1QsTUFBTSxFQUFFLFFBQVEsR0FDakI7SUExQkwsQUE0QkksNEJBNUJ3QixDQVcxQix1QkFBdUIsQ0FpQnJCLGlCQUFpQjtJQTVCckIsNEJBQTRCLENBVzFCLHVCQUF1QixDQWtCckIsNEJBQTRCLENBQUM7TTlHekY3QixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDLEdrSGtKMUM7TUEvQkwsQTlHdkNNLDRCOEd1Q3NCLENBVzFCLHVCQUF1QixDQWlCckIsaUJBQWlCLEE5R25FZCxXQUFXO004R3VDbEIsNEJBQTRCLENBVzFCLHVCQUF1QixDQWtCckIsNEJBQTRCLEE5R3BFekIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0k4R3FDUCxBQWlDSSw0QkFqQ3dCLENBVzFCLHVCQUF1QixDQXNCckIsMkJBQTJCO0lBakMvQiw0QkFBNEIsQ0FXMUIsdUJBQXVCLENBdUJyQixnQ0FBZ0MsQ0FBQztNaEh4Ry9CLFlBQW9CLEVBQVMsQ0FBQyxHZ0gwRy9CO0lBcENMLEFBc0NJLDRCQXRDd0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0FBQztNQUN2QixRQUFRLEVBQUUsUUFBUSxHQWlJbkI7TUF4S0wsQUF5Q00sNEJBekNzQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQUd0Qix1QkFBdUIsQ0FBQztRQUN0QixPQUFPLEVBQUUsSUFBSSxHQUtkO1FBL0NQLEFBNENRLDRCQTVDb0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0FHdEIsdUJBQXVCLEFBR3BCLE9BQU8sQ0FBQztVQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUE5Q1QsQUFpRE0sNEJBakRzQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQVd0QixRQUFRLENBQUM7UUFDUCxNQUFNLEVBQUUsQ0FBQztRQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7TUFwRFAsQUFzRE0sNEJBdERzQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQWdCdEIsZ0JBQWdCLENBQUM7UUFDZixTQUFTLEV6S3ZLUCxTQUF1QjtReUt3S3pCLEtBQUssRWpHNUthLE9BQU87UWlHNkt6QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtNQTFEUCxBQTRETSw0QkE1RHNCLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBc0J0QixpQkFBaUIsQ0FBQztRQUNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pHM0tILE9BQU8sR2lHNEt0QjtNQS9EUCxBQWlFTSw0QkFqRXNCLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBMkJ0QixxQkFBcUIsQ0FBQztRQUNwQixLQUFLLEVBQUUsS0FBSztRQUNaLFNBQVMsRXpLbkxQLFFBQXVCO1F5S29MekIsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFakd6TGEsT0FBTztRaUcwTHpCLGNBQWMsRUFBRSxTQUFTO1FsSWpML0IsUUFBUSxFa0lrTGdCLFFBQVE7UWxJOUs1QixNQUFVLEVrSThLOEIsSUFBSTtRbEk5SzVDLElBQVUsRWtJOEttQyxHQUFHLEdBQy9DO01BeEVQLEFBMEVNLDRCQTFFc0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0FvQ3RCLHVCQUF1QixDQUFDO1FBQ3RCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLE1BQU0sR0FnQ2hCO1FBN0dQLEFBK0VRLDRCQS9Fb0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0FvQ3RCLHVCQUF1QixBQUtwQixPQUFPLENBQUM7VUFDUCxPQUFPLEVBQUUsRUFBRTtVbEkzTG5CLFFBQVEsRWtJNExrQixRQUFRO1VsSXhMOUIsR0FBVSxFa0l3THNCLEdBQUc7VWxJeExuQyxJQUFVLEVrSXdMb0MsSUFBSTtVaklyTWhELGlCQUFvQixFaUlzTUMsZ0JBQWdCO1VqSWpNckMsY0FBaUIsRWlJaU1JLGdCQUFnQjtVakk1THJDLGFBQWdCLEVpSTRMSyxnQkFBZ0I7VWpJdkxyQyxZQUFlLEVpSXVMTSxnQkFBZ0I7VWpJbExyQyxTQUFZLEVpSWtMUyxnQkFBZ0I7VUFDbkMsVUFBVSxFQUFFLHlDQUF5QyxDQUFDLFNBQVMsQ0FBQyxNQUFNO1VBQ3RFLGVBQWUsRUFBRSxTQUFTO1UvSHRNaEMsTUFBTSxFK0h1TWMsSUFBSTtVL0gvTHhCLEtBQUssRStIK0xlLElBQUksR0FDbkI7UUF0RlQsQUF3RlEsNEJBeEZvQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQW9DdEIsdUJBQXVCLENBY3JCLEtBQUssQ0FBQztVQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7UUExRlQsQUE0RlEsNEJBNUZvQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQW9DdEIsdUJBQXVCLENBa0JyQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7VUFDbkIsU0FBUyxFeks3TVQsT0FBdUI7VXlLOE12QixPQUFPLEVBQUUsYUFBYTtVbEl6TTlCLFFBQVEsRWtJME1rQixRQUFRO1VsSXRNOUIsR0FBVSxFa0lzTXNCLEtBQUs7VWxJdE1yQyxLQUFVLEVrSXNNNEIsQ0FBQyxHQUdwQztRQWxHVCxBQW9HUSw0QkFwR29CLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBb0N0Qix1QkFBdUIsQ0EwQnJCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtVQUNqQixTQUFTLEV6S3JOVCxPQUF1QjtVdUNLL0IsUUFBUSxFa0lpTmtCLFFBQVE7VWxJN005QixHQUFVLEVrSTZNc0IsS0FBSztVbEk3TXJDLElBQVUsRWtJNk1zQyxDQUFDLEdBTTlDO01BNUdULEFBK0dNLDRCQS9Hc0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0F5RXRCLFlBQVksQ0FBQztRQUNYLEtBQUssRUFBRSxLQUFLO1FBQ1osU0FBUyxFektqT1AsU0FBdUI7UXlLa096QixXQUFXLEVBQUUsSUFBSTtRQUNqQixPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRWpHeE9hLE9BQU87UWpDUy9CLFFBQVEsRWtJZ09nQixRQUFRO1FsSTVONUIsR0FBVSxFa0k0Tm9CLEdBQUc7UWxJNU5qQyxJQUFVLEVrSTROa0MsR0FBRztRakl6TzdDLGlCQUFvQixFaUkwT0QsZ0JBQWdCO1FqSXJPbkMsY0FBaUIsRWlJcU9FLGdCQUFnQjtRakloT25DLGFBQWdCLEVpSWdPRyxnQkFBZ0I7UWpJM05uQyxZQUFlLEVpSTJOSSxnQkFBZ0I7UWpJdE5uQyxTQUFZLEVpSXNOTyxnQkFBZ0IsR0FNcEM7UUE1SFAsQUF3SFEsNEJBeEhvQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQXlFdEIsWUFBWSxDQVNWLE1BQU0sQ0FBQztVQUNMLFNBQVMsRXpLek9ULFNBQXVCO1V5SzBPdkIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7TUEzSFQsQUE4SE0sNEJBOUhzQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQXdGdEIsS0FBSyxDQUFDO1FBQ0osTUFBTSxFQUFFLENBQUMsR0FvQ1Y7UUFuS1AsQUFpSVEsNEJBaklvQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQXdGdEIsS0FBSyxDQUdILEtBQUs7UUFqSWIsNEJBQTRCLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBd0Z0QixLQUFLLENBSUgsVUFBVTtRQWxJbEIsNEJBQTRCLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBd0Z0QixLQUFLLENBS0gsaUJBQWlCLENBQUM7VUFDaEIsT0FBTyxFQUFFLElBQUksR0FDZDtRQXJJVCxBQXVJUSw0QkF2SW9CLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBd0Z0QixLQUFLLENBU0gsRUFBRSxDQUFDO1VBQ0QsTUFBTSxFQUFFLENBQUMsR0FDVjtRQXpJVCxBQTJJUSw0QkEzSW9CLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBd0Z0QixLQUFLLENBYUgsRUFBRSxDQUFDO1VBQ0QsT0FBTyxFQUFFLGFBQWEsR0FDdkI7UUE3SVQsQUErSVEsNEJBL0lvQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQXdGdEIsS0FBSyxDQWlCSCxrQkFBa0IsQ0FBQztVQUNqQixTQUFTLEV6S2hRVCxPQUF1QjtVeUtpUXZCLEtBQUssRWpHbFFILElBQUk7VWlHbVFOLGNBQWMsRUFBRSxTQUFTLEdBSzFCO1VBdkpULEFBb0pVLDRCQXBKa0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0F3RnRCLEtBQUssQ0FpQkgsa0JBQWtCLENBS2hCLENBQUMsQ0FBQztZQUNBLEtBQUssRWpHdFFMLElBQUksR2lHdVFMO1FBdEpYLEFBeUpRLDRCQXpKb0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0F3RnRCLEtBQUssQ0EyQkgsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO1VBQ25CLEtBQUssRUFBRSxLQUFLO1VBQ1osT0FBTyxFQUFFLENBQUM7VUFDVixTQUFTLEVBQUUsQ0FBQztVQUNaLE1BQU0sRUFBRSxDQUFDO1VBQ1QsYUFBYSxFQUFFLENBQUM7VS9IaFJ0QixNQUFNLEUrSGlSYyxJQUFJO1UvSHpReEIsS0FBSyxFK0h5UWUsSUFBSTtVQUNsQixVQUFVLEVBQUUsd0NBQXdDLENBQUMsU0FBUyxDQUFDLE1BQU07VUFDckUsZUFBZSxFQUFFLFFBQVEsR0FDMUI7TUFsS1QsQUFxS00sNEJBcktzQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQStIdEIsZ0NBQWdDLENBQUM7UUFDL0IsT0FBTyxFQUFFLElBQUksR0FDZDtJQXZLUCxBQTBLSSw0QkExS3dCLENBVzFCLHVCQUF1QixDQStKckIsMkJBQTJCLENBQUM7TUFDMUIsS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEVBQUUsSUFBSTtNQUNYLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0lBOUtMLEFBZ0xJLDRCQWhMd0IsQ0FXMUIsdUJBQXVCLENBcUtyQixNQUFNO0lBaExWLDRCQUE0QixDQVcxQix1QkFBdUIsQ0FzS3JCLFFBQVEsQ0FBQztNQUNQLEtBQUssRUFBRSxlQUFlLEdBQ3ZCO0lBbkxMLEFBcUxJLDRCQXJMd0IsQ0FXMUIsdUJBQXVCLENBMEtyQixhQUFhLENBQUM7TUFDWixNQUFNLEVBQUUsUUFBUSxHQUNqQjtJekc5TkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNeUd1Q3hDLEFBV0UsNEJBWDBCLENBVzFCLHVCQUF1QixDQUFDO1EvR3hHeEIsU0FBUyxFK0d1Um9CLEtBQUs7US9HclJoQyxXQUFJLEVBQUUsSUFBSTtRQUNWLFlBQUssRUFBRSxJQUFJLEcrR2tYWjtRQXhSSCxBeElySEUsNEJ3SXFIMEIsQ0FXMUIsdUJBQXVCLEF4SWhJdEIsT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7UXdJaUhILEFBY0ksNEJBZHdCLENBVzFCLHVCQUF1QixDQUdyQixRQUFRLENBOEtHO1VBQ1AsT0FBTyxFQUFFLFdBQVcsR0FDckI7SXpHck9ILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXlHdUN2QyxBQVdFLDRCQVgwQixDQVcxQix1QkFBdUIsQ0FBQztRL0d4R3hCLFNBQVMsRStHK1JvQixLQUFLO1EvRzdSaEMsV0FBSSxFQUFFLElBQUk7UUFDVixZQUFLLEVBQUUsSUFBSSxHK0drWFo7UUF4UkgsQXhJckhFLDRCd0lxSDBCLENBVzFCLHVCQUF1QixBeEloSXRCLE9BQU8sQ0FBQztVQUNQLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO1F3SWlISCxBQWNJLDRCQWR3QixDQVcxQix1QkFBdUIsQ0FHckIsUUFBUSxDQXNMRztVQUNQLE9BQU8sRUFBRSxNQUFNLEdBQ2hCO1FBdE1QLEFBNENRLDRCQTVDb0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0FHdEIsdUJBQXVCLEFBR3BCLE9BQU8sQ0FnS0c7VUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkO1FBOU1YLEFBaUVNLDRCQWpFc0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0EyQnRCLHFCQUFxQixDQWdKRztVQUNwQixPQUFPLEVBQUUsSUFBSSxHQUNkO1FBbk5ULEFBMEVNLDRCQTFFc0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0FvQ3RCLHVCQUF1QixDQTJJRztVQUN0QixPQUFPLEVBQUUsU0FBUyxHQXVCbkI7VUE3T1QsQUErRVEsNEJBL0VvQixDQVcxQix1QkFBdUIsQ0EyQnJCLHdCQUF3QixDQW9DdEIsdUJBQXVCLEFBS3BCLE9BQU8sQ0F5SUc7WUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkO1VBMU5YLEFBb0dRLDRCQXBHb0IsQ0FXMUIsdUJBQXVCLENBMkJyQix3QkFBd0IsQ0FvQ3RCLHVCQUF1QixDQTBCckIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQXdIZTtZbEl2VTNCLFFBQVEsRWtJd1VvQixRQUFRO1lsSXBVaEMsR0FBVSxFa0lvVXdCLE9BQU87WWxJcFV6QyxLQUFVLEVrSW9Vd0IsT0FBTztZbElwVXpDLE1BQVUsRWtJb1V3QixPQUFPO1lsSXBVekMsSUFBVSxFa0lvVXdCLE9BQU87WUFDbkMsU0FBUyxFeks5VVgsT0FBdUI7WXlLK1VyQixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixPQUFPLEVBQUUsWUFBWSxHQUN0QjtVQW5PWCxBQTRGUSw0QkE1Rm9CLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBb0N0Qix1QkFBdUIsQ0FrQnJCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUF5SWlCO1lsSWhWN0IsUUFBUSxFa0lpVm9CLFFBQVE7WWxJN1VoQyxHQUFVLEVrSTZVd0IsT0FBTztZbEk3VXpDLEtBQVUsRWtJNlV3QixPQUFPO1lsSTdVekMsTUFBVSxFa0k2VXdCLE9BQU87WWxJN1V6QyxJQUFVLEVrSTZVd0IsT0FBTztZQUNuQyxPQUFPLEVBQUUsQ0FBQztZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLEtBQUs7WUFDWixPQUFPLEVBQUUsWUFBWTtZQUNyQixPQUFPLEVBQUUsWUFBWSxHQUN0QjtRQTVPWCxBQStHTSw0QkEvR3NCLENBVzFCLHVCQUF1QixDQTJCckIsd0JBQXdCLENBeUV0QixZQUFZLENBZ0lHO1VBQ1gsS0FBSyxFQUFFLElBQUk7VUFDWCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxRQUFRO1VsSTdWekIsUUFBUSxFa0k4VmtCLFFBQVE7VWxJMVY5QixHQUFVLEVrSTBWc0IsT0FBTztVbEkxVnZDLEtBQVUsRWtJMFZzQixPQUFPO1VsSTFWdkMsTUFBVSxFa0kwVnNCLE9BQU87VWxJMVZ2QyxJQUFVLEVrSTBWc0IsT0FBTztVakl2V3JDLGlCQUFvQixFaUl3V0MsYUFBYTtVakluV2xDLGNBQWlCLEVpSW1XSSxhQUFhO1VqSTlWbEMsYUFBZ0IsRWlJOFZLLGFBQWE7VWpJelZsQyxZQUFlLEVpSXlWTSxhQUFhO1VqSXBWbEMsU0FBWSxFaUlvVlMsYUFBYSxHQUNqQztRQXJQVCxBQXFMSSw0QkFyTHdCLENBVzFCLHVCQUF1QixDQTBLckIsYUFBYSxDQW1FRztVQUNaLE1BQU0sRUFBRSxRQUFRLEdBQ2pCO0l6R2pTSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015R3VDdkMsQUFXRSw0QkFYMEIsQ0FXMUIsdUJBQXVCLENBQUM7US9HeEd4QixTQUFTLEUrRzJWb0IsSUFBSTtRL0d6Vi9CLFdBQUksRUFBRSxJQUFJO1FBQ1YsWUFBSyxFQUFFLElBQUksRytHa1haO1FBeFJILEF4SXJIRSw0QndJcUgwQixDQVcxQix1QkFBdUIsQXhJaEl0QixPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtRd0lpSEgsQUFjSSw0QkFkd0IsQ0FXMUIsdUJBQXVCLENBR3JCLFFBQVEsQ0FrUEc7VUFDUCxPQUFPLEVBQUUsU0FBUztVQUNsQixTQUFTLEVBQUUsSUFBSSxHQU1oQjtVQXhRUCxBQWtCTSw0QkFsQnNCLENBVzFCLHVCQUF1QixDQUdyQixRQUFRLENBSU4sRUFBRSxDQWtQRztZQUNELFNBQVMsRXpLclhULFFBQXVCO1l5S3NYdkIsYUFBYSxFQUFFLElBQUksR0FDcEI7UUF2UVQsQUF3QkksNEJBeEJ3QixDQVcxQix1QkFBdUIsQ0FhckIsVUFBVSxDQWtQRztVQUNULE1BQU0sRUFBRSxRQUFRLEdBQ2pCO1FBNVFQLEFBNEJJLDRCQTVCd0IsQ0FXMUIsdUJBQXVCLENBaUJyQixpQkFBaUI7UUE1QnJCLDRCQUE0QixDQVcxQix1QkFBdUIsQ0FrQnJCLDRCQUE0QixDQWtQRztVQUMzQixLQUFLLEVBQUUsSUFBSTtVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO1FBbFJQLEFBb1JNLDRCQXBSc0IsQ0FXMUIsdUJBQXVCLENBeVFuQixrQkFBa0IsQ0FBQztVQUNqQixJQUFJLEVBQUUsWUFBWSxHQUNuQjs7QUMvWUosQUFBRCxvQkFBTyxDQUFDO0U1R21CUixPQUFPLEU0R2xCUSxJQUFJLENBQUMsQ0FBQyxHQUNwQjs7QUFFQSxBQUFELDJCQUFjLENBQUM7RUFDYixVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsS0FBSztFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxNQUFNLEdBU2Y7RUFiQSxBQU1DLDJCQU5ZLENBTVosQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFMUtGTCxTQUF1QjtJMEtHM0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFbEdnQ0ksT0FBTztJa0cvQmhCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQUdGLEFBQUQsbUJBQU0sQ0FBQztFNUdBUCxPQUFPLEU0R0NRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtFQUN4QixnQkFBZ0IsRWxHdUNDLE9BQU8sR2tHOUJ6QjtFMUdvREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEcvRHBDLEFBQUQsbUJBQU0sQ0FBQztNNUdBUCxPQUFPLEU0R0tVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQU0zQjtFQUhFLEFBQUQsMEJBQVEsQ0FBQztJQUNQLFVBQVUsRWxHb0JLLE9BQU8sR2tHbkJ2Qjs7QUFHRixBQUNDLHNCQURPLENBQ1AsRUFBRSxDQUFDO0VBQ0QsS0FBSyxFbEdXSSxPQUFPO0VrR1ZoQixTQUFTLEUxSzFCTCxTQUF1QjtFMEsyQjNCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGNBQWMsRUFBRSxRQUFRO0VBQ3hCLFdBQVcsRUFBRSxJQUFJLEdBTWxCO0UxR3FDRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwR2xEcEMsQUFDQyxzQkFETyxDQUNQLEVBQUUsQ0FBQztNQVNDLFNBQVMsRTFLakNQLE9BQXVCO00wS2tDekIsV0FBVyxFQUFFLEdBQUcsR0FFbkI7O0FBYkYsQUFlQyxzQkFmTyxDQWVQLENBQUMsQ0FBQztFQUNBLFNBQVMsRTFLdkNMLFFBQXVCO0UwS3dDM0IsYUFBYSxFQUFFLElBQUk7RUFDbkIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FPWjtFMUdzQkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEdsRHBDLEFBZUMsc0JBZk8sQ0FlUCxDQUFDLENBQUM7TUFTRSxTQUFTLEUxSy9DUCxPQUF1QjtNMEtnRHpCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRWxHYkUsT0FBTyxHa0dlakI7O0FBNUJGLEFBOEJDLHNCQTlCTyxDQThCUCxFQUFFLENBQUM7RUFDRCxnQkFBZ0IsRWxHYmIsSUFBSTtFa0djUCxhQUFhLEVBQUUsSUFBSTtFNUc3Q3ZCLE9BQU8sRTRHOENVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7RUFDOUIsWUFBWSxFQUFFLENBQUMsR0FNaEI7RTFHVUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEdsRHBDLEFBOEJDLHNCQTlCTyxDQThCUCxFQUFFLENBQUM7TUFPQyxZQUFZLEVBQUUsQ0FBQztNNUdsRHJCLE9BQU8sRTRHbURZLElBQUksQ0FBQyxJQUFJLEdBRXpCOztBQXhDRixBQTBDQyxzQkExQ08sQ0EwQ1AsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFMUtsRUwsUUFBdUI7RTBLbUUzQixjQUFjLEVBQUUsUUFBUTtFQUN4QixRQUFRLEVBQUUsUUFBUTtFQUNsQixZQUFZLEVBQUUsSUFBSSxHQWdCbkI7RUE5REYsQUFnREcsc0JBaERLLENBMENQLEVBQUUsQUFNQyxRQUFRLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsZ0JBQWdCLEVBQUUsT0FBTyxHQUMxQjtFQXpESixBQTJERyxzQkEzREssQ0EwQ1AsRUFBRSxBQWlCQyxJQUFLLENoRmlDQSxhQUFhLEVnRmpDRTtJQUNuQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUE3REosQUFnRUMsc0JBaEVPLENBZ0VQLENBQUMsQ0FBQztFQUNBLGVBQWUsRUFBRSxTQUFTO0VBQzFCLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLGNBQWMsRUFBRSxPQUFPLEdBQ3hCOztBQXRHTCxBQXlHRSxjQXpHWSxDQXlHWixLQUFLLENBQUM7RUFDSixLQUFLLEVsR3JHVSxPQUFPO0VrR3NHdEIsU0FBUyxFMUtoR0gsU0FBdUI7RTBLaUc3QixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsS0FBSztFQUNoQixPQUFPLEVBQUUsV0FBVyxHQUtyQjtFQW5ISCxBQWdISSxjQWhIVSxDQXlHWixLQUFLLENBT0gsQ0FBQyxDQUFDO0lBQ0EsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBTUwsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsTUFBTSxHQStHaEI7RUFoSEQsQUFHRSxxQkFIbUIsQ0FHbkIsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFMUtqSEgsTUFBdUI7STBLa0g3QixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVBILEFBU0UscUJBVG1CLENBU25CLEtBQUssQ0FBQztJQUNKLEtBQUssRWxHM0hpQixPQUFPO0lrRzRIN0IsU0FBUyxFMUt4SEgsUUFBdUIsRzBLeUg5QjtFQVpILEFBY0UscUJBZG1CLENBY25CLGNBQWMsQ0FBQztJL0d2RWIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKcEVoQixRQUFzQztJSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztJTW1DN0MsV0FBNkIsRUFBUyxFQUFzRixHNkc4RjNIO0lBakJILEEvR3BDTSxxQitHb0NlLENBY25CLGNBQWMsQS9HbERULFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFK0drQ1AsQUFxQkkscUJBckJpQixDQW1CbkIsY0FBYyxDQUVaLEVBQUUsQ0FBQztJQUNELFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0VBdkJMLEFBeUJJLHFCQXpCaUIsQ0FtQm5CLGNBQWMsQ0FNWixLQUFLLENBQUM7SUFDSixjQUFjLEVBQUUsTUFBTTtJQUN0QixPQUFPLEVBQUUsWUFBWTtJQUNyQixLQUFLLEVBQUUsa0JBQWtCLEdBQzFCO0VBN0JMLEFBK0JJLHFCQS9CaUIsQ0FtQm5CLGNBQWMsQ0FZWixNQUFNLENBQUM7SUFDTCxjQUFjLEVBQUUsTUFBTTtJQUN0QixPQUFPLEVBQUUsWUFBWTtJQUNyQixLQUFLLEVBQUUsS0FBSztJQUNaLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE1BQU0sRUFBRSxVQUFVLEdBQ25CO0VBckNMLEFBdUNJLHFCQXZDaUIsQ0FtQm5CLGNBQWMsQ0FvQlosR0FBRyxDQUFDO0lBQ0YsSUFBSSxFQUFFLElBQUk7SUFDVixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFMUc5RUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEdvQ3ZDLEFBY0UscUJBZG1CLENBY25CLGNBQWMsQ0FpQ0c7TUFDYixLQUFLLEVBQUUsSUFBSSxHQUNaO0lBakRMLEFBcUJJLHFCQXJCaUIsQ0FtQm5CLGNBQWMsQ0FFWixFQUFFLENBZ0NHO01BQ0QsYUFBYSxFQUFFLENBQUMsR0FDakI7SUF2RFAsQUF5QkkscUJBekJpQixDQW1CbkIsY0FBYyxDQU1aLEtBQUssQ0FnQ0c7TUFDSixjQUFjLEVBQUUsR0FBRztNQUNuQixLQUFLLEVBQUUsa0JBQWtCLEdBQzFCO0lBNURQLEFBK0JJLHFCQS9CaUIsQ0FtQm5CLGNBQWMsQ0FZWixNQUFNLENBK0JHO01BQ0wsS0FBSyxFQUFFLElBQUk7TUFDWCxjQUFjLEVBQUUsR0FBRztNQUNuQixNQUFNLEVBQUUsVUFBVSxHQUNuQjtFMUd0R0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEdvQ3ZDLEFBQUEscUJBQXFCLENBQUM7TUF1RWxCLE9BQU8sRUFBRSxjQUFjLEdBeUMxQjtNQWhIRCxBQUdFLHFCQUhtQixDQUduQixFQUFFLENBc0VHO1FBQ0QsU0FBUyxFMUt2TEwsT0FBdUI7UTBLd0wzQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQTVFTCxBQVNFLHFCQVRtQixDQVNuQixLQUFLLENBcUVHO1FBQ0osU0FBUyxFMUs1TEwsU0FBdUI7UTBLNkwzQixjQUFjLEVBQUUsT0FBTztRQUN2QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQWxGTCxBQXFCSSxxQkFyQmlCLENBbUJuQixjQUFjLENBRVosRUFBRSxDQWlFRztRQUNELFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE1BQU0sRUFBRSxtQkFBbUIsR0FLNUI7UUE3RlAsQUEwRlEscUJBMUZhLENBb0ZqQixjQUFjLENBRVosRUFBRSxBQUlDLGFBQWEsQ0FBQztVQUNiLGFBQWEsRUFBRSxZQUFZLEdBQzVCO01BNUZULEFBeUJJLHFCQXpCaUIsQ0FtQm5CLGNBQWMsQ0FNWixLQUFLLENBc0VHO1FBQ0osS0FBSyxFQUFFLGtCQUFrQjtRQUN6QixTQUFTLEUxSzlNUCxTQUF1QjtRMEsrTXpCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO01BcEdQLEFBK0JJLHFCQS9CaUIsQ0FtQm5CLGNBQWMsQ0FZWixNQUFNLENBdUVHO1FBQ0wsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsU0FBUyxHQUtsQjtRQTdHUCxBQTBHUSxxQkExR2EsQ0FvRmpCLGNBQWMsQ0FrQlosTUFBTSxDQUlKLEdBQUcsQ0FBQztVQUNGLElBQUksRUFBRSxJQUFJLEdBQ1g7O0FBTVQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsT0FBTyxHQXVHakI7RUF4R0QsQUFHRSxtQkFIaUIsQ0FHakIsRUFBRSxDQUFDO0lBQ0QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsU0FBUyxFMUtwT0gsTUFBdUI7STBLcU83QixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQVBILEFBU0UsbUJBVGlCLENBU2pCLEVBQUUsQ0FBQztJQUNELFNBQVMsRTFLek9ILFFBQXVCO0kwSzBPN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLFdBQVcsR0FDcEI7RUFiSCxBQWVFLG1CQWZpQixDQWVqQixFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNWLGFBQWEsRUFBRSxJQUFJLEdBd0JwQjtJQXpDSCxBQW1CSSxtQkFuQmUsQ0FlakIsRUFBRSxDQUlBLEVBQUUsQ0FBQztNQUNELFFBQVEsRUFBRSxRQUFRO01BQ2xCLFNBQVMsRTFLcFBMLFFBQXVCO00wS3FQM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFbEczUGEsT0FBTztNa0c0UHpCLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFlBQVksRUFBRSxJQUFJLEdBV25CO01BcENMLEFBMkJNLG1CQTNCYSxDQWVqQixFQUFFLENBSUEsRUFBRSxBQVFDLE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxFQUFFO1FBQ1gsVUFBVSxFbEd2UEksT0FBTztRa0d3UHJCLEtBQUssRUFBRSxHQUFHO1FBQ1YsTUFBTSxFQUFFLEdBQUc7UUFDWCxhQUFhLEVBQUUsR0FBRztRbkkxUHhCLFFBQVEsRW1JMlBnQixRQUFRO1FuSXZQNUIsR0FBVSxFbUl1UG9CLEdBQUc7UW5JdlBqQyxJQUFVLEVtSXVQa0MsQ0FBQyxHQUU1QztJQW5DUCxBQXNDSSxtQkF0Q2UsQ0FlakIsRUFBRSxDQXVCQSxDQUFDLENBQUM7TUFDQSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQXhDTCxBQTJDRSxtQkEzQ2lCLENBMkNqQixDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsS0FBSztJQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFMUdwTUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEdzSnZDLEFBQUEsbUJBQW1CLENBQUM7TUFpRGhCLE9BQU8sRUFBRSxNQUFNLEdBdURsQjtFMUc5UEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEdzSnZDLEFBQUEsbUJBQW1CLENBQUM7TUFxRGhCLE9BQU8sRUFBRSxTQUFTLEdBbURyQjtNQXhHRCxBQUdFLG1CQUhpQixDQUdqQixFQUFFLENBb0RHO1FBQ0QsTUFBTSxFQUFFLFFBQVE7UUFDaEIsU0FBUyxFMUt4UkwsT0FBdUIsRzBLeVI1QjtNQTFETCxBQVNFLG1CQVRpQixDQVNqQixFQUFFLENBbURHO1FBQ0QsU0FBUyxFMUs1UkwsU0FBdUI7UTBLNlIzQixNQUFNLEVBQUUsQ0FBQyxHQUNWO01BL0RMLEFBZUUsbUJBZmlCLENBZWpCLEVBQUUsQ0FrREc7UUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNWLGFBQWEsRUFBRSxJQUFJLEdBTXBCO1FBekVMLEFBbUJJLG1CQW5CZSxDQWVqQixFQUFFLENBSUEsRUFBRSxDQWtERztVQUNELGFBQWEsRUFBRSxHQUFHO1VBQ2xCLFlBQVksRUFBRSxJQUFJLEdBQ25CO01BeEVQLEFBMkNFLG1CQTNDaUIsQ0EyQ2pCLENBQUMsQ0FnQ0c7UUFDQSxTQUFTLEUxSzNTTCxRQUF1QjtRMEs0UzNCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsYUFBYSxFQUFFLElBQUksR0FDcEI7TUEvRUwsQUFpRkksbUJBakZlLENBaUZmLEtBQUssR0FBQyxHQUFHLENBQUM7UUFDUixhQUFhLEVBQUUsSUFBSSxHQWtCcEI7UUFwR0wsQUFvRk0sbUJBcEZhLENBaUZmLEtBQUssR0FBQyxHQUFHLENBR1AsRUFBRSxDQUFDO1VBQ0QsTUFBTSxFQUFFLE9BQU87VUFDZixPQUFPLEVBQUUsTUFBTTtVQUNmLFVBQVUsRUFBRSxnREFBZ0QsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU07VUFDbkYsZUFBZSxFQUFFLFNBQVM7VWxJM1QxQixrQkFBb0IsRWtJNFRBLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtVbEl2VHBDLGVBQWlCLEVrSXVURyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU07VWxJeFNwQyxVQUFZLEVrSXdTUSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FDckM7UUExRlAsQUE0Rk0sbUJBNUZhLENBaUZmLEtBQUssR0FBQyxHQUFHLENBV1AsRUFBRSxDQUFDO1VBQ0QsT0FBTyxFQUFFLElBQUk7VUFDYixhQUFhLEVBQUUsQ0FBQyxHQUtqQjtVQW5HUCxBQWdHUSxtQkFoR1csQ0FpRmYsS0FBSyxHQUFDLEdBQUcsQ0FXUCxFQUFFLEFBSUMsY0FBYyxDQUFDO1lBQ2QsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUM5VVQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxNQUFNLEdBa0JoQjtFQW5CRCxBQUtJLGdCQUxZLENBR2QsTUFBTSxDQUVKLENBQUMsQ0FBQztJQUNBLFNBQVMsRTNLT0wsU0FBdUI7STJLTjNCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRW5HRFEsT0FBTyxHbUdFckI7RTNHNkVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STJHdEZ2QyxBQUdFLGdCQUhjLENBR2QsTUFBTSxDQUFDO01oSDhETCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDLEdvSEk1QztNQWRILEFoSHNGTSxnQmdIdEZVLENBR2QsTUFBTSxBaEhtRkQsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMkd0RnZDLEFBQUEsZ0JBQWdCLENBQUM7TUFpQmIsT0FBTyxFQUFFLFNBQVMsR0FFckI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFVBQVUsRW5HQVEsT0FBTyxHbUdDMUI7O0FBSUUsQUFBRCxtQkFBUyxDQUFDO0VBQ1IsZ0JBQWdCLEVuR3FCTCxPQUFPO0VWMUJwQixPQUFPLEU2R01RLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQTRCMUI7RUExQkUsQUFBRCx5QkFBTyxDQUFDO0lBQ04sS0FBSyxFbkdzQkYsSUFBSTtJbUdyQlAsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFFQSxBQUFELHdCQUFNLENBQUM7SUFDTCxhQUFhLEVBQUUsSUFBSSxHQVFwQjtJQVRBLEFBR0Msd0JBSEksQ0FHSixDQUFDLENBQUM7TUFDQSxLQUFLLEVuR2NKLElBQUk7TW1HYkwsU0FBUyxFM0s1QlAsU0FBdUI7TTJLNkJ6QixjQUFjLEVBQUUsUUFBUTtNQUN4QixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBR0YsQUFBRCx1QkFBSyxDQUFDO0lBQ0osU0FBUyxFM0tuQ0wsSUFBdUI7STJLb0MzQixXQUFXLEVBQUUsR0FBRztJN0cxQnBCLE9BQU8sRTZHMkJVLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FNL0I7SUFUQSxBakdtQkgsdUJpR25CTyxBakdtQk4sT0FBTyxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBQztNQUNSLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0Z6QmpCLE9BQU87TUUwQmxCLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lpRzdCRSxBakdtQkgsdUJpR25CTyxBakdtQk4sT0FBTyxDaUdiSztNQUNQLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUlKLEFBQUQsaUJBQU8sQ0FBQztFQUNOLGdCQUFnQixFbkdSQyxPQUFPO0VWN0IxQixPQUFPLEU2R3NDUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0F1RXpCO0VBckVFLEFBQUQsdUJBQU8sQ0FBQztJQUNOLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBRUEsQUFBRCx1QkFBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLElBQUk7SUFDbkIsT0FBTyxFQUFFLElBQUksR0FvQmQ7STNHSEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMkduQmxDLEFBS0csdUJBTEcsQUFLRixRQUFRLENBQUM7UUFDUixPQUFPLEVBQUUsS0FBSyxHQUNmO0kzR1lMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTJHbkJsQyxBQVdHLHVCQVhHLEFBV0YsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEtBQUssR0FDZjtJM0dNTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00yR25CbEMsQUFnQkMsdUJBaEJLLENBZ0JMLEtBQUssQ0FBQztRQUVGLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRSxNQUFNLEdBRWpCO0VBR0YsQUFBRCx3QkFBUSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFDbkIsR0FBQztFQUVBLEFBQUQscUJBQUssQ0FBQztJN0d6RVIsT0FBTyxFNkcwRVUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtJQUU5QixTQUFTLEUzS3RGTCxJQUF1QjtJMkt1RjNCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0lBVEEsQWpHOUJILHFCaUc4Qk8sQWpHOUJOLE9BQU8sQ0FBQztNQUNQLEdBQUcsRUFBRSxJQUFJO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxHQUFHO01BQ1YsTUFBTSxFQUFFLEdBQUc7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENGcEJ2QixJQUFJO01FcUJULE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lpR29CRSxBakc5QkgscUJpRzhCTyxBakc5Qk4sT0FBTyxDaUdvQ0s7TUFDUCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQTdDSixBQWdEQyxpQkFoREssQ0FnREwsV0FBVyxDQUFDO0lBQ1YsZ0JBQWdCLEVuR3hERCxPQUFPLEdtR3lEdkI7RUFsREYsQUFvREMsaUJBcERLLENBb0RMLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsY0FBYztJQUNyQyxxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsR0FBRyxFQUFFLFNBQVMsR0FnQmY7STNHN0NELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTJHM0JwQyxBQW9EQyxpQkFwREssQ0FvREwsYUFBYSxDQUFDO1FBT1YsT0FBTyxFQUFFLE9BQU8sR0FhbkI7UUF4RUYsQUE2REssaUJBN0RDLENBb0RMLGFBQWEsR0FTUixXQUFXLENBQUM7VUFDWCxRQUFRLEVBQUUsT0FBTztVQUNqQixVQUFVLEUzSzdHVixRQUF1QixHMktrSHhCO1VBcEVOLEFBaUVPLGlCQWpFRCxDQW9ETCxhQUFhLEdBU1IsV0FBVyxDQUlWLE1BQU0sQUFBQSxRQUFRLENBQUM7WUFDYixPQUFPLEVBQUUsRUFBRSxHQUNaOztBQzlIWCxBQUVFLGVBRmEsQ0FFYixFQUFFLENBQUM7RUFDRCxTQUFTLEU1S1VILE1BQXVCO0U0S1Q3QixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBNUdpRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFNEd0RnZDLEFBQUEsZUFBZSxDQUFDO0lBUVosT0FBTyxFQUFFLGNBQWMsR0FFMUI7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsTUFBTTtFQUVmLGVBQWUsRUFBRSxTQUFTLEdBMEQzQjtFQTdERCxBQUtFLGFBTFcsQ0FLWCxFQUFFLENBQUM7SUFDRCxTQUFTLEU1S0xILFFBQXVCO0k0S003QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVRILEFBV0UsYUFYVyxDQVdYLGNBQWMsQ0FBQztJQUNiLGFBQWEsRUFBRSxJQUFJLEdBTXBCO0k1R3dEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO000RzFFdkMsQUFXRSxhQVhXLENBV1gsY0FBYyxDQUFDO1FqSDBDYixLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEdxSG9CNUM7UUFsQkgsQWpIMEVNLGFpSDFFTyxDQVdYLGNBQWMsQWpIK0RULFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRaUg1RVAsQW5IaUVFLGFtSGpFVyxDQVdYLGNBQWMsQW5Ic0RiLFVBQVcsQ0FBQSxFQUFFLEVBQVM7VUFDckIsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1FtSG5FSCxBbkhzRUksYW1IdEVTLENBV1gsY0FBYyxBbkgyRFgsVUFBVyxDQUFBLElBQUksRUFBUztVQUN2QixLQUFLLEVUdUJZLElBQUksR1N0QnRCO0VtSHhFTCxBQW9CRSxhQXBCVyxDQW9CWCxFQUFFLENBQUM7SUFDRCxhQUFhLEVBQUUsR0FBRyxHQVluQjtJQWpDSCxBQXVCSSxhQXZCUyxDQW9CWCxFQUFFLEFBR0MsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsYUFBYSxFQUFFLEdBQUc7TUFDbEIsVUFBVSxFcEdwQkgsT0FBTztNb0dxQmQsY0FBYyxFQUFFLE1BQU07TUFDdEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsT0FBTyxFQUFFLFlBQVksR0FDdEI7RUFoQ0wsQUFtQ0UsYUFuQ1csQ0FtQ1gsQ0FBQyxDQUFDO0lBQ0EsZUFBZSxFQUFFLFNBQVM7SUFDMUIsU0FBUyxFNUtwQ0gsUUFBdUI7STRLcUM3QixXQUFXLEVBQUUsR0FBRyxHQUtqQjtJQTNDSCxBQXdDSSxhQXhDUyxDQW1DWCxDQUFDLEFBS0UsTUFBTSxDQUFDO01BQ04sZUFBZSxFQUFFLElBQUksR0FDdEI7RTVHZ0NELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STRHMUV2QyxBQUFBLGFBQWEsQ0FBQztNQThDVixPQUFPLEVBQUUsY0FBYyxHQWUxQjtNQTdERCxBQUtFLGFBTFcsQ0FLWCxFQUFFLENBMkNHO1FBQ0QsU0FBUyxFNUtoREwsU0FBdUI7UTRLaUQzQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtNQW5ETCxBQVdFLGFBWFcsQ0FXWCxjQUFjLENBMENHO1FBQ2IsYUFBYSxFQUFFLElBQUksR0FDcEI7TUF2REwsQUFvQkUsYUFwQlcsQ0FvQlgsRUFBRSxDQXFDRztRQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQ3ZFTCxBQUFBLFVBQVUsQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGdCQUFnQixFckdrREcsT0FBTztFcUdqRDFCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsVUFBVSxFQUFFLEtBQUssR0FnSGxCO0U3R2hDRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2R3RGdkMsQUFBQSxVQUFVLENBQUM7TS9HdUJULE9BQU8sRStHZFEsQ0FBQyxDQUFDLElBQUk7TUFDbkIsVUFBVSxFQUFFLEtBQUssR0E0R3BCO0VBekdFLEFBQUQsZ0JBQU8sQ0FBQztJQUNOLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFFQSxBQUFELGtCQUFTLENBQUM7SUFDUixTQUFTLEU3S05ILFNBQXVCO0k2S083QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSTtJQUNuQixLQUFLLEVyRzJCTSxPQUFPO0lxRzFCbEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUFFQSxBQUFELGVBQU0sQ0FBQztJQUNMLFNBQVMsRTdLZkgsUUFBdUI7STZLZ0I3QixhQUFhLEVBQUUsSUFBSTtJQUNuQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQUVBLEFBQUQsY0FBSyxDQUFDO0lBQ0osU0FBUyxFN0tyQkgsT0FBdUI7SThEVS9CLE9BQU8sRStHWVEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtJQUM5QixjQUFjLEVBQUUsTUFBTTtJQUN0QixRQUFRLEVBQUUsUUFBUSxHQU9uQjtJQVhBLEFuR2lDRCxjbUdqQ0ssQW5HaUNKLE9BQU8sQ0FBQztNQUNQLEdBQUcsRUFBRSxJQUFJO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxHQUFHO01BQ1YsTUFBTSxFQUFFLEdBQUc7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRUFBRSxLQUFLLENBQUUsTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENGcEJ2QixJQUFJO01FcUJULE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0ltRzNDQSxBbkdpQ0QsY21HakNLLEFuR2lDSixPQUFPLENtRzFCRztNQUNQLEdBQUcsRUFBRSxJQUFJO01BQ1QsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFHRixBQUFELHNCQUFhLENBQUM7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVBQUUsSUFBSSxHQXNCakI7SUFwQkUsQUFBRCw0QkFBTyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO00vRzNCdkIsT0FBTyxFK0c0QlUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO01BQzNCLFNBQVMsRTdLdkNMLFNBQXVCO002S3dDM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFckdDSCxJQUFJO01xR0FOLGNBQWMsRUFBRSxPQUFPLEdBQ3hCO0lBRUEsQUFBRCw2QkFBUSxDQUFDO01BQ1AsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixLQUFLLEVBQUUsQ0FBQztNQUNSLFVBQVUsRUFBRSxrQ0FBa0MsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVM7TUFDdEUsTUFBTSxFQUFFLENBQUM7TUFDVCxXQUFXLEVBQUUsT0FBTztNQUNwQixRQUFRLEVBQUUsTUFBTTtNQUNoQixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtFQUdGLEFBQUQsaUJBQVEsQ0FBQztJQUNQLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0U3R1lDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZHdEZ2QyxBQThFSSxVQTlFTSxBQThFTCxPQUFPLENBQUM7TW5JbkVULE1BQU0sRW1Jb0VVLEtBQUs7TW5JNURyQixLQUFLLEVtSTREVyxLQUFLO010STdEdkIsUUFBUSxFc0k4RGMsUUFBUTtNdEkxRDFCLEdBQVUsRXNJMERtQixLQUFJO010STFEakMsS0FBVSxFc0kwRHdCLElBQUksR0FDdkM7SUFqRkwsQUFtRkksVUFuRk0sQUFtRkwsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLElBQUksR0FDZDtJQXJGTCxBQXVGSSxVQXZGTSxDQXVGTixNQUFNLENBQUM7TUFDTCxPQUFPLEVBQUUsTUFBTTtNQUNmLE1BQU0sRUFBRSxlQUFlLEdBQ3hCO0lBMUZMLEFBNEZJLFVBNUZNLENBNEZOLEVBQUUsQ0FBQztNQUNELFNBQVMsRTdLaEZMLFFBQXVCO002S2lGM0IsYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUEvRkwsQUFpR0ksVUFqR00sQ0FpR04sS0FBSyxDQUFDO01BQ0osU0FBUyxFN0tyRkwsU0FBdUI7TTZLc0YzQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtJQXBHTCxBQXNHSSxVQXRHTSxDQXNHTixvQkFBb0IsQ0FBQztNQUNuQixXQUFXLEVBQUUsQ0FBQyxHQUNmO0lBeEdMLEFBMEdJLFVBMUdNLENBMEdOLElBQUksQ0FBQztNQUNILFVBQVUsRUFBRSxJQUFJLEdBU2pCO01BcEhMLEFBNkdNLFVBN0dJLENBMEdOLElBQUksQ0FHRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBQWE7UUFDakIsT0FBTyxFQUFFLFNBQVMsR0FDbkI7TUEvR1AsQUFpSE0sVUFqSEksQ0EwR04sSUFBSSxDQU9GLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtRbkl0R3ZCLE1BQU0sRW1JdUdZLElBQUk7UW5JL0Z0QixLQUFLLEVtSStGYSxJQUFJLEdBQ25COztBQ25IUCxBQUFBLFdBQVcsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLEtBQUssR0FDZDs7QUFFRCxBQUVFLG9CQUZrQixDQUVsQixXQUFXLENBQUM7RUFDVixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFMSCxBQU9FLG9CQVBrQixDQU9sQixFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEU5S0RILE9BQXVCO0U4S0U3QixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQVhILEFBWUUsb0JBWmtCLENBWWxCLFNBQVMsQ0FBQztFQUNSLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFNBQVMsRTlLTkgsU0FBdUI7RThLTzdCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQWhCSCxBQWtCRSxvQkFsQmtCLEFBa0JqQixLQUFLLENBQUM7RUFDTCxVQUFVLEV0R0ZNLE9BQU8sR3NHb0J4QjtFQXJDSCxBQXFCSSxvQkFyQmdCLEFBa0JqQixLQUFLLENBR0osT0FBTyxDQUFDO0lwSE1WLFNBQVMsRUxkQyxLQUFLO0lLZ0JiLFdBQUksRUFBRSxJQUFJO0lBQ1YsWUFBSyxFQUFFLElBQUk7SW9IUFQsT0FBTyxFQUFFLE1BQU0sR0FDaEI7SUF4QkwsQTdJR0Usb0I2SUhrQixBQWtCakIsS0FBSyxDQUdKLE9BQU8sQTdJbEJSLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0U2SVBILEFBMEJJLG9CQTFCZ0IsQUFrQmpCLEtBQUssQ0FRSixXQUFXLENBQUM7SUFDVixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRXRHUFIsSUFBSTtJc0dRTixhQUFhLEVBQUUsSUFBSSxHQU1wQjtJOUc4Q0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEdqRnZDLEFBMEJJLG9CQTFCZ0IsQUFrQmpCLEtBQUssQ0FRSixXQUFXLENBQUM7UW5Ia0NaLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7UUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3VIOEIxQztRQW5DTCxBbkhpRk0sb0JtSGpGYyxBQWtCakIsS0FBSyxDQVFKLFdBQVcsQW5IdURSLFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRbUhuRlAsQXJId0VFLG9CcUh4RWtCLEFBa0JqQixLQUFLLENBUUosV0FBVyxBckg4Q1osVUFBVyxDQUFBLEVBQUUsRUFBUztVQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7UXFIMUVILEFySDZFSSxvQnFIN0VnQixBQWtCakIsS0FBSyxDQVFKLFdBQVcsQXJIbURWLFVBQVcsQ0FBQSxJQUFJLEVBQVM7VUFDdkIsS0FBSyxFVHVCWSxJQUFJLEdTdEJ0Qjs7QXFIL0VMLEFBdUNFLG9CQXZDa0IsQUF1Q2pCLEtBQUssQ0FBQztFQUNMLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBOUd3Q0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOEdqRnZDLEFBT0Usb0JBUGtCLENBT2xCLEVBQUUsQ0FzQ0c7SUFDRCxTQUFTLEU5S3RDTCxRQUF1QixHOEt1QzVCOztBOUdrQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOEdqRnZDLEFBRUUsb0JBRmtCLENBRWxCLFdBQVcsQ0FrREc7SUFDVixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSSxHQUNyQjtFQXZETCxBQU9FLG9CQVBrQixDQU9sQixFQUFFLENBa0RHO0lBQ0QsU0FBUyxFOUtsREwsUUFBdUIsRzhLbUQ1Qjs7QUFLTCxzQkFBc0I7QUFDdEIsQUFFRSxtQkFGaUIsQ0FFakIsV0FBVyxDQUFDO0VBQ1YsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBSkgsQUFNRSxtQkFOaUIsQ0FNakIsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLE1BQU07RUFDbEIsU0FBUyxFOUtqRUgsT0FBdUI7RThLa0U3QixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBOUdNQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4R2hCdkMsQUFFRSxtQkFGaUIsQ0FFakIsV0FBVyxDQVlHO0lBQ1YsT0FBTyxFQUFFLGNBQWMsR0FDeEI7RUFoQkwsQUFNRSxtQkFOaUIsQ0FNakIsRUFBRSxDQVlHO0lBQ0QsU0FBUyxFOUs1RUwsUUFBdUIsRzhLNkU1QjtFQXBCTCxBQXNCSSxtQkF0QmUsQ0FzQmYsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLE1BQU0sR0FDaEI7O0E5R1JELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RThHaEJ2QyxBQUVFLG1CQUZpQixDQUVqQixXQUFXLENBMkJHO0lBQ1YsY0FBYyxFQUFFLElBQUksR0FDckI7RUEvQkwsQUFNRSxtQkFOaUIsQ0FNakIsRUFBRSxDQTJCRztJQUNELFNBQVMsRTlLM0ZMLFFBQXVCLEc4SzRGNUI7O0FBSUwsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixVQUFVLEVBQUUsaUJBQWlCO0VBQzdCLE9BQU8sRUFBRSxJQUFJLEdBNEdkO0VBOUdELEFBSUUsc0JBSm9CLENBSXBCLEVBQUUsQ0FBQztJQUNELFNBQVMsRTlLckdILElBQXVCO0k4S3NHN0IsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RUFSSCxBQVVFLHNCQVZvQixDQVVwQiw2QkFBNkIsQ0FBQztJQUM1QixRQUFRLEVBQUUsTUFBTTtJQUNoQixhQUFhLEVBQUUsSUFBSSxHQVVwQjtJQXRCSCxBQWNJLHNCQWRrQixDQVVwQiw2QkFBNkIsR0FJdkIsR0FBRyxDQUFDO01BQ04sS0FBSyxFQUFFLEdBQUc7TUFDVixLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFNBQVMsRUFBRSxJQUFJO01BQ2YsS0FBSyxFQUFFLElBQUksR0FDWjtFQXBCTCxBQXdCRSxzQkF4Qm9CLENBd0JwQiw4QkFBOEIsQ0FBQztJQUU3QixNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsYUFBYSxFQUFFLEdBQUcsR0FrRW5CO0lBOUZILEE3SXJHRSxzQjZJcUdvQixDQXdCcEIsOEJBQThCLEE3STdIN0IsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7STZJaUdILEFBOEJJLHNCQTlCa0IsQ0F3QnBCLDhCQUE4QixHQU14QixHQUFHLENBQUM7TUFDTixVQUFVLEVBQUUsTUFBTTtNQUNsQixTQUFTLEVBQUUsSUFBSTtNQUNmLEtBQUssRUFBRSxJQUFJO01BQ1gsSUFBSSxFQUFFLE9BQU87TUFDYixPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0lBdENMLEFBd0NJLHNCQXhDa0IsQ0F3QnBCLDhCQUE4QixDQWdCNUIsS0FBSyxDQUFDO01BQ0osS0FBSyxFdEd2SE8sT0FBTztNc0d3SG5CLFNBQVMsRTlLMUlMLFFBQXVCO004SzJJM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUE3Q0wsQUE4Q0ksc0JBOUNrQixDQXdCcEIsOEJBQThCLENBc0I1QixNQUFNLENBQUM7TUFDTCxTQUFTLEU5Sy9JTCxTQUF1QjtNOEtnSjNCLEtBQUssRUFBRSxJQUFJO01BQ1gsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUFsREwsQUFvREksc0JBcERrQixDQXdCcEIsOEJBQThCLENBNEI1QixTQUFTLENBQUM7TUFDUixVQUFVLEVBQUUsT0FBTztNQUNuQixTQUFTLEU5S3RKTCxRQUF1QjtNOEt1SjNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRUFBRSxPQUFPO01BQ2QsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLElBQUk7TUFDYixRQUFRLEVBQUUsTUFBTTtNQUNoQixRQUFRLEVBQUUsUUFBUSxHQWVuQjtNQTNFTCxBQThETSxzQkE5RGdCLENBd0JwQiw4QkFBOEIsQ0E0QjVCLFNBQVMsQUFVTixPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLO1FBQ2QsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQztRQUNULFlBQVksRUFBRSxLQUFLO1FBQ25CLFlBQVksRUFBRSxrQkFBa0I7UUFDaEMsWUFBWSxFQUFFLHdDQUF3QztRQUN0RCxRQUFRLEVBQUUsUUFBUTtRQUNsQixJQUFJLEVBQUUsS0FBSztRQUNYLGVBQWU7UUFDZixVQUFVLEVBQUUsS0FBSyxHQUNsQjtJQTFFUCxBQTZFSSxzQkE3RWtCLENBd0JwQiw4QkFBOEIsQUFxRDNCLFFBQVEsQ0FBQTtNQUNQLFFBQVEsRUFBRSxRQUFRLEdBZW5CO01BN0ZMLEFBaUZNLHNCQWpGZ0IsQ0F3QnBCLDhCQUE4QixBQXFEM0IsUUFBUSxDQUlQLFFBQVEsQ0FBQTtRQUNOLFlBQVksRUFBRSxJQUFJLEdBQ25CO01BbkZQLEFBcUZNLHNCQXJGZ0IsQ0F3QnBCLDhCQUE4QixBQXFEM0IsUUFBUSxBQVFOLE9BQU8sQ0FBQTtRQUNOLE9BQU8sRUFBRSw4QkFBOEI7UUFDdkMsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsR0FBRztRQUNSLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLElBQUksRUFBRSxJQUFJLEdBQ1g7RUE1RlAsQUErRkUsc0JBL0ZvQixDQStGcEIsWUFBWSxDQUFBO0lBQ1YsS0FBSyxFQUFFLE9BQU87SUFDZCxTQUFTLEU5S2pNSCxTQUF1QjtJOEtrTTdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE1BQU0sRUFBRSxXQUFXLEdBU3BCO0lBN0dILEFBc0dJLHNCQXRHa0IsQ0ErRnBCLFlBQVksQUFPVCxPQUFPLENBQUE7TUFDTixPQUFPLEVBQUUsOEJBQThCO01BQ3ZDLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFlBQVksRUFBRSxJQUFJO01BQ2xCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCOztBQUtMLEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsYUFBYSxFQUFFLGlCQUFpQjtFQUNoQyxhQUFhLEVBQUUsSUFBSTtFQUNuQixjQUFjLEVBQUUsSUFBSSxHQXdHckI7RUEzR0QsQUFLRSxpQkFMZSxDQUtmLEtBQUssQ0FBQztJQUNKLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxjQUFjLEdBd0R2QjtJQWhFSCxBQVVJLGlCQVZhLENBS2YsS0FBSyxHQUtDLEdBQUcsQ0FBQztNQUNOLEtBQUssRUFBRSxJQUFJO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxVQUFVLEVBQUUsTUFBTTtNQUNsQixPQUFPLEVBQUUsTUFBTTtNQUNmLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBaEJMLEFBa0JJLGlCQWxCYSxDQUtmLEtBQUssQ0FhSCxPQUFPLENBQUM7TUFDTixVQUFVLEV0R2pORSxPQUFPO01zR2tObkIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLENBQUM7TUFDVixTQUFTLEVBQUUsS0FBSztNQUNoQixTQUFTLEVBQUUsa0JBQWtCLEdBTzlCO01BOUJMLEFBeUJNLGlCQXpCVyxDQUtmLEtBQUssQ0FhSCxPQUFPLEdBT0QsR0FBRyxDQUFDO1FBQ04sUUFBUSxFQUFFLFFBQVE7UUFDbEIsSUFBSSxFQUFFLElBQUksR0FDWDtJQTVCUCxBQStCSSxpQkEvQmEsQ0FLZixLQUFLLENBMEJILE9BQU8sQ0FBQztNQUNOLFVBQVUsRUFBRSxPQUFPO01BQ25CLFFBQVEsRUFBRSxRQUFRO01BQ2xCLFFBQVEsRUFBRSxNQUFNO01BQ2hCLFNBQVMsRUFBRSxLQUFLO01BQ2hCLFNBQVMsRUFBRSxrQkFBa0IsR0FjOUI7TUFsREwsQUFzQ00saUJBdENXLENBS2YsS0FBSyxDQTBCSCxPQUFPLEFBT0osT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDO1FBQ1QsWUFBWSxFQUFFLEtBQUs7UUFDbkIsWUFBWSxFQUFFLGtCQUFrQjtRQUNoQyxZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEN0RzFPdkMsT0FBTztRc0cyT2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FBQ1AsR0FBRyxFQUFFLEtBQUssR0FDWDtJQWhEUCxBQW9ESSxpQkFwRGEsQ0FLZixLQUFLLENBK0NILE9BQU8sQ0FBQztNQUNOLFNBQVMsRTlLclFMLFFBQXVCO004S3NRM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUF4REwsQUF5REksaUJBekRhLENBS2YsS0FBSyxDQW9ESCxRQUFRLENBQUM7TUFDUCxTQUFTLEU5SzFRTCxTQUF1QjtNOEsyUTNCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBNURMLEFBNkRJLGlCQTdEYSxDQUtmLEtBQUssQ0F3REgsTUFBTSxDQUFDO01BQ0wsU0FBUyxFOUs5UUwsT0FBdUIsRzhLK1E1QjtFQS9ETCxBQWtFRSxpQkFsRWUsQ0FrRWYsUUFBUSxDQUFDO0lBQ1AsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFOUtwUkgsU0FBdUI7SThLcVI3QixLQUFLLEVBQUUsT0FBTztJQUNkLFdBQVcsRUFBRSxHQUFHLEdBTWpCO0lBNUVILEFBd0VJLGlCQXhFYSxDQWtFZixRQUFRLENBTU4sTUFBTSxDQUFDO01BQ0wsU0FBUyxFOUt6UkwsUUFBdUI7TThLMFIzQixPQUFPLEVBQUUsS0FBSyxHQUNmO0U5R2xORCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4R3VJdkMsQUFLRSxpQkFMZSxDQUtmLEtBQUssQ0EyRUc7TUFDSixNQUFNLEVBQUUsY0FBYyxHQWlCdkI7TUFsR0wsQUFrQkksaUJBbEJhLENBS2YsS0FBSyxDQWFILE9BQU8sQ0FpRUc7UUFDTixTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRUFBRSxpQkFBaUIsR0FDN0I7TUF0RlAsQUErQkksaUJBL0JhLENBS2YsS0FBSyxDQTBCSCxPQUFPLENBd0RHO1FBQ04sU0FBUyxFQUFFLElBQUk7UUFDZixTQUFTLEVBQUUsaUJBQWlCLEdBQzdCO01BMUZQLEFBb0RJLGlCQXBEYSxDQUtmLEtBQUssQ0ErQ0gsT0FBTyxDQXdDRztRQUNOLFNBQVMsRTlLN1NQLE9BQXVCLEc4SzhTMUI7TUE5RlAsQUF5REksaUJBekRhLENBS2YsS0FBSyxDQW9ESCxRQUFRLENBc0NHO1FBQ1AsU0FBUyxFOUtoVFAsUUFBdUIsRzhLaVQxQjtJQWpHUCxBQXdFSSxpQkF4RWEsQ0FrRWYsUUFBUSxDQU1OLE1BQU0sQ0E4Qkc7TUFDTCxTQUFTLEU5S3ZUUCxPQUF1QixHOEt3VDFCOztBQUtQLEFBQUEsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLE1BQU0sR0F1SGpCO0VBeEhELEFBR0Usa0JBSGdCLEdBR1osR0FBRyxDQUFDO0lBQ04sS0FBSyxFQUFFLEdBQUc7SUFDVixLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixRQUFRLEVBQUUsUUFBUSxHQUNuQjtFQVZILEFBWUUsa0JBWmdCLENBWWhCLE1BQU0sQ0FBQztJQUNMLFNBQVMsRTlLMVVILFNBQXVCO0k4SzJVN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLEdBQUcsR0FDbEI7RUFoQkgsQUFpQkUsa0JBakJnQixDQWlCaEIsTUFBTSxDQUFDO0lBQ0wsU0FBUyxFOUsvVUgsT0FBdUI7SThLZ1Y3QixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVBQUUsT0FBTyxHQUNmO0VBckJILEFBdUJFLGtCQXZCZ0IsQ0F1QmhCLEtBQUssQ0FBQztJQUNKLFlBQVksRUFBRSxJQUFJLEdBa0JuQjtJQTFDSCxBQXlCSSxrQkF6QmMsQ0F1QmhCLEtBQUssQ0FFSCxNQUFNLENBQUM7TUFDTCxLQUFLLEV0R3JVTyxPQUFPLEdzR3NVcEI7SUEzQkwsQUE2Qkksa0JBN0JjLENBdUJoQixLQUFLLEFBTUYsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxDQUFDO01BQ1IsTUFBTSxFQUFFLENBQUM7TUFDVCxZQUFZLEVBQUUsS0FBSztNQUNuQixZQUFZLEVBQUUsZ0JBQWdCO01BQzlCLFlBQVksRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ3RHL1VyQyxPQUFPO01zR2dWbkIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLENBQUM7TUFDUCxHQUFHLEVBQUUsSUFBSSxHQUNWO0VBeENMLEFBMkNFLGtCQTNDZ0IsQ0EyQ2hCLE1BQU0sQ0FBQztJQUNMLGFBQWEsRUFBRSxJQUFJLEdBa0JwQjtJQTlESCxBQTZDSSxrQkE3Q2MsQ0EyQ2hCLE1BQU0sQ0FFSixNQUFNLENBQUM7TUFDTCxLQUFLLEVBQUUsT0FBTyxHQUNmO0lBL0NMLEFBaURJLGtCQWpEYyxDQTJDaEIsTUFBTSxBQU1ILE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsQ0FBQztNQUNSLE1BQU0sRUFBRSxDQUFDO01BQ1QsWUFBWSxFQUFFLEtBQUs7TUFDbkIsWUFBWSxFQUFFLGdCQUFnQjtNQUM5QixZQUFZLEVBQUUsMkNBQTJDO01BQ3pELFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxDQUFDO01BQ1IsR0FBRyxFQUFFLElBQUk7TUFDVCxTQUFTLEVBQUUsY0FBYyxHQUMxQjtFOUdqVEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEdvUHZDLEFBQUEsa0JBQWtCLENBQUM7TUFpRWYsT0FBTyxFQUFFLFNBQVM7TUFDbEIsUUFBUSxFQUFFLFFBQVEsR0FzRHJCO01BeEhELEFBb0VJLGtCQXBFYyxBQW9FYixPQUFPLEVBcEVaLGtCQUFrQixBQXFFYixNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxLQUFLO1FBQ2QsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQztRQUNULFlBQVksRUFBRSxLQUFLO1FBQ25CLFlBQVksRUFBRSxnQkFBZ0I7UUFDOUIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDdEd2WHJDLE9BQU87UXNHd1huQixRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsQ0FBQztRQUNOLE1BQU0sRUFBRSxDQUFDO1FBQ1QsTUFBTSxFQUFFLElBQUksR0FDYjtNQWpGTCxBQW1GSSxrQkFuRmMsQUFtRmIsT0FBTyxDQUFDO1FBQ1AsSUFBSSxFQUFFLENBQUMsR0FDUjtNQXJGTCxBQXVGSSxrQkF2RmMsQUF1RmIsTUFBTSxDQUFDO1FBQ04sS0FBSyxFQUFFLENBQUM7UUFDUixTQUFTLEVBQUUsY0FBYyxHQUMxQjtNQTFGTCxBQUdFLGtCQUhnQixHQUdaLEdBQUcsQ0F5Rkc7UUFDTixLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLENBQUMsR0FDWDtNQWhHTCxBQVlFLGtCQVpnQixDQVloQixNQUFNLENBc0ZHO1FBQ0wsU0FBUyxFOUtoYUwsU0FBdUI7UThLaWEzQixZQUFZLEVBQUUsSUFBSSxHQUNuQjtNQXJHTCxBQXVCRSxrQkF2QmdCLENBdUJoQixLQUFLLENBZ0ZHO1FBQ0osT0FBTyxFQUFFLENBQUMsR0FNWDtRQTlHTCxBQTZCSSxrQkE3QmMsQ0F1QmhCLEtBQUssQUFNRixPQUFPLENBNkVHO1VBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDtNQTVHUCxBQTJDRSxrQkEzQ2dCLENBMkNoQixNQUFNLENBb0VHO1FBQ0wsT0FBTyxFQUFFLENBQUMsR0FLWDtRQXJITCxBQWlESSxrQkFqRGMsQ0EyQ2hCLE1BQU0sQUFNSCxPQUFPLENBaUVHO1VBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFNUCxBQUVFLHdCQUZzQixDQUV0QixpQkFBaUIsQ0FBQztFQUNoQixTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsU0FBUyxHQUNsQjs7QUFMSCxBQU9FLHdCQVBzQixDQU90QixFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEU5S2hjSCxNQUF1QixHOEtpYzlCOztBQVZILEFBYUksd0JBYm9CLENBWXRCLEtBQUssQ0FDSCxFQUFFLEVBYk4sd0JBQXdCLENBWXRCLEtBQUssQ0FDQyxDQUFDLENBQUM7RUFDSixTQUFTLEU5S3JjTCxRQUF1QjtFOEtzYzNCLEtBQUssRXRHM2NhLE9BQU8sR3NHNGMxQjs7QUFoQkwsQUFrQkksd0JBbEJvQixDQVl0QixLQUFLLENBTUgsRUFBRSxDQUFDO0VBQ0QsTUFBTSxFQUFFLE1BQU0sR0FDZjs7QUFwQkwsQUFzQkksd0JBdEJvQixDQVl0QixLQUFLLENBVUgsRUFBRSxDQUFDO0VBQ0QsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsWUFBWSxFQUFFLElBQUksR0FhbkI7RUF0Q0wsQUEyQk0sd0JBM0JrQixDQVl0QixLQUFLLENBVUgsRUFBRSxBQUtDLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsQ0FBQztJQUNQLEdBQUcsRUFBRSxJQUFJO0lBQ1QsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFVBQVUsRXRHemNBLE9BQU8sR3NHMGNsQjs7QUFLUCxBQUFBLGNBQWMsQ0FBQztFQUNiLFVBQVUsRXRHOWRRLE9BQU87RXNHK2R6QixPQUFPLEVBQUUsV0FBVyxHQXdEckI7RUExREQsQUFJRSxjQUpZLENBSVosWUFBWSxDQUFDO0lBQ1gsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsWUFBWSxFQUFFLElBQUksR0FtQm5CO0lBMUJILEFBU0ksY0FUVSxDQUlaLFlBQVksQ0FLVixJQUFJLENBQUM7TUFDSCxPQUFPLEVBQUUsS0FBSyxHQUNmO0lBWEwsQUFhSSxjQWJVLENBSVosWUFBWSxBQVNULE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPO01BQzFFLGFBQWEsRUFBRSxJQUFJO01BQ25CLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFNBQVMsRUFBRSxjQUFjO01BQ3pCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxDQUFDO01BQ1AsR0FBRyxFQUFFLEdBQUcsR0FDVDtFQXpCTCxBQTRCRSxjQTVCWSxDQTRCWixXQUFXLENBQUM7SUFDVixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBL0JILEFBZ0NFLGNBaENZLENBZ0NaLFNBQVMsQ0FBQztJQUNSLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0U5RzFiQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4R3dadkMsQUFBQSxjQUFjLENBQUM7TUFxQ1gsT0FBTyxFQUFFLGNBQWMsR0FxQjFCO01BMURELEFBSUUsY0FKWSxDQUlaLFlBQVksQ0FtQ0c7UUFDWCxZQUFZLEVBQUUsSUFBSSxHQVFuQjtRQWhETCxBQWFJLGNBYlUsQ0FJWixZQUFZLEFBU1QsT0FBTyxDQTZCRztVcEk3Z0JYLE1BQU0sRW9JOGdCWSxJQUFJO1VwSXRnQnRCLEtBQUssRW9Jc2dCYSxJQUFJO1VBQ2xCLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPO1VBQzFFLGVBQWUsRUFBRSxTQUFTO1VBQzFCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BL0NQLEFBNEJFLGNBNUJZLENBNEJaLFdBQVcsQ0FzQkc7UUFDVixTQUFTLEVBQUUsSUFBSSxHQUNoQjtNQXBETCxBQWdDRSxjQWhDWSxDQWdDWixTQUFTLENBcUJHO1FBQ1IsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFJTCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBK0VwQjtFQWhGRCxBQUdFLGlCQUhlLENBR2YsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsYUFBYSxFQUFFLGlCQUFpQixHQUNqQztFQU5ILEE3SWxpQkUsaUI2SWtpQmUsQ0FRZixFQUFFLEE3STFpQkQsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZJOGhCSCxBQVlFLGlCQVplLENBWWYsRUFBRSxDQUFDO0lBQ0QsS0FBSyxFQUFFLElBQUk7SUFDWCxZQUFZLEVBQUUsSUFBSSxHQUNuQjtFQWZILEFBaUJFLGlCQWpCZSxDQWlCZixDQUFDLENBQUM7SUFDQSxTQUFTLEU5Sy9pQkgsUUFBdUI7SThLZ2pCN0IsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsZUFBZTtJQUN4QixRQUFRLEVBQUUsUUFBUSxHQVluQjtJQWpDSCxBQXVCSSxpQkF2QmEsQ0FpQmYsQ0FBQyxBQU1FLE9BQU8sQUFBQSxNQUFNLENBQUM7TUFDYixPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsR0FBRztNQUNYLFVBQVUsRXRHdmlCRSxPQUFPO01zR3dpQm5CLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxJQUFJO01BQ1osSUFBSSxFQUFFLENBQUMsR0FDUjtFQWhDTCxBQW1DRSxpQkFuQ2UsQ0FtQ2YsWUFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUksR0FDZDtFOUd6ZkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEdvZHZDLEFBQUEsaUJBQWlCLENBQUM7TUF3Q2QsYUFBYSxFQUFFLElBQUk7TUFDbkIsT0FBTyxFQUFFLE1BQU0sR0F1Q2xCO01BaEZELEFBMkNJLGlCQTNDYSxDQTJDYixFQUFFLENBQUM7UUFDRCxLQUFLLEVBQUUsaUJBQWlCLEdBQ3pCO01BN0NMLEFBWUUsaUJBWmUsQ0FZZixFQUFFLENBbUNHO1FBQ0QsS0FBSyxFQUFFLElBQUksR0FLWjtRQXJETCxBQWtETSxpQkFsRFcsQ0ErQ2IsRUFBRSxBQUdDLElBQUssQ0FBQSxPQUFPLEVBQUU7VUFDYixPQUFPLEVBQUUsSUFBSSxHQUNkO01BcERQLEFBaUJFLGlCQWpCZSxDQWlCZixDQUFDLENBc0NHO1FBQ0EsU0FBUyxFOUtybEJMLE9BQXVCO1E4S3NsQjNCLE9BQU8sRUFBRSxVQUFVLEdBQ3BCO01BMURMLEFBbUNFLGlCQW5DZSxDQW1DZixZQUFZLENBeUJHO1FBQ1gsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNLEVBQUUsT0FBTztRdkl0bEJuQixRQUFRLEV1SXVsQmMsUUFBUTtRdklubEIxQixHQUFVLEV1SW1sQmtCLElBQUk7UXZJbmxCaEMsS0FBVSxFdUltbEJ1QixDQUFDO1FBQ2xDLFNBQVMsRTlLN2xCTCxPQUF1QjtROEs4bEIzQixXQUFXLEVBQUUsSUFBSTtRQUNqQixjQUFjLEVBQUUsTUFBTTtRQUN0QixLQUFLLEVBQUUsT0FBTztRQUNkLGFBQWEsRUFBRSxJQUFJLEdBVXBCO1FBOUVMLEFBc0VNLGlCQXRFVyxDQTREYixZQUFZLEFBVVQsT0FBTyxDQUFDO1VBQ1AsT0FBTyxFQUFFLEVBQUU7VUFDWCxNQUFNLEVBQUUsSUFBSTtVcEl2bUJoQixNQUFNLEVvSXdtQlksR0FBRztVcElobUJyQixLQUFLLEVvSWdtQmEsR0FBRztVdklqbUJ2QixRQUFRLEV1SWttQmdCLFFBQVE7VXZJOWxCNUIsR0FBVSxFdUk4bEJvQixHQUFHO1V2STlsQmpDLEtBQVUsRXVJOGxCd0IsQ0FBQztVQUNqQyxVQUFVLEVBQUUsMENBQTBDLENBQUMsU0FBUyxDQUFDLE1BQU07VUFDdkUsZUFBZSxFQUFFLFNBQVMsR0FDM0I7O0FBS1AsQUFBQSxZQUFZLENBQUM7RUFDWCxVQUFVLEVBQUUsT0FBTyxHQXN2QnBCO0VBdnZCRCxBQUtJLFlBTFEsQ0FHVixpQkFBaUIsQ0FFZixFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQVJMLEFBU0ksWUFUUSxDQUdWLGlCQUFpQixDQU1mLFNBQVMsQ0FBQztJQUNSLFNBQVMsRTlLem5CTCxTQUF1QixHOEswbkI1QjtFQVhMLEFBY0UsWUFkVSxDQWNWLGlCQUFpQixDQUFDO0lBQ2hCLFVBQVUsRXRHam5CTixJQUFJO0lzR2tuQlIsTUFBTSxFQUFFLENBQUMsR0FDVjtFQWpCSCxBQW1CRSxZQW5CVSxDQW1CVixlQUFlLENBQUM7SUFDZCxVQUFVLEV0R3RuQk4sSUFBSTtJc0d1bkJSLFNBQVMsRTlLcG9CSCxPQUF1QjtJOEtxb0I3QixXQUFXLEVBQUUsR0FBRztJQUNoQixPQUFPLEVBQUUsV0FBVztJQUNwQixRQUFRLEVBQUUsUUFBUSxHQU9uQjtJQS9CSCxBQTBCSSxZQTFCUSxDQW1CVixlQUFlLENBT2IsQ0FBQyxDQUFDO01BQ0EsU0FBUyxFOUsxb0JMLE9BQXVCO004SzJvQjNCLEtBQUssRXRHOW9CZSxPQUFPO01zRytvQjNCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBOUJMLEFBaUNFLFlBakNVLENBaUNWLHFCQUFxQixDQUFDO0lBQ3BCLFFBQVEsRUFBRSxRQUFRLEdBa0JuQjtJQXBESCxBQW9DSSxZQXBDUSxDQWlDVixxQkFBcUIsQUFHbEIsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixnQkFBZ0IsRUFBRSxPQUFPO01BQ3pCLHlCQUF5QixFQUFFLEtBQUs7TUFDaEMsc0JBQXNCLEVBQUUsS0FBSztNQUM3QixXQUFXLEVBQUUsQ0FBQztNQUNkLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxLQUFLO01BQ1gsR0FBRyxFQUFFLEdBQUc7TUFDUixrQkFBa0IsRUFBRSxVQUFVO01BQzlCLGVBQWUsRUFBRSxVQUFVO01BQzNCLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCO0VBbkRMLEFBc0RFLFlBdERVLENBc0RWLGVBQWUsQ0FBQztJQUNkLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRXRHMXBCTixJQUFJLEdzR3cyQlQ7SUF0UUgsQUEwREksWUExRFEsQ0FzRFYsZUFBZSxDQUliLE9BQU8sQ0FBQztNQUNOLE9BQU8sRUFBRSxTQUFTO01BQ2xCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLGFBQWEsRUFBRSxpQkFBaUIsR0E4QmpDO01BM0ZMLEFBK0RNLFlBL0RNLENBc0RWLGVBQWUsQ0FJYixPQUFPLENBS0wsVUFBVSxDQUFDO1FBQ1QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFVBQVUsRUFBRSxPQUFPO1FBQ25CLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLEtBQUssR0FNYjtRQTlFUCxBQTBFUSxZQTFFSSxDQXNEVixlQUFlLENBSWIsT0FBTyxDQUtMLFVBQVUsQ0FXUixHQUFHLENBQUM7VUFDRixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7TUE3RVQsQUFnRk0sWUFoRk0sQ0FzRFYsZUFBZSxDQUliLE9BQU8sQ0FzQkwsa0JBQWtCLENBQUM7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLElBQUk7UUFDVCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRXRHanJCSyxPQUFPO1FzR2tyQmpCLFNBQVMsRTlLcHNCUCxPQUF1QjtROEtxc0J6QixPQUFPLEVBQUUsWUFBWTtRQUNyQixhQUFhLEVBQUUsSUFBSTtRQUNuQixVQUFVLEVBQUUsd0JBQXdCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQzVEO0lBekZQLEFBNkZJLFlBN0ZRLENBc0RWLGVBQWUsQ0F1Q2IsU0FBUyxDQUFDO01BQ1IsU0FBUyxFOUs3c0JMLFNBQXVCO004SzhzQjNCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBaEdMLEFBa0dJLFlBbEdRLENBc0RWLGVBQWUsQ0E0Q2Isa0JBQWtCLENBQUM7TUFDakIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLFdBQVcsR0FtQ3JCO01BdklMLEFBc0dNLFlBdEdNLENBc0RWLGVBQWUsQ0E0Q2Isa0JBQWtCLEFBSWYsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UXBJeHRCZixNQUFNLEVvSXl0QlksQ0FBQztRcElqdEJuQixLQUFLLEVvSWl0QmEsQ0FBQztRQUNmLFlBQVksRUFBRSxLQUFLO1FBQ25CLFlBQVksRUFBRSxvQkFBb0I7UUFDbEMsWUFBWSxFQUFFLDJDQUEyQztRdklydEIvRCxRQUFRLEV1SXN0QmdCLFFBQVE7UXZJbHRCNUIsR0FBVSxFdUlrdEJvQixDQUFDO1F2SWx0Qi9CLEtBQVUsRXVJa3RCc0IsQ0FBQztRdklsdEJqQyxJQUFVLEV1SWt0QjZCLENBQUM7UUFDdEMsTUFBTSxFQUFFLElBQUksR0FDYjtNQTlHUCxBQWdITSxZQWhITSxDQXNEVixlQUFlLENBNENiLGtCQUFrQixDQWNoQixXQUFXLENBQUM7UUFDVixPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxNQUFNO1FBQ2QsVUFBVSxFQUFFLE1BQU0sR0FDbkI7TUFwSFAsQUFzSE0sWUF0SE0sQ0FzRFYsZUFBZSxDQTRDYixrQkFBa0IsQ0FvQmhCLE1BQU0sQ0FBQztRQUNMLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLEdBQUc7UUFDaEIsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsQ0FBQztRQUNkLGNBQWMsRUFBRSxPQUFPLEdBS3hCO1FBaElQLEFBNkhRLFlBN0hJLENBc0RWLGVBQWUsQ0E0Q2Isa0JBQWtCLENBb0JoQixNQUFNLENBT0osSUFBSSxDQUFDO1VBQ0gsU0FBUyxFQUFFLElBQUksR0FDaEI7TUEvSFQsQUFrSU0sWUFsSU0sQ0FzRFYsZUFBZSxDQTRDYixrQkFBa0IsQ0FnQ2hCLEtBQUssQ0FBQztRQUNKLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLEdBQUc7UUFDaEIsS0FBSyxFQUFFLE9BQU8sR0FDZjtJQXRJUCxBQXlJSSxZQXpJUSxDQXNEVixlQUFlLENBbUZiLFlBQVksQ0FBQztNQUNYLGFBQWEsRUFBRSxpQkFBaUIsR0FDakM7SUEzSUwsQUE2SUksWUE3SVEsQ0FzRFYsZUFBZSxDQXVGYixhQUFhLENBQUM7TUFDWixVQUFVLEVBQUUsTUFBTSxHQTZDbkI7TUEzTEwsQUFnSk0sWUFoSk0sQ0FzRFYsZUFBZSxDQXVGYixhQUFhLENBR1gsS0FBSyxDQUFDO1FsSDV0QlIsT0FBTyxFQUFFLEtBQUs7UWtIOHRCVixhQUFhLEVBQUUsSUFBSSxHQWdDcEI7UUFsTFAsQTdJcG5CRSxZNklvbkJVLENBc0RWLGVBQWUsQ0F1RmIsYUFBYSxDQUdYLEtBQUssQTdJcHdCUixPQUFPLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxFQUFFO1VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtRNklnbkJILEFBb0pRLFlBcEpJLENBc0RWLGVBQWUsQ0F1RmIsYUFBYSxDQUdYLEtBQUssQ0FJSCxNQUFNLEVBcEpkLFlBQVksQ0FzRFYsZUFBZSxDQXVGYixhQUFhLENBR1gsS0FBSyxDQUlLLElBQUksQ0FBQztVQUNYLEtBQUssRUFBRSxHQUFHO1VBQ1YsS0FBSyxFQUFFLElBQUksR0FDWjtRQXZKVCxBQXlKUSxZQXpKSSxDQXNEVixlQUFlLENBdUZiLGFBQWEsQ0FHWCxLQUFLLENBU0gsTUFBTSxDQUFDO1VBQ0wsS0FBSyxFQUFFLE9BQU8sR0FDZjtRQTNKVCxBQTZKUSxZQTdKSSxDQXNEVixlQUFlLENBdUZiLGFBQWEsQ0FHWCxLQUFLLENBYUgsSUFBSSxDQUFDO1VBQ0gsS0FBSyxFQUFFLE9BQU8sR0FDZjtRQS9KVCxBQWlLUSxZQWpLSSxDQXNEVixlQUFlLENBdUZiLGFBQWEsQ0FHWCxLQUFLLENBaUJILFdBQVcsQ0FBQztVQUNWLFNBQVMsRUFBRSxJQUFJO1VBQ2YsV0FBVyxFQUFFLEdBQUc7VUFDaEIsY0FBYyxFQUFFLE9BQU87VUFDdkIsV0FBVyxFQUFFLENBQUM7VUFDZCxNQUFNLEVBQUUsU0FBUyxHQUtsQjtVQTNLVCxBQXdLVSxZQXhLRSxDQXNEVixlQUFlLENBdUZiLGFBQWEsQ0FHWCxLQUFLLENBaUJILFdBQVcsQ0FPVCxJQUFJLENBQUM7WUFDSCxTQUFTLEVBQUUsSUFBSSxHQUNoQjtRQTFLWCxBQTZLUSxZQTdLSSxDQXNEVixlQUFlLENBdUZiLGFBQWEsQ0FHWCxLQUFLLENBNkJILE9BQU8sQ0FBQztVQUNOLFNBQVMsRUFBRSxJQUFJO1VBQ2YsV0FBVyxFQUFFLEdBQUc7VUFDaEIsV0FBVyxFQUFFLENBQUMsR0FDZjtNQWpMVCxBQW9MTSxZQXBMTSxDQXNEVixlQUFlLENBdUZiLGFBQWEsQ0F1Q1gsTUFBTSxDQUFDO1FBQ0wsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEVBQUUsSUFBSTtRQUNYLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7SUExTFAsQUE2TEksWUE3TFEsQ0FzRFYsZUFBZSxDQXVJYixTQUFTLENBQUM7TUFDUixPQUFPLEVBQUUsWUFBWTtNQUNyQixTQUFTLEU5Szl5QkwsU0FBdUI7TThLK3lCM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFdEdwekJlLE9BQU87TXNHcXpCM0IsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsY0FBYztNQUMxQixhQUFhLEVBQUUsY0FBYztNQUM3QixPQUFPLEVBQUUsV0FBVztNQUNwQixNQUFNLEVBQUUsT0FBTyxHQXdCaEI7TUE5TkwsQUF3TU0sWUF4TU0sQ0FzRFYsZUFBZSxDQXVJYixTQUFTLENBV1AsZUFBZSxDQUFDO1FBQ2QsT0FBTyxFQUFFLElBQUksR0FDZDtNQTFNUCxBQTRNTSxZQTVNTSxDQXNEVixlQUFlLENBdUliLFNBQVMsQ0FlUCxjQUFjLENBQUM7UUFDYixPQUFPLEVBQUUsWUFBWTtRQUNyQixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osYUFBYSxFQUFFLElBQUk7UUFDbkIsVUFBVSxFQUFFLE9BQU87UUFDbkIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLEdBQUc7UUFDUixJQUFJLEVBQUUsR0FBRyxHQVNWO1FBN05QLEFBc05RLFlBdE5JLENBc0RWLGVBQWUsQ0F1SWIsU0FBUyxDQWVQLGNBQWMsQ0FVWixHQUFHLENBQUM7VUFDRixLQUFLLEVBQUUsR0FBRztVQUNWLE1BQU0sRUFBRSxJQUFJO1VBQ1osUUFBUSxFQUFFLFFBQVE7VUFDbEIsR0FBRyxFQUFFLElBQUk7VUFDVCxJQUFJLEVBQUUsR0FBRyxHQUNWO0lBNU5ULEFBZ09JLFlBaE9RLENBc0RWLGVBQWUsQ0EwS2IsZ0JBQWdCLENBQUM7TUFDZixLQUFLLEVBQUUsT0FBTztNQUNkLFNBQVMsRTlLajFCTCxTQUF1QjtNOEtrMUIzQixjQUFjLEVBQUUsS0FBSztNQUNyQixXQUFXLEVBQUUsQ0FBQztNQUNkLGNBQWMsRUFBRSxTQUFTO01BQ3pCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxLQUFLLEdBUVg7TUEvT0wsQUF5T00sWUF6T00sQ0FzRFYsZUFBZSxDQTBLYixnQkFBZ0IsQ0FTZCxJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLFVBQVUsRUFBRSxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ3RHOTBCcEUsSUFBSTtRc0crMEJKLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0lBOU9QLEFBaVBJLFlBalBRLENBc0RWLGVBQWUsQ0EyTGIsY0FBYyxDQUFDO01BQ2IsS0FBSyxFQUFFLE9BQU87TUFDZCxTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO01BMVBMLEFBdVBNLFlBdlBNLENBc0RWLGVBQWUsQ0EyTGIsY0FBYyxDQU1aLENBQUMsQUFBQSxhQUFhLENBQUM7UUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJOUcveEJILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TThHc2lCdkMsQUFnSk0sWUFoSk0sQ0FzRFYsZUFBZSxDQXVGYixhQUFhLENBR1gsS0FBSyxDQWdIRztRQUNKLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBblFULEFBeVFJLFlBelFRLENBd1FWLGNBQWMsR0FDUixFQUFFLENBQUM7SUFDTCxVQUFVLEVBQUUsTUFBTTtJQUNsQixTQUFTLEU5SzEzQkwsSUFBdUI7SThLMjNCM0IsVUFBVSxFQUFFLElBQUk7SUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUE5UUwsQUErUUksWUEvUVEsQ0F3UVYsY0FBYyxDQU9aLFNBQVMsQ0FBQztJQUNSLFNBQVMsRTlLLzNCTCxTQUF1QjtJOEtnNEIzQixVQUFVLEVBQUUsTUFBTTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQW5STCxBQW9SSSxZQXBSUSxDQXdRVixjQUFjLENBWVosb0JBQW9CLEVBcFJ4QixZQUFZLENBd1FWLGNBQWMsQ0FZVSxNQUFNLENBQUM7SUFDM0IsT0FBTyxFQUFFLElBQUksR0FDZDtFQXRSTCxBQTBSSSxZQTFSUSxDQXlSVixzQkFBc0IsR0FDaEIsRUFBRSxDQUFDO0lBQ0wsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFOUszNEJMLElBQXVCO0k4SzQ0QjNCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBOVJMLEFBZ1NJLFlBaFNRLENBeVJWLHNCQUFzQixDQU9wQixvQkFBb0IsRUFoU3hCLFlBQVksQ0F5UlYsc0JBQXNCLENBT0UsTUFBTSxDQUFDO0lBQzNCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFsU0wsQUFxU0UsWUFyU1UsQ0FxU1YsaUJBQWlCLENBQUM7SUFDaEIsT0FBTyxFQUFFLFNBQVMsR0ErSW5CO0lBcmJILEFBd1NJLFlBeFNRLENBcVNWLGlCQUFpQixDQUdmLEVBQUUsQ0FBQztNQUNELEtBQUssRUFBRSxPQUFPO01BQ2QsU0FBUyxFQUFFLElBQUk7TUFDZixXQUFXLEVBQUUsR0FBRztNQUNoQixPQUFPLEVBQUUsTUFBTSxHQUNoQjtJQTdTTCxBQStTSSxZQS9TUSxDQXFTVixpQkFBaUIsQ0FVZixXQUFXLENBQUM7TUFDVixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBalRMLEFBbVRJLFlBblRRLENBcVNWLGlCQUFpQixDQWNmLEtBQUssQ0FBQztNQUNKLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxjQUFjO01BQ3ZCLFdBQVcsRUFBRSxpQkFBaUI7TUFDOUIsWUFBWSxFQUFFLGlCQUFpQixHQWVoQztNQXRVTCxBQXlUTSxZQXpUTSxDQXFTVixpQkFBaUIsQ0FjZixLQUFLLENBTUgsQ0FBQyxDQUFDO1FBQ0EsT0FBTyxFQUFFLENBQUM7UUFDVixRQUFRLEVBQUUsUUFBUSxHQUNuQjtNQTVUUCxBQThUTSxZQTlUTSxDQXFTVixpQkFBaUIsQ0FjZixLQUFLLEFBV0YsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtRcElqN0JmLE1BQU0sRW9JazdCZ0IsSUFBSTtRcEkxNkIxQixLQUFLLEVvSTA2QmEsR0FBRztRdkkzNkJ2QixRQUFRLEV1STQ2QmdCLFFBQVE7UXZJeDZCNUIsR0FBVSxFdUl3NkJvQixDQUFDO1F2SXg2Qi9CLEtBQVUsRXVJdzZCc0IsQ0FBQztRdkl4NkJqQyxJQUFVLEV1SXc2QjZCLENBQUM7UUFDdEMsTUFBTSxFQUFFLE1BQU07UUFDZCxVQUFVLEVBQUUsT0FBTyxHQUNwQjtJQXJVUCxBQXdVSSxZQXhVUSxDQXFTVixpQkFBaUIsQ0FtQ2YsTUFBTSxDQUFDO01BQ0wsVUFBVSxFQUFFLE9BQU87TUFDbkIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsUUFBUSxFQUFFLE1BQU07TUFDaEIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsVUFBVSxFQUFFLElBQUk7TUFDaEIsUUFBUSxFQUFFLFFBQVEsR0FvQ25CO01BbFhMLEFBZ1ZNLFlBaFZNLENBcVNWLGlCQUFpQixDQW1DZixNQUFNLENBUUosV0FBVyxDQUFDO1FBQ1YsT0FBTyxFQUFFLEtBQUs7UUFDZCxXQUFXLEVBQUUsR0FBRztRQUNoQixjQUFjLEVBQUUsQ0FBQyxHQUNsQjtNQXBWUCxBQXNWTSxZQXRWTSxDQXFTVixpQkFBaUIsQ0FtQ2YsTUFBTSxDQWNKLE1BQU0sQ0FBQztRQUNMLFVBQVUsRXRHcDdCQSxPQUFPO1FzR3E3QmpCLEtBQUssRXRHMTdCTCxJQUFJO1FzRzI3QkosVUFBVSxFQUFFLE1BQU07UUFDbEIsU0FBUyxFOUt6OEJQLFNBQXVCO1E4SzA4QnpCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLElBQUksR0FNakI7UUFyV1AsQUFpV1EsWUFqV0ksQ0FxU1YsaUJBQWlCLENBbUNmLE1BQU0sQ0FjSixNQUFNLENBV0osUUFBUSxDQUFDO1VBQ1AsS0FBSyxFQUFFLE9BQU87VUFDZCxTQUFTLEU5S2w5QlQsT0FBdUIsRzhLbTlCeEI7TUFwV1QsQUF3V1EsWUF4V0ksQ0FxU1YsaUJBQWlCLENBbUNmLE1BQU0sQUErQkgsYUFBYSxDQUNaLFFBQVEsQ0FBQztRQUNQLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsS0FBSyxFdEd4OEJHLE9BQU87UXNHeThCZixLQUFLLEVBQUUsS0FBSztRQUNaLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7SUEvV1QsQUFvWEksWUFwWFEsQ0FxU1YsaUJBQWlCLENBK0VmLE1BQU0sQ0FBQyxNQUFNLENBQUM7TUFDWixVQUFVLEVBQUUsT0FBTztNQUNuQixNQUFNLEVBQUUsSUFBSTtNQUNaLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0lBeFhMLEFBeVhJLFlBelhRLENBcVNWLGlCQUFpQixDQW9GZixNQUFNLENBQUMsTUFBTSxDQUFDO01BQ1osVUFBVSxFQUFFLE9BQU87TUFDbkIsTUFBTSxFQUFFLElBQUk7TUFDWixhQUFhLEVBQUUsR0FBRyxHQUNuQjtJQTdYTCxBQThYSSxZQTlYUSxDQXFTVixpQkFBaUIsQ0F5RmYsTUFBTSxDQUFDLE1BQU0sQ0FBQztNQUNaLFVBQVUsRUFBRSxPQUFPO01BQ25CLE1BQU0sRUFBRSxJQUFJO01BQ1osYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUFsWUwsQUFvWUksWUFwWVEsQ0FxU1YsaUJBQWlCLENBK0ZmLE1BQU0sQ0FBQztNQUNMLFVBQVUsRUFBRSxHQUFHO01BQ2YsT0FBTyxFQUFFLE1BQU0sR0E4Q2hCO01BcGJMLEFBd1lNLFlBeFlNLENBcVNWLGlCQUFpQixDQStGZixNQUFNLENBSUosRUFBRSxDQUFDO1FBQ0QsZUFBZSxFQUFFLElBQUk7UUFDckIsTUFBTSxFQUFFLENBQUM7UUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNYO01BNVlQLEFBOFlNLFlBOVlNLENBcVNWLGlCQUFpQixDQStGZixNQUFNLENBVUosRUFBRSxDQUFDO1FBQ0QsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsT0FBTztRQUNkLFNBQVMsRTlLaGdDUCxTQUF1QjtROEtpZ0N6QixXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsVUFBVTtRQUNuQixZQUFZLEVBQUUsSUFBSSxHQThCbkI7UUFuYlAsQUF1WlEsWUF2WkksQ0FxU1YsaUJBQWlCLENBK0ZmLE1BQU0sQ0FVSixFQUFFLEFBU0MsT0FBTyxDQUFDO1VBQ1AsT0FBTyxFQUFFLEVBQUU7VUFDWCxPQUFPLEVBQUUsS0FBSztVQUNkLEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixhQUFhLEVBQUUsSUFBSTtVQUNuQixVQUFVLEV0RzEvQkYsT0FBTztVc0cyL0JmLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLElBQUksRUFBRSxDQUFDO1VBQ1AsR0FBRyxFQUFFLEdBQUcsR0FDVDtRQWphVCxBQW9hVSxZQXBhRSxDQXFTVixpQkFBaUIsQ0ErRmYsTUFBTSxDQVVKLEVBQUUsQUFxQkMsVUFBVyxDMUMvK0JGLENBQUMsQzBDZy9CUixPQUFPLENBQUM7VUFDUCxVQUFVLEVBQUUsT0FBTyxHQUNwQjtRQXRhWCxBQXlhVSxZQXphRSxDQXFTVixpQkFBaUIsQ0ErRmYsTUFBTSxDQVVKLEVBQUUsQUEwQkMsVUFBVyxDckVsaUNXLENBQUMsQ3FFbWlDckIsT0FBTyxDQUFDO1VBQ1AsVUFBVSxFQUFFLE9BQU8sR0FDcEI7UUEzYVgsQUE2YVEsWUE3YUksQ0FxU1YsaUJBQWlCLENBK0ZmLE1BQU0sQ0FVSixFQUFFLEFBK0JDLFVBQVcsQ3JFdmlDVyxDQUFDLEVxRXVpQ1Q7VUFDYixZQUFZLEVBQUUsQ0FBQyxHQUloQjtVQWxiVCxBQSthVSxZQS9hRSxDQXFTVixpQkFBaUIsQ0ErRmYsTUFBTSxDQVVKLEVBQUUsQUErQkMsVUFBVyxDckV2aUNXLENBQUMsQ3FFeWlDckIsT0FBTyxDQUFDO1lBQ1AsVUFBVSxFQUFFLE9BQU8sR0FDcEI7RUFqYlgsQUF1YkUsWUF2YlUsQ0F1YlYsZUFBZSxDQUFDO0lBQ2QsT0FBTyxFQUFFLFNBQVMsR0FDbkI7RUF6YkgsQUEwYkUsWUExYlUsQ0EwYlYsY0FBYyxDQUFDO0lBQ2IsYUFBYSxFQUFFLElBQUksR0E0Q3BCO0lBdmVILEFBNmJJLFlBN2JRLENBMGJWLGNBQWMsQ0FHWixHQUFHLENBQUM7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsR0FBRztNQUNaLE1BQU0sRUFBRSxpQkFBaUI7TUFDekIsWUFBWSxFQUFFLEdBQUc7TUFDakIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLEdBQUcsR0FDVDtJQXRjTCxBQXVjSSxZQXZjUSxDQTBiVixjQUFjLENBYVosVUFBVSxDQUFDO01BQ1QsUUFBUSxFQUFFLE1BQU0sR0FDakI7SUF6Y0wsQUEwY0ksWUExY1EsQ0EwYlYsY0FBYyxDQWdCWixxQkFBcUIsQ0FBQztNQUNwQixRQUFRLEVBQUUsTUFBTTtNQUNoQixjQUFjLEVBQUUsR0FBRyxHQUNwQjtJQTdjTCxBQThjSSxZQTljUSxDQTBiVixjQUFjLENBb0JaLEVBQUUsQ0FBQztNQUNELFNBQVMsRTlLOWpDTCxJQUF1QjtNOEsrakMzQixNQUFNLEVBQUUsUUFBUSxHQUNqQjtJQWpkTCxBQWtkSSxZQWxkUSxDQTBiVixjQUFjLENBd0JaLFNBQVMsQ0FBQztNQUNSLFNBQVMsRTlLbGtDTCxPQUF1QjtNOEtta0MzQixjQUFjLEVBQUUsU0FBUztNQUN6QixjQUFjLEVBQUUsTUFBTSxHQUN2QjtJQXRkTCxBQXdkSSxZQXhkUSxDQTBiVixjQUFjLENBOEJaLElBQUksQ0FBQztNQUNILFVBQVUsRUFBRSxPQUFPO01BQ25CLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0lBNWRMLEFBNmRJLFlBN2RRLENBMGJWLGNBQWMsQ0FtQ1osVUFBVSxDQUFDO01BQ1QsVUFBVSxFdEczakNFLE9BQU87TXNHNGpDbkIsVUFBVSxFQUFFLE1BQU07TUFDbEIsS0FBSyxFdEdsa0NILElBQUk7TXNHbWtDTixTQUFTLEU5S2hsQ0wsU0FBdUI7TThLaWxDM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsT0FBTyxFQUFFLEdBQUc7TUFDWixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQXJlTCxBQXllRSxZQXplVSxDQXllVixxQkFBcUIsQ0FBQztJQUNwQixVQUFVLEV0RzVrQ04sSUFBSTtJc0c2a0NSLE9BQU8sRUFBRSxjQUFjLEdBQ3hCO0VBNWVILEFBOGVFLFlBOWVVLENBOGVWLHNCQUFzQixDQUFDO0lBQ3JCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLEtBQUssRXRHcGxDRCxJQUFJO0lzR3FsQ1IsYUFBYSxFQUFFLElBQUksR0FjcEI7SUFqZ0JILEFBcWZJLFlBcmZRLENBOGVWLHNCQUFzQixDQU9wQixNQUFNLENBQUM7TUFDTCxTQUFTLEU5S3JtQ0wsU0FBdUI7TThLc21DM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUF6ZkwsQUEyZkksWUEzZlEsQ0E4ZVYsc0JBQXNCLENBYXBCLEtBQUssQ0FBQztNQUNKLEtBQUssRXRHOWxDSCxJQUFJO01zRytsQ04sU0FBUyxFOUs1bUNMLFFBQXVCO004SzZtQzNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBaGdCTCxBQW1nQkUsWUFuZ0JVLENBbWdCVixxQkFBcUIsQ0FBQztJQUNwQixPQUFPLEVBQUUsTUFBTTtJQUNmLFNBQVMsRTlLcG5DSCxRQUF1QixHOEtxbkM5QjtFOUc1aUNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThHc2lCdkMsQUFtQkUsWUFuQlUsQ0FtQlYsZUFBZSxDQXVmRztNQUNkLFNBQVMsRTlLMW5DTCxRQUF1QjtNOEsybkMzQixPQUFPLEVBQUUsV0FBVyxHQU1yQjtNQWxoQkwsQUEwQkksWUExQlEsQ0FtQlYsZUFBZSxDQU9iLENBQUMsQ0FvZkc7UUFDQSxTQUFTLEU5SzluQ1AsUUFBdUI7UThLK25DekIsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUFqaEJQLEFBb0NJLFlBcENRLENBaUNWLHFCQUFxQixBQUdsQixNQUFNLENBa2ZHO01BQ04sS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLElBQUksRUFBRSxLQUFLLEdBQ1o7SUExaEJQLEFBNmhCSSxZQTdoQlEsQ0E2aEJSLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxNQUFNLEdBQ2hCO0U5R3JrQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEdzaUJ2QyxBQW1CRSxZQW5CVSxDQW1CVixlQUFlLENBaWhCRztNQUNkLFNBQVMsRTlLcHBDTCxJQUF1QjtNOEtxcEMzQixPQUFPLEVBQUUsY0FBYyxHQU14QjtNQTVpQkwsQUEwQkksWUExQlEsQ0FtQlYsZUFBZSxDQU9iLENBQUMsQ0E4Z0JHO1FBQ0EsU0FBUyxFOUt4cENQLElBQXVCO1E4S3lwQ3pCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBM2lCUCxBQW9DSSxZQXBDUSxDQWlDVixxQkFBcUIsQUFHbEIsTUFBTSxDQTRnQkc7TUFDTixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osSUFBSSxFQUFFLEtBQUssR0FDWjtJQXBqQlAsQUE2aEJJLFlBN2hCUSxDQTZoQlIsYUFBYSxDQTBCQztNQUNaLE9BQU8sRUFBRSxNQUFNLEdBQ2hCO0lBempCTCxBQTJqQkksWUEzakJRLENBMmpCUixrQkFBa0IsQ0FBQztNQUNqQixPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBN2pCTCxBQXNERSxZQXREVSxDQXNEVixlQUFlLENBeWdCRztNQUNkLGFBQWEsRUFBRSxJQUFJLEdBb0hwQjtNQXByQkwsQUEwREksWUExRFEsQ0FzRFYsZUFBZSxDQUliLE9BQU8sQ0F3Z0JHO1FBQ04sT0FBTyxFQUFFLFNBQVMsR0FrQm5CO1FBcmxCUCxBQWdGTSxZQWhGTSxDQXNEVixlQUFlLENBSWIsT0FBTyxDQXNCTCxrQkFBa0IsQ0FxZkc7VUFDakIsS0FBSyxFQUFFLElBQUksR0FDWjtRQXZrQlQsQUErRE0sWUEvRE0sQ0FzRFYsZUFBZSxDQUliLE9BQU8sQ0FLTCxVQUFVLENBMGdCRztVQUNULEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixhQUFhLEVBQUUsSUFBSTtVQUNuQixHQUFHLEVBQUUsSUFBSTtVQUNULEtBQUssRUFBRSxJQUFJLEdBTVo7VUFwbEJULEFBMEVRLFlBMUVJLENBc0RWLGVBQWUsQ0FJYixPQUFPLENBS0wsVUFBVSxDQVdSLEdBQUcsQ0FzZ0JHO1lBQ0YsS0FBSyxFQUFFLElBQUk7WXRJcHNDZixpQkFBb0IsRXNJcXNDRyxnQkFBZ0I7WXRJaHNDdkMsY0FBaUIsRXNJZ3NDTSxnQkFBZ0I7WXRJM3JDdkMsYUFBZ0IsRXNJMnJDTyxnQkFBZ0I7WXRJdHJDdkMsWUFBZSxFc0lzckNRLGdCQUFnQjtZdElqckN2QyxTQUFZLEVzSWlyQ1csZ0JBQWdCLEdBQ3BDO01BbmxCWCxBQTZGSSxZQTdGUSxDQXNEVixlQUFlLENBdUNiLFNBQVMsQ0EwZkc7UUFDUixTQUFTLEU5S3ZzQ1AsT0FBdUI7UThLd3NDekIsYUFBYSxFQUFFLElBQUksR0FDcEI7TUExbEJQLEFBNGxCTSxZQTVsQk0sQ0ErakJSLGVBQWUsQ0E2QmIsRUFBRSxDQUFDO1FBQ0QsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSTtRQUNqQixjQUFjLEVBQUUsTUFBTTtRQUN0QixhQUFhLEVBQUUsSUFBSTtRQUNuQixhQUFhLEVBQUUsR0FBRztRQUNsQixVQUFVLEVBQUUsSUFBSSxHQUNqQjtNQW5tQlAsQUFrR0ksWUFsR1EsQ0FzRFYsZUFBZSxDQTRDYixrQkFBa0IsQ0FtZ0JHO1FBQ2pCLE9BQU8sRUFBRSxXQUFXLEdBa0JyQjtRQXhuQlAsQUFzR00sWUF0R00sQ0FzRFYsZUFBZSxDQTRDYixrQkFBa0IsQUFJZixPQUFPLENBa2dCRztVQUNQLFlBQVksRUFBRSxtQkFBbUIsR0FDbEM7UUExbUJULEFBc0hNLFlBdEhNLENBc0RWLGVBQWUsQ0E0Q2Isa0JBQWtCLENBb0JoQixNQUFNLENBc2ZHO1VBQ0wsU0FBUyxFQUFFLElBQUk7VUFDZixjQUFjLEVBQUUsTUFBTSxHQUt2QjtVQW5uQlQsQUE2SFEsWUE3SEksQ0FzRFYsZUFBZSxDQTRDYixrQkFBa0IsQ0FvQmhCLE1BQU0sQ0FPSixJQUFJLENBbWZHO1lBQ0gsU0FBUyxFQUFFLElBQUksR0FDaEI7UUFsbkJYLEFBa0lNLFlBbElNLENBc0RWLGVBQWUsQ0E0Q2Isa0JBQWtCLENBZ0NoQixLQUFLLENBbWZHO1VBQ0osU0FBUyxFQUFFLElBQUksR0FDaEI7TUF2bkJULEFBMG5CTSxZQTFuQk0sQ0ErakJSLGVBQWUsQ0EyRGIsV0FBVyxDQUFDO1FBQ1YsUUFBUSxFQUFFLE1BQU0sR0FDakI7TUE1bkJQLEFBOG5CTSxZQTluQk0sQ0ErakJSLGVBQWUsQ0ErRGIsa0JBQWtCLENBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssR0FDbEI7TUFob0JQLEFBNklJLFlBN0lRLENBc0RWLGVBQWUsQ0F1RmIsYUFBYSxDQXFmRztRQUNaLE9BQU8sRUFBRSxLQUFLO1F0SXR2Q2QsaUJBQW9CLEVzSXV2Q0QsZ0JBQWdCO1F0SWx2Q25DLGNBQWlCLEVzSWt2Q0UsZ0JBQWdCO1F0STd1Q25DLGFBQWdCLEVzSTZ1Q0csZ0JBQWdCO1F0SXh1Q25DLFlBQWUsRXNJd3VDSSxnQkFBZ0I7UXRJbnVDbkMsU0FBWSxFc0ltdUNPLGdCQUFnQixHQXlCcEM7UUE3cEJQLEFBZ0pNLFlBaEpNLENBc0RWLGVBQWUsQ0F1RmIsYUFBYSxDQUdYLEtBQUssQ0FzZkc7VUFDSixLQUFLLEVBQUUsR0FBRztVQUNWLE1BQU0sRUFBRSxXQUFXLEdBb0JwQjtVQTVwQlQsQUEwb0JVLFlBMW9CRSxDQStqQlIsZUFBZSxDQW1FYixhQUFhLENBSVgsS0FBSyxDQUlILEdBQUcsQ0FBQztZQUNGLEtBQUssRUFBRSxHQUFHLEdBQ1g7VUE1b0JYLEFBaUtRLFlBaktJLENBc0RWLGVBQWUsQ0F1RmIsYUFBYSxDQUdYLEtBQUssQ0FpQkgsV0FBVyxDQTZlRztZQUNWLFNBQVMsRUFBRSxJQUFJO1lBQ2YsY0FBYyxFQUFFLE1BQU07WUFDdEIsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFFLENBQUMsR0FLVjtZQXZwQlgsQUF3S1UsWUF4S0UsQ0FzRFYsZUFBZSxDQXVGYixhQUFhLENBR1gsS0FBSyxDQWlCSCxXQUFXLENBT1QsSUFBSSxDQTRlRztjQUNILFNBQVMsRUFBRSxJQUFJLEdBQ2hCO1VBdHBCYixBQTZLUSxZQTdLSSxDQXNEVixlQUFlLENBdUZiLGFBQWEsQ0FHWCxLQUFLLENBNkJILE9BQU8sQ0E0ZUc7WUFDTixTQUFTLEVBQUUsSUFBSSxHQUNoQjtNQTNwQlgsQUE2TEksWUE3TFEsQ0FzRFYsZUFBZSxDQXVJYixTQUFTLENBa2VHO1FBQ1IsU0FBUyxFOUsvd0NQLE9BQXVCO1E4S2d4Q3pCLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLFdBQVcsR0FhckI7UUEvcUJQLEFBNE1NLFlBNU1NLENBc0RWLGVBQWUsQ0F1SWIsU0FBUyxDQWVQLGNBQWMsQ0F3ZEc7VUFDYixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJO1VBQ1osYUFBYSxFQUFFLElBQUk7VUFDbkIsR0FBRyxFQUFFLEdBQUcsR0FNVDtVQTlxQlQsQUFzTlEsWUF0TkksQ0FzRFYsZUFBZSxDQXVJYixTQUFTLENBZVAsY0FBYyxDQVVaLEdBQUcsQ0FvZEc7WUFDRixLQUFLLEVBQUUsR0FBRztZQUNWLEdBQUcsRUFBRSxJQUFJLEdBQ1Y7TUE3cUJYLEFBaVBJLFlBalBRLENBc0RWLGVBQWUsQ0EyTGIsY0FBYyxDQWdjRztRQUNiLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBbnJCUCxBQXFTRSxZQXJTVSxDQXFTVixpQkFBaUIsQ0FpWkc7TUFDaEIsT0FBTyxFQUFFLFNBQVMsR0F3Qm5CO01BL3NCTCxBQXdTSSxZQXhTUSxDQXFTVixpQkFBaUIsQ0FHZixFQUFFLENBaVpHO1FBQ0QsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsQ0FBQyxHQUNYO01BNXJCUCxBQW1USSxZQW5UUSxDQXFTVixpQkFBaUIsQ0FjZixLQUFLLENBMllHO1FBQ0osT0FBTyxFQUFFLFVBQVUsR0FDcEI7TUFoc0JQLEFBd1VJLFlBeFVRLENBcVNWLGlCQUFpQixDQW1DZixNQUFNLENBMFhHO1FBQ0wsYUFBYSxFQUFFLEdBQUcsR0FNbkI7UUF6c0JQLEFBc1ZNLFlBdFZNLENBcVNWLGlCQUFpQixDQW1DZixNQUFNLENBY0osTUFBTSxDQStXRztVQUNMLFNBQVMsRTlLcnpDVCxPQUF1QjtVOEtzekN2QixPQUFPLEVBQUUsWUFBWSxHQUN0QjtNQXhzQlQsQUFvWUksWUFwWVEsQ0FxU1YsaUJBQWlCLENBK0ZmLE1BQU0sQ0F1VUc7UUFDTCxVQUFVLEVBQUUsSUFBSTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBOXNCUCxBQXlRSSxZQXpRUSxDQXdRVixjQUFjLEdBQ1IsRUFBRSxDQXljRztNQUNMLFNBQVMsRTlLbDBDUCxRQUF1QjtNOEttMEN6QixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJQXJ0QlAsQUErUUksWUEvUVEsQ0F3UVYsY0FBYyxDQU9aLFNBQVMsQ0F1Y0c7TUFDUixTQUFTLEU5S3QwQ1AsT0FBdUIsRzhLNjBDMUI7TUE5dEJQLEFBeXRCUSxZQXp0QkksQ0FpdEJSLGNBQWMsQ0FLWixTQUFTLENBR1AsR0FBRyxDQUFDO1FBQ0YsT0FBTyxFQUFFLFlBQVk7UUFDckIsWUFBWSxFQUFFLEdBQUc7UXRJOTBDbkIsaUJBQW9CLEVzSSswQ0MsZUFBZTtRdEkxMENwQyxjQUFpQixFc0kwMENJLGVBQWU7UXRJcjBDcEMsYUFBZ0IsRXNJcTBDSyxlQUFlO1F0SWgwQ3BDLFlBQWUsRXNJZzBDTSxlQUFlO1F0STN6Q3BDLFNBQVksRXNJMnpDUyxlQUFlLEdBQ25DO0lBN3RCVCxBQSt0Qk0sWUEvdEJNLENBaXRCUixjQUFjLENBY1osa0JBQWtCLENBQUM7TUFDakIsV0FBVyxFQUFFLElBQUk7TUFDakIsWUFBWSxFQUFFLElBQUk7TUFDbEIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUFudUJQLEFBOGVFLFlBOWVVLENBOGVWLHNCQUFzQixDQXdQRztNQUNyQixPQUFPLEVBQUUsY0FBYztNQUN2QixhQUFhLEVBQUUsSUFBSSxHQVNwQjtNQWp2QkwsQUFxZkksWUFyZlEsQ0E4ZVYsc0JBQXNCLENBT3BCLE1BQU0sQ0FxUEc7UUFDTCxTQUFTLEU5SzExQ1AsT0FBdUIsRzhLMjFDMUI7TUE1dUJQLEFBMmZJLFlBM2ZRLENBOGVWLHNCQUFzQixDQWFwQixLQUFLLENBbVBHO1FBQ0osU0FBUyxFQUFFLElBQUksR0FDaEI7SUFodkJQLEFBbWdCRSxZQW5nQlUsQ0FtZ0JWLHFCQUFxQixDQWdQRztNQUNwQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUlMLEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsVUFBVSxFQUFFLE1BQU07RWxIdjBDaEIsT0FBTyxFQUFFLEtBQUssR2tIeTJDakI7RUFwQ0QsQTdJNzJDRSxtQjZJNjJDaUIsQTdJNzJDaEIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZJeTJDSCxBQUtFLG1CQUxpQixDQUtqQixZQUFZLENBQUM7SUFDWCxPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsTUFBTTtJQUN0QixTQUFTLEVBQUUsSUFBSTtJQUNmLFlBQVksRUFBRSxJQUFJO0lBQ2xCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsV0FBVyxFQUFFLENBQUMsR0FXZjtJQXRCSCxBQWFJLG1CQWJlLENBS2pCLFlBQVksQUFRVCxZQUFZLENBQUM7TUFDWixVQUFVLEVBQUUsb0NBQW9DLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNO01BQ3RFLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0lBaEJMLEFBa0JJLG1CQWxCZSxDQUtqQixZQUFZLEFBYVQsaUJBQWlCLENBQUM7TUFDakIsVUFBVSxFQUFFLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTTtNQUN0RSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtFOUdwekNELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThHK3hDdkMsQUFBQSxtQkFBbUIsQ0FBQztNQXlCaEIsVUFBVSxFQUFFLElBQUksR0FXbkI7TUFwQ0QsQUFLRSxtQkFMaUIsQ0FLakIsWUFBWSxDQXNCRztRQUNYLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxLQUFLLEdBS2Y7UUFsQ0wsQUErQk0sbUJBL0JhLENBMkJmLFlBQVksQUFJVCxhQUFhLENBQUM7VUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFLUCxBQUFBLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE1BQU0sRUFBRSxDQUFDLEdBcUZWO0VBdkZELEFBSUUsWUFKVSxDQUlWLEVBQUUsQ0FBQztJQUVELE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDdEdsNUNILE9BQU87SXNHbTVDckIsYUFBYSxFQUFFLElBQUk7SUFDbkIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsUUFBUSxHQThCbkI7SUF4Q0gsQTdJbjVDRSxZNkltNUNVLENBSVYsRUFBRSxBN0l2NUNELE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0k2SSs0Q0gsQUFjTSxZQWRNLENBSVYsRUFBRSxBQVFDLGlDQUFpQyxBQUUvQixPQUFPLEVBZGQsWUFBWSxDQUlWLEVBQUUsQUFRcUMscURBQXFELEFBRXZGLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osYUFBYSxFQUFFLElBQUk7TUFDbkIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLEtBQUs7TUFDVixLQUFLLEVBQUUsS0FBSztNQUNaLG1CQUFtQixFQUFFLFVBQVU7TUFDL0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN0R3A1Q1AsT0FBTztNc0dxNUNqQixlQUFlLEVBQUUsU0FBUyxHQUMzQjtJQTFCUCxBQTZCSSxZQTdCUSxDQUlWLEVBQUUsQUF5QkMsaUNBQWlDLEFBQUEsT0FBTyxDQUFDO01BQ3hDLFVBQVUsRUFBRSxrQ0FBa0MsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ3RHMTVDdkQsT0FBTztNc0cyNUNuQixlQUFlLEVBQUUsU0FBUyxHQUMzQjtJQWhDTCxBQW1DTSxZQW5DTSxDQUlWLEVBQUUsQUE2QkMscURBQXFELEFBRW5ELE9BQU8sQ0FBQztNQUNQLFVBQVUsRUFBRSxrQ0FBa0MsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ3RHcjZDbkUsSUFBSTtNc0dzNkNKLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0VBdENQLEFBMENFLFlBMUNVLENBMENWLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFVBQVUsRUFBRSxpREFBaUQsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FNdEY7SUF2REgsQUFtREksWUFuRFEsQ0EwQ1YsTUFBTSxDQVNKLEdBQUcsQ0FBQztNQUNGLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUksR0FDYjtFQXRETCxBQXlERSxZQXpEVSxDQXlEVixVQUFVLENBQUM7SUFDVCxRQUFRLEVBQUUsTUFBTSxHQUNqQjtFQTNESCxBQTZERSxZQTdEVSxDQTZEVixFQUFFLENBQUM7SUFDRCxTQUFTLEU5SzU4Q0gsSUFBdUI7SThLNjhDN0IsTUFBTSxFQUFFLENBQUMsR0FDVjtFQWhFSCxBQWlFRSxZQWpFVSxDQWlFVixLQUFLLENBQUM7SUFDSixTQUFTLEU5S2g5Q0gsU0FBdUI7SThLaTlDN0IsS0FBSyxFQUFFLE9BQU87SUFDZCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQXJFSCxBQXNFRSxZQXRFVSxDQXNFVixRQUFRLENBQUM7SUFDUCxTQUFTLEU5S3I5Q0gsU0FBdUIsRzhLczlDOUI7RUF4RUgsQUEwRUUsWUExRVUsQ0EwRVYsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFOUt6OUNILFNBQXVCO0k4SzA5QzdCLEtBQUssRXRHeDhDUyxPQUFPLEdzR2k5Q3RCO0lBckZILEFBOEVJLFlBOUVRLENBMEVWLENBQUMsQ0FJQyxHQUFHLENBQUM7TUFDRixVQUFVLEV0RzM4Q0UsT0FBTztNc0c0OENuQixPQUFPLEVBQUUsR0FBRztNQUNaLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFlBQVksRUFBRSxHQUFHO01BQ2pCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCOztBQUtMLEFBQUEsYUFBYSxDQUFDO0VsSHA4Q1YsT0FBTyxFQUFFLEtBQUs7RWtIczhDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLGdCQUFnQixHQW1DMUI7RUF0Q0QsQTdJNStDRSxhNkk0K0NXLEE3STUrQ1YsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZJdytDSCxBQUtFLGFBTFcsQ0FLWCxLQUFLLEVBTFAsYUFBYSxDQUtKLEtBQUssQ0FBQztJQUNYLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFQSCxBQVNFLGFBVFcsQ0FTWCxLQUFLLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsT0FBTyxFQUFFLEdBQUcsR0FNYjtJQW5CSCxBQWVJLGFBZlMsQ0FTWCxLQUFLLENBTUgsR0FBRyxDQUFDO01BQ0YsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VBbEJMLEFBcUJFLGFBckJXLENBcUJYLEtBQUssQ0FBQztJQUNKLFlBQVksRUFBRSxHQUFHO0lBQ2pCLEtBQUssRUFBRSxpQkFBaUIsR0FjekI7SUFyQ0gsQUF5QkksYUF6QlMsQ0FxQlgsS0FBSyxDQUlILFlBQVksQ0FBQztNQUNYLEtBQUssRUFBRSxPQUFPO01BQ2QsU0FBUyxFQUFFLElBQUk7TUFDZixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsT0FBTztNQUN2QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtJQS9CTCxBQWlDSSxhQWpDUyxDQXFCWCxLQUFLLENBWUgsZUFBZSxDQUFDO01BQ2QsS0FBSyxFQUFFLE9BQU87TUFDZCxTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFJTCxBQUFBLHdCQUF3QixDQUFDO0VBRXZCLFVBQVUsRUFBRSxLQUFLLEdBc0NsQjtFQXhDRCxBQUlFLHdCQUpzQixDQUl0QixFQUFFLENBQUM7SUFDRCxTQUFTLEU5S3BoREgsT0FBdUI7SThLcWhEN0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFSSCxBQVVFLHdCQVZzQixDQVV0QixLQUFLLENBQUM7SUFDSixVQUFVLEVBQUUsTUFBTTtJQUNsQixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQWJILEFBZUUsd0JBZnNCLENBZXRCLFlBQVksQ0FBQztJQUNYLGNBQWMsRUFBRSxJQUFJLEdBU3JCO0lBekJILEE3SXBoREUsd0I2SW9oRHNCLENBZXRCLFlBQVksQTdJbmlEWCxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtJK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEdzOEN2QyxBQW9CTSx3QkFwQmtCLENBZXRCLFlBQVksQ0FLUixFQUFFLENBQUM7UW5ILytDTCxLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd1SHlpRHhDO1FBdkJQLEFuSHQ4Q00sd0JtSHM4Q2tCLENBZXRCLFlBQVksQ0FLUixFQUFFLEFuSDE5Q0QsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1FtSG84Q1AsQXJILzhDRSx3QnFIKzhDc0IsQ0FldEIsWUFBWSxDQUtSLEVBQUUsQXJIbitDTCxVQUFXLENBQUEsRUFBRSxFQUFTO1VBQ3JCLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRcUg2OENILEFySDE4Q0ksd0JxSDA4Q29CLENBZXRCLFlBQVksQ0FLUixFQUFFLEFySDk5Q0gsVUFBVyxDQUFBLElBQUksRUFBUztVQUN2QixLQUFLLEVUdUJZLElBQUksR1N0QnRCO0VPRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEdzOEN2QyxBQUlFLHdCQUpzQixDQUl0QixFQUFFLENBeUJHO01BQ0QsU0FBUyxFOUs3aURMLFFBQXVCLEc4SzhpRDVCO0U5R3IrQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEdzOEN2QyxBQUlFLHdCQUpzQixDQUl0QixFQUFFLENBZ0NHO01BQ0QsU0FBUyxFOUtwakRMLFFBQXVCLEc4S3FqRDVCOztBQUlMLEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUNFLHFCQURtQixBQUFBLE1BQU0sQ0FDekIsS0FBSyxDQUFDO0VBQ0osU0FBUyxFOUsvakRILFNBQXVCO0U4S2drRDdCLEtBQUssRUFBRSxPQUFPO0VBQ2QsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBR0gsQUFFRSx3QkFGc0IsQ0FFdEIsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLE1BQU07RUFDbEIsU0FBUyxFOUt6a0RILE9BQXVCO0U4SzBrRDdCLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBOUdsZ0RDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RThHNC9DdkMsQUFFRSx3QkFGc0IsQ0FFdEIsRUFBRSxDQVFHO0lBQ0QsU0FBUyxFOUtobERMLFFBQXVCLEc4S2lsRDVCO0VBWkwsQUFjSSx3QkFkb0IsQ0FjcEIsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLE1BQU0sR0FDaEI7O0E5RzVnREQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOEc0L0N2QyxBQUVFLHdCQUZzQixDQUV0QixFQUFFLENBbUJHO0lBQ0QsU0FBUyxFOUszbERMLFFBQXVCLEc4SzRsRDVCOztBQUlMLEFBRUksWUFGUSxDQUNWLFdBQVcsQ0FDVCxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUlMLEFBRUksdUJBRm1CLEFBQUEsS0FBSyxDQUFDLFdBQVcsQ0FDdEMsdUJBQXVCLENBQ3JCLHNCQUFzQixBQUFBLFlBQVksQ0FBQztFQUNqQyxXQUFXLEVBQUUsZUFBZSxHQUM3Qjs7QUFKTCxBQUtJLHVCQUxtQixBQUFBLEtBQUssQ0FBQyxXQUFXLENBQ3RDLHVCQUF1QixDQUlyQixzQkFBc0IsQUFBQSxXQUFXLENBQUM7RUFDaEMsV0FBVyxFQUFFLGdCQUFnQixHQUM5Qjs7QUFQTCxBQVVNLHVCQVZpQixBQUFBLEtBQUssQ0FBQyxXQUFXLENBQ3RDLHVCQUF1QixBQVFwQixvQkFBb0IsQ0FDbkIsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0VBQ3ZCLEtBQUssRXRHdG1ETCxJQUFJLENzR3NtRFUsVUFBVSxHQUN6Qjs7QUFLUCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLFVBQVUsRXRHam5EUSxPQUFPLEdzR2tuRDFCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFFcEIsYUFBYSxFQUFFLElBQUksR0EwR3BCO0VBNUdELEE3SWxvREUscUI2SWtvRG1CLEE3SWxvRGxCLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0U2SThuREgsQUFLRSxxQkFMbUIsQ0FLbkIsUUFBUSxDQUFDO0lBRVAsUUFBUSxFQUFFLFFBQVE7SUFDbEIsYUFBYSxFQUFFLElBQUksR0FtQnBCO0k5Ry9rREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEdvakR2QyxBQUtFLHFCQUxtQixDQUtuQixRQUFRLENBQUM7UW5IOWtEUCxLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUpwRWhCLFFBQXNDO1FJcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd1SDJwRDVDO1FBM0JILEFuSHBqRE0scUJtSG9qRGUsQ0FLbkIsUUFBUSxBbkh6akRILFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRbUhrakRQLEFySDdqREUscUJxSDZqRG1CLENBS25CLFFBQVEsQXJIbGtEUCxVQUFXLENBQUEsRUFBRSxFQUFTO1VBQ3JCLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRcUgyakRILEFySHhqREkscUJxSHdqRGlCLENBS25CLFFBQVEsQXJIN2pETCxVQUFXLENBQUEsSUFBSSxFQUFTO1VBQ3ZCLEtBQUssRVR1QlksSUFBSSxHU3RCdEI7SXFIc2pETCxBQWVJLHFCQWZpQixDQUtuQixRQUFRLEFBVUwsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLEtBQUssRUFBRSxLQUFLO01BQ1osVUFBVSxFQUFFLG1CQUFtQjtNQUMvQixNQUFNLEVBQUUsVUFBVTtNQUNsQixRQUFRLEVBQUUsUUFBUTtNQUNsQixNQUFNLEVBQUUsS0FBSztNQUNiLElBQUksRUFBRSxnQkFBZ0I7TUFDdEIsT0FBTyxFQUFFLENBQUMsR0FDWDtFQXpCTCxBQTZCRSxxQkE3Qm1CLENBNkJuQixjQUFjLENBQUM7SUFDYixVQUFVLEV0RzlvRE4sSUFBSTtJc0crb0RSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixRQUFRLEVBQUUsTUFBTSxHQUNqQjtFQW5DSCxBQXFDRSxxQkFyQ21CLENBcUNuQixFQUFFLENBQUM7SUFDRCxTQUFTLEU5S25xREgsU0FBdUI7SThLb3FEN0IsY0FBYyxFQUFFLENBQUM7SUFDakIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUF6Q0gsQUEyQ0kscUJBM0NpQixDQTBDbkIsUUFBUSxDQUNOLENBQUMsQ0FBQztJQUNBLEtBQUssRXRHdnBETyxPQUFPO0lzR3dwRG5CLFNBQVMsRTlLMXFETCxPQUF1QjtJOEsycUQzQixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxJQUFJLEdBQ1g7RUFqREwsQUFvREUscUJBcERtQixDQW9EbkIsR0FBRyxDQUFDO0lBQ0YsS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLFdBQVcsR0FFcEI7RUExREgsQUE0REUscUJBNURtQixDQTREbkIsTUFBTSxDQUFDO0lBQ0wsV0FBVyxFQUFFLElBQUksR0FDbEI7RTlHbG5EQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4R29qRHZDLEFBQUEscUJBQXFCLENBQUM7TUFpRWxCLFlBQVksRUFBRSxJQUFJO01BQ2xCLGFBQWEsRUFBRSxJQUFJLEdBMEN0QjtNQTVHRCxBQUtFLHFCQUxtQixDQUtuQixRQUFRLENBK0RHO1FBQ1AsYUFBYSxFQUFFLElBQUksR0FDcEI7TUF0RUwsQUF3RUkscUJBeEVpQixDQXdFakIsVUFBVSxDQUFDO1FBQ1QsUUFBUSxFQUFFLE1BQU07UUFDaEIsV0FBVyxFQUFFLElBQUksR0FDbEI7TUEzRUwsQUFxQ0UscUJBckNtQixDQXFDbkIsRUFBRSxDQXdDRztRQUNELE1BQU0sRUFBRSxPQUFPLEdBQ2hCO01BL0VMLEFBZ0ZJLHFCQWhGaUIsQ0FnRmpCLFdBQVcsQ0FBQztRQUNWLEtBQUssRUFBRSxJQUFJO1FBQ1gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsYUFBYSxFQUFFLElBQUk7UUFDbkIsWUFBWSxFQUFFLElBQUksR0FVbkI7UUE5RkwsQUFzRk0scUJBdEZlLENBZ0ZqQixXQUFXLEFBTVIsTUFBTSxDQUFDO1VBQ04sT0FBTyxFQUFFLEVBQUU7VUFDWCxRQUFRLEVBQUUsUUFBUTtVQUNsQixHQUFHLEVBQUUsSUFBSTtVQUNULE1BQU0sRUFBRSxJQUFJO1VBQ1osS0FBSyxFQUFFLENBQUM7VUFDUixZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3RHdnREYixPQUFPLEdzR3d0RGxCO01BN0ZQLEFBb0RFLHFCQXBEbUIsQ0FvRG5CLEdBQUcsQ0EyQ0c7UUFDRixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osTUFBTSxFQUFFLENBQUMsR0FDVjtNQW5HTCxBQTJDSSxxQkEzQ2lCLENBMENuQixRQUFRLENBQ04sQ0FBQyxDQTBERztRQUNBLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQU9QLEFBRUUsaUJBRmUsQ0FFZixpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsWUFBWSxHQWlEdEI7RUFwREgsQUFLSSxpQkFMYSxDQUVmLGlCQUFpQixDQUdmLFNBQVMsQ0FBQztJQUNSLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBUEwsQUFTSSxpQkFUYSxDQUVmLGlCQUFpQixDQU9mLGFBQWEsRUFUakIsaUJBQWlCLENBRWYsaUJBQWlCLENBT0EsYUFBYSxDQUFDO0lBQzNCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxHQUFHLEdBQ3BCO0VBWkwsQUFjSSxpQkFkYSxDQUVmLGlCQUFpQixDQVlmLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFlBQVksRUFBRSxJQUFJLEdBYW5CO0lBOUJMLEFBbUJNLGlCQW5CVyxDQUVmLGlCQUFpQixDQVlmLEtBQUssQ0FLSCxHQUFHLENBQUM7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osU0FBUyxFQUFFLEtBQUs7TUFDaEIsVUFBVSxFQUFFLEtBQUs7TUFDakIsT0FBTyxFQUFFLEtBQUssR0FDZjtJQXpCUCxBQTJCTSxpQkEzQlcsQ0FFZixpQkFBaUIsQ0FZZixLQUFLLEFBYUYsYUFBYSxDQUFDO01BQ2IsWUFBWSxFQUFFLENBQUMsR0FDaEI7RUE3QlAsQUFnQ0ksaUJBaENhLENBRWYsaUJBQWlCLENBOEJmLFNBQVMsQ0FBQztJQUNSLE9BQU8sRUFBRSxLQUFLO0lBQ2QsU0FBUyxFQUFFLElBQUk7SUFDZixjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsS0FBSztJQUNyQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQXZDTCxBQXlDSSxpQkF6Q2EsQ0FFZixpQkFBaUIsQ0F1Q2YsYUFBYSxDQUFDO0lBQ1osWUFBWSxFQUFFLElBQUksR0FLbkI7O0E5R2p0REQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOEdrcUR2QyxBQUVFLGlCQUZlLENBRWYsaUJBQWlCLENBc0RHO0lBQ2hCLE9BQU8sRUFBRSxlQUFlLEdBNkJ6QjtJQXRGTCxBQUtJLGlCQUxhLENBRWYsaUJBQWlCLENBR2YsU0FBUyxDQXNERztNQUNSLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lBN0RQLEFBU0ksaUJBVGEsQ0FFZixpQkFBaUIsQ0FPZixhQUFhLEVBVGpCLGlCQUFpQixDQUVmLGlCQUFpQixDQU9BLGFBQWEsQ0FzREc7TUFDM0IsT0FBTyxFQUFFLEtBQUssR0FDZjtJQWpFUCxBQW1CTSxpQkFuQlcsQ0FFZixpQkFBaUIsQ0FZZixLQUFLLENBS0gsR0FBRyxDQWtERztNQUNGLFNBQVMsRUFBRSxJQUFJO01BQ2YsVUFBVSxFQUFFLElBQUksR0FDakI7SUF4RVQsQUF5Q0ksaUJBekNhLENBRWYsaUJBQWlCLENBdUNmLGFBQWEsQ0FrQ0c7TUFDWixNQUFNLEVBQUUsTUFBTSxHQUtmOztBQVNQLEFBRUUsMEJBRndCLENBRXhCLFNBQVMsQ0FBQztFbEhweURSLE9BQU8sRUFBRSxLQUFLO0VrSHN5RGQsYUFBYSxFQUFFLElBQUksR0FNcEI7RUFWSCxBN0kxMERFLDBCNkkwMER3QixDQUV4QixTQUFTLEE3STUwRFIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZJczBESCxBQU1JLDBCQU5zQixDQUV4QixTQUFTLENBSVAsZUFBZSxDQUFDO0lBQ2QsVUFBVSxFQUFFLE1BQU07SUFDbEIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBVEwsQUFZRSwwQkFad0IsQ0FZeEIsUUFBUSxDQUFDO0VsSDl5RFAsT0FBTyxFQUFFLEtBQUssR2tIMnpEZjtFQXpCSCxBN0kxMERFLDBCNkkwMER3QixDQVl4QixRQUFRLEE3SXQxRFAsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RTZJczBESCxBQWVJLDBCQWZzQixDQVl4QixRQUFRLENBR04sZ0JBQWdCLENBQUM7SWxIanpEakIsT0FBTyxFQUFFLEtBQUssR2tIbXpEYjtJQWpCTCxBN0kxMERFLDBCNkkwMER3QixDQVl4QixRQUFRLENBR04sZ0JBQWdCLEE3SXoxRGpCLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0U2SXMwREgsQUFtQkksMEJBbkJzQixDQVl4QixRQUFRLENBT04sY0FBYyxDQUFDO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QTlHcHhERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4RzR2RHZDLEFBbUJJLDBCQW5Cc0IsQ0FZeEIsUUFBUSxDQU9OLGNBQWMsQ0FZRztJQUNiLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQ2ozRFAsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFVBQVUsRXZHc0JKLElBQUksR3VHZ1NYO0VBeFRELEFBSUUsZ0JBSmMsQ0FJZCxFQUFFLENBQUM7SUFDRCxTQUFTLEUvS01ILE9BQXVCO0krS0w3QixXQUFXLEVBQUUsR0FBRztJQUNoQixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDdkdNTixPQUFPLEd1R1MxQjtJQXpCSCxBQVlJLGdCQVpZLENBSWQsRUFBRSxBQVFDLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLEtBQUs7TUFDWCxHQUFHLEVBQUUsSUFBSTtNQUNULEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixnQkFBZ0IsRUFyQlIsT0FBTztNQXNCZix5QkFBeUIsRUFBRSxLQUFLO01BQ2hDLHNCQUFzQixFQUFFLEtBQUs7TUFDN0IsV0FBVyxFQUFFLENBQUMsR0FDZjtFQXZCTCxBQTJCRSxnQkEzQmMsQ0EyQmQsWUFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLGNBQWM7SUFDdkIsT0FBTyxFQUFFLElBQUksR0F5RWQ7SUF0R0gsQUFpQ00sZ0JBakNVLENBMkJkLFlBQVksQUFJVCxjQUFjLENBRWIsS0FBSyxBQUFBLE9BQU87SUFqQ2xCLGdCQUFnQixDQTJCZCxZQUFZLEFBSVQsY0FBYyxDQUdiLEtBQUssQUFBQSxNQUFNLENBQUM7TUFDVixPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBcENQLEFBdUNJLGdCQXZDWSxDQTJCZCxZQUFZLENBWVYsTUFBTSxDQUFDO01BQ0wsVUFBVSxFdkdwQkksT0FBTztNdUdxQnJCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxjQUFjO01BQ3ZCLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0lBNUNMLEFBOENJLGdCQTlDWSxDQTJCZCxZQUFZLENBbUJWLE1BQU0sQ0FBQztNQUNMLGFBQWEsRUFBRSxHQUFHO01ySXRDcEIsTUFBTSxFcUl1Q1UsSUFBSTtNckkvQnBCLEtBQUssRXFJK0JXLElBQUk7TXhJaEN0QixRQUFRLEV3SWlDYyxRQUFRO014STdCMUIsR0FBVSxFd0k2Qm1CLEtBQUk7TXhJN0JqQyxJQUFVLEV3STZCa0MsR0FBRztNdkkxQzdDLGlCQUFvQixFdUkyQ0gsZ0JBQWdCO012SXRDakMsY0FBaUIsRXVJc0NBLGdCQUFnQjtNdklqQ2pDLGFBQWdCLEV1SWlDQyxnQkFBZ0I7TXZJNUJqQyxZQUFlLEV1STRCRSxnQkFBZ0I7TXZJdkJqQyxTQUFZLEV1SXVCSyxnQkFBZ0I7TUFDbkMsZUFBZSxFQUFFLEtBQUs7TUFDdEIsbUJBQW1CLEVBQUUsTUFBTSxHQVM1QjtNQTdETCxBQXNETSxnQkF0RFUsQ0EyQmQsWUFBWSxDQW1CVixNQUFNLEFBUUgsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UXJJOUNmLE1BQU0sRXFJK0NZLElBQUk7UXJJdkN0QixLQUFLLEVxSXVDYSxJQUFJO1F4SXhDeEIsUUFBUSxFd0l5Q2dCLFFBQVE7UXhJckM1QixLQUFVLEV3SXFDeUIsQ0FBQztReElyQ3BDLE1BQVUsRXdJcUMyQixDQUFDO1FBQ3BDLFVBQVUsRUFBRSx3QkFBd0I7UUFDcEMsYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUE1RFAsQUErREksZ0JBL0RZLENBMkJkLFlBQVksQ0FvQ1YsS0FBSyxDQUFDO01BQ0osT0FBTyxFQUFFLENBQUM7TUFDVixRQUFRLEVBQUUsUUFBUTtNQUNsQixTQUFTLEVBQUUsS0FBSztNQUNoQixNQUFNLEVBQUUsY0FBYztNQUN0QixTQUFTLEUvS3pETCxRQUF1QjtNK0swRDNCLEtBQUssRUFBRSxJQUFJO01BQ1gsV0FBVyxFQUFFLElBQUksR0FxQmxCO01BM0ZMLEFBd0VNLGdCQXhFVSxDQTJCZCxZQUFZLENBb0NWLEtBQUssQUFTRixPQUFPLEVBeEVkLGdCQUFnQixDQTJCZCxZQUFZLENBb0NWLEtBQUssQUFVRixNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxDQUFDO1FySWxFZCxNQUFNLEVxSW1FaUIsSUFBSTtRckkzRDNCLEtBQUssRXFJMkRhLElBQUk7UUFDbEIsT0FBTyxFQUFFLEVBQUUsR0FDWjtNQTlFUCxBQWdGTSxnQkFoRlUsQ0EyQmQsWUFBWSxDQW9DVixLQUFLLEFBaUJGLE9BQU8sQ0FBQztReEloRWIsUUFBUSxFd0lpRWdCLFFBQVE7UXhJN0Q1QixHQUFVLEV3STZEcUIsS0FBSTtReEk3RG5DLElBQVUsRXdJNkRxQyxLQUFJO1FBQ2pELFVBQVUsRUFBRSx3Q0FBd0MsQ0FBQyxTQUFTLENBQUMsTUFBTTtRQUNyRSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtNQXBGUCxBQXNGTSxnQkF0RlUsQ0EyQmQsWUFBWSxDQW9DVixLQUFLLEFBdUJGLE1BQU0sQ0FBQztReEl0RVosUUFBUSxFd0l1RWdCLFFBQVE7UXhJbkU1QixLQUFVLEV3SW1FeUIsSUFBSTtReEluRXZDLE1BQVUsRXdJbUUrQixLQUFJO1FBQzNDLFVBQVUsRUFBRSx5Q0FBeUMsQ0FBQyxTQUFTLENBQUMsTUFBTTtRQUN0RSxlQUFlLEVBQUUsU0FBUyxHQUMzQjtJQTFGUCxBQTRGSSxnQkE1RlksQ0EyQmQsWUFBWSxDQWlFVixNQUFNLENBQUM7TUFDTCxTQUFTLEUvS2xGTCxRQUF1QjtNK0ttRjNCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0lBaEdMLEFBaUdJLGdCQWpHWSxDQTJCZCxZQUFZLENBc0VWLFVBQVUsQ0FBQztNQUNULFNBQVMsRS9LdkZMLE9BQXVCO00rS3dGM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLElBQUksR0FDbEI7RUFyR0wsQUF3R0UsZ0JBeEdjLENBd0dkLGlCQUFpQixDQUFDO0lBQ2hCLFVBQVUsRUEzR0EsT0FBTztJQTRHakIsT0FBTyxFQUFFLE1BQU0sR0FRaEI7SUFsSEgsQUE0R0ksZ0JBNUdZLENBd0dkLGlCQUFpQixDQUlmLEVBQUUsQ0FBQztNQUNELFVBQVUsRUFBRSxNQUFNO01BQ2xCLFNBQVMsRS9LbkdMLE1BQXVCO00rS29HM0IsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFoSEwsQUFvSEUsZ0JBcEhjLENBb0hkLFdBQVcsQ0FBQztJQUNWLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGNBQWMsRUFBRSxJQUFJLEdBa0RyQjtJQXhLSCxBQXdISSxnQkF4SFksQ0FvSGQsV0FBVyxDQUlULEVBQUUsQ0FBQztNQUNELE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUFBRSxLQUFLO01BQ1osY0FBYyxFQUFFLEdBQUc7TUFDbkIsTUFBTSxFQUFFLE9BQU8sR0FDaEI7SUE3SEwsQUErSEksZ0JBL0hZLENBb0hkLFdBQVcsQ0FXVCxLQUFLLENBQUM7TUFDSixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFdkcxSFUsT0FBTztNdUcySDNCLGFBQWEsRUFBRSxJQUFJO01BQ25CLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLGNBQWMsRUFBRSxHQUFHO01BQ25CLGFBQWEsRUFBRSxJQUFJO01BQ25CLFVBQVUsRUFBRSwyQkFBMkIsR0FjeEM7TUF0SkwsQUEwSU0sZ0JBMUlVLENBb0hkLFdBQVcsQ0FXVCxLQUFLLENBV0gsR0FBRyxDQUFDO1FBQ0YsVUFBVSxFQUFFLElBQUk7UUFDaEIsU0FBUyxFQUFFLElBQUk7UUFDZixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLENBQUM7UUFDTixNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsSUFBSSxHQUNiO0lBckpQLEFBd0pJLGdCQXhKWSxDQW9IZCxXQUFXLENBb0NULFVBQVUsQ0FBQztNQUNULFNBQVMsRS9LOUlMLElBQXVCO00rSytJM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUE1SkwsQUFnS00sZ0JBaEtVLENBb0hkLFdBQVcsQ0EwQ1QsRUFBRSxBQUFBLE9BQU8sQ0FFUCxLQUFLLENBQUM7TUFDSixVQUFVLEV2R3pJVixJQUFJLEd1RzBJTDtJQWxLUCxBQW1LTSxnQkFuS1UsQ0FvSGQsV0FBVyxDQTBDVCxFQUFFLEFBQUEsT0FBTyxDQUtQLElBQUksQ0FBQztNQUNILElBQUksRXZHdklNLE9BQU8sR3VHd0lsQjtFQXJLUCxBQTBLRSxnQkExS2MsQ0EwS2Qsa0JBQWtCLENBQUM7SUFDakIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLE1BQU0sR0FDZjtFQTdLSCxBQStLRSxnQkEvS2MsQ0ErS2QsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLFNBQVM7SUFDbEIsVUFBVSxFdkd6Sk4sSUFBSSxHdUdvTVQ7SUE1TkgsQUFtTEksZ0JBbkxZLENBK0tkLGFBQWEsQ0FJWCxFQUFFLENBQUM7TUFDRCxTQUFTLEVBQUUsS0FBSztNQUNoQixNQUFNLEVBQUUsTUFBTSxHQUNmO0lBdExMLEFBd0xJLGdCQXhMWSxDQStLZCxhQUFhLENBU1gsRUFBRSxFQXhMTixnQkFBZ0IsQ0ErS2QsYUFBYSxDQVNQLEVBQUUsQ0FBQztNQUNMLE1BQU0sRUFBRSxDQUFDO01BQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDtJQTNMTCxBQTZMSSxnQkE3TFksQ0ErS2QsYUFBYSxDQWNYLEVBQUUsQ0FBQztNQUNELFNBQVMsRS9LbkxMLElBQXVCO00rS29MM0IsV0FBVyxFQUFFLEdBQUc7TUFDaEIsUUFBUSxFQUFFLFFBQVEsR0FjbkI7TUE5TUwsQUFrTU0sZ0JBbE1VLENBK0tkLGFBQWEsQ0FjWCxFQUFFLEFBS0MsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixhQUFhLEVBQUUsSUFBSTtRQUNuQixVQUFVLEV2RzNLQSxPQUFPO1F1RzRLakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsSUFBSSxFQUFFLEtBQUs7UUFDWCxHQUFHLEVBQUUsR0FBRyxHQUNUO0lBNU1QLEFBK01JLGdCQS9NWSxDQStLZCxhQUFhLENBZ0NYLEVBQUUsQ0FBQztNQUNELFNBQVMsRS9Lck1MLFFBQXVCLEcrSzRNNUI7TUF2TkwsQUFpTk0sZ0JBak5VLENBK0tkLGFBQWEsQ0FnQ1gsRUFBRSxBQUVDLElBQUssQ2pHd2xHRSxXQUFXLEVpR3hsR0E7UUFDakIsYUFBYSxFQUFFLElBQUk7UUFDbkIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN2R3RNZCxPQUFPO1F1R3VNakIsY0FBYyxFQUFFLElBQUksR0FDckI7SUFyTlAsQUF5TkksZ0JBek5ZLENBK0tkLGFBQWEsQUEwQ1YsSUFBSyxDRGlZRSxPQUFPLEVDallBO01BQ2IsT0FBTyxFQUFFLElBQUksR0FDZDtFL0d2SUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0dwRnZDLEFBSUUsZ0JBSmMsQ0FJZCxFQUFFLENBNE5HO01BQ0QsU0FBUyxFL0t0TkwsUUFBdUIsRytLdU41QjtJQWxPTCxBQXNPTSxnQkF0T1UsQ0FvT1osaUJBQWlCLENBRWYsVUFBVSxDQUFDO01BQ1QsU0FBUyxFQUFFLElBQUk7TUFDZixPQUFPLEVBQUUsTUFBTSxHQUNoQjtJQXpPUCxBQTBLRSxnQkExS2MsQ0EwS2Qsa0JBQWtCLENBa0VHO01BQ2pCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBOU9MLEFBbUxJLGdCQW5MWSxDQStLZCxhQUFhLENBSVgsRUFBRSxDQStERztNQUNELFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0UvR2hLSCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krR3BGdkMsQUFJRSxnQkFKYyxDQUlkLEVBQUUsQ0F1UEc7TUFDRCxTQUFTLEUvS2pQTCxPQUF1QjtNK0trUDNCLE1BQU0sRUFBRSxJQUFJO01BQ1osY0FBYyxFQUFFLElBQUksR0FRckI7TUF0UUwsQUFZSSxnQkFaWSxDQUlkLEVBQUUsQUFRQyxPQUFPLENBb1BHO1FBQ1AsSUFBSSxFQUFFLEtBQUs7UUFDWCxHQUFHLEVBQUUsR0FBRztRQUNSLEtBQUssRUFBRSxNQUFNO1FBQ2IsTUFBTSxFQUFFLElBQUksR0FDYjtJQXJRUCxBQW9IRSxnQkFwSGMsQ0FvSGQsV0FBVyxDQW9KRztNQUNWLGNBQWMsRUFBRSxJQUFJLEdBb0JyQjtNQTdSTCxBQXdISSxnQkF4SFksQ0FvSGQsV0FBVyxDQUlULEVBQUUsQ0FtSkc7UUFDRCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxNQUFNLEdBQ2Y7TUE5UVAsQUErSEksZ0JBL0hZLENBb0hkLFdBQVcsQ0FXVCxLQUFLLENBaUpHO1FySXZRUixNQUFNLEVxSXdRWSxJQUFJO1FySWhRdEIsS0FBSyxFcUlnUWEsSUFBSTtRQUNsQixhQUFhLEVBQUUsR0FBRyxHQU1uQjtRQXhSUCxBQTBJTSxnQkExSVUsQ0FvSGQsV0FBVyxDQVdULEtBQUssQ0FXSCxHQUFHLENBMElHO1VBQ0YsS0FBSyxFQUFFLElBQUk7VUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiO01BdlJULEFBd0pJLGdCQXhKWSxDQW9IZCxXQUFXLENBb0NULFVBQVUsQ0FrSUc7UUFDVCxPQUFPLEVBQUUsSUFBSSxHQUNkO0lBNVJQLEFBK0tFLGdCQS9LYyxDQStLZCxhQUFhLENBZ0hHO01BQ1osT0FBTyxFQUFFLG1CQUFtQixHQXNCN0I7TUF0VEwsQUE2TEksZ0JBN0xZLENBK0tkLGFBQWEsQ0FjWCxFQUFFLENBcUdHO1FBQ0QsU0FBUyxFL0t4UlAsU0FBdUIsRytLZ1MxQjtRQTNTUCxBQWtNTSxnQkFsTVUsQ0ErS2QsYUFBYSxDQWNYLEVBQUUsQUFLQyxPQUFPLENBbUdHO1VySTVSYixNQUFNLEVxSTZSYyxJQUFJO1VySXJSeEIsS0FBSyxFcUlxUmUsSUFBSTtVQUNsQixJQUFJLEVBQUUsS0FBSztVQUNYLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7TUF6U1QsQUErTUksZ0JBL01ZLENBK0tkLGFBQWEsQ0FnQ1gsRUFBRSxDQThGRztRQUNELFNBQVMsRS9LblNQLFFBQXVCLEcrSzBTMUI7UUFyVFAsQUFpTk0sZ0JBak5VLENBK0tkLGFBQWEsQ0FnQ1gsRUFBRSxBQUVDLElBQUssQ2pHd2xHRSxXQUFXLEVpR3ovRkU7VUFDakIsYUFBYSxFQUFFLElBQUk7VUFDbkIsY0FBYyxFQUFFLElBQUksR0FDckI7O0FDclRULEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsVUFBVSxFeEdxQlEsT0FBTyxHd0c0QjFCO0VBbERELEFBR0UsaUJBSGUsQ0FHZixTQUFTLENBQUM7SUFFUixhQUFhLEVBQUUsSUFBSSxHQU1wQjtJQVhILEEvSVFFLGlCK0lSZSxDQUdmLFNBQVMsQS9JS1IsT0FBTyxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SStJWkgsQUFPSSxpQkFQYSxDQUdmLFNBQVMsQ0FJUCxLQUFLLENBQUM7TXJIMEROLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnBFaEIsUUFBc0M7TUlxRTFDLEtBQUssRUoxRUQsU0FBcUMsR3lIQTFDO01BVkwsQXZINkVFLGlCdUg3RWUsQ0FHZixTQUFTLENBSVAsS0FBSyxBdkhzRU4sVUFBVyxDQUFBLEVBQUUsRUFBUztRQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7TXVIL0VILEF2SGtGSSxpQnVIbEZhLENBR2YsU0FBUyxDQUlQLEtBQUssQXZIMkVKLFVBQVcsQ0FBQSxJQUFJLEVBQVM7UUFDdkIsS0FBSyxFVHVCWSxJQUFJLEdTdEJ0QjtNdUhwRkwsQXJIc0ZNLGlCcUh0RlcsQ0FHZixTQUFTLENBSVAsS0FBSyxBckgrRUYsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0h0RnhDLEFBT0ksaUJBUGEsQ0FHZixTQUFTLENBSVAsS0FBSyxDQVdHO01ySCtDUixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUpwRWhCLFFBQXNDO01JcUUxQyxLQUFLLEVKMUVELFNBQXFDLEd5SFl4QztNQXRCUCxBdkg2RUUsaUJ1SDdFZSxDQUdmLFNBQVMsQ0FJUCxLQUFLLEF2SHNFTixVQUFXLENBQUEsRUFBRSxFaUJsRU87UUFDbkIsWUFBWSxFbkJHTixRQUFzQyxHbUJGN0M7TXNHYkgsQXZIa0ZJLGlCdUhsRmEsQ0FHZixTQUFTLENBSVAsS0FBSyxBdkgyRUosVUFBVyxDQUFBLElBQUksRWlCbkVLO1FBQ3JCLEtBQUssRUFBRSxJQUNULEdBQUM7TXNHakJILEF2SDZFRSxpQnVIN0VlLENBZ0JiLFNBQVMsQ0FFUCxLQUFLLEF2SDJEUixVQUFXLENBQUEsRUFBRSxFQUFTO1FBQ3JCLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNdUgvRUgsQXZIa0ZJLGlCdUhsRmEsQ0FnQmIsU0FBUyxDQUVQLEtBQUssQXZIZ0VOLFVBQVcsQ0FBQSxJQUFJLEVBQVM7UUFDdkIsS0FBSyxFVHVCWSxJQUFJLEdTdEJ0QjtNdUhwRkwsQXJIc0ZNLGlCcUh0RlcsQ0FHZixTQUFTLENBSVAsS0FBSyxBckgrRUYsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VLRkgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0h0RnZDLEFBT0ksaUJBUGEsQ0FHZixTQUFTLENBSVAsS0FBSyxDQXVCRztNckhtQ1IsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKcEVoQixRQUFzQztNSXFFMUMsS0FBSyxFSjFFRCxTQUFxQztNeUh3QnZDLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO01BbkNQLEF2SDZFRSxpQnVIN0VlLENBZ0JiLFNBQVMsQ0FFUCxLQUFLLEF2SDJEUixVQUFXLENBQUEsRUFBRSxFaUJsRU87UUFDbkIsWUFBWSxFbkJHTixRQUFzQyxHbUJGN0M7TXNHYkgsQXZIa0ZJLGlCdUhsRmEsQ0FnQmIsU0FBUyxDQUVQLEtBQUssQXZIZ0VOLFVBQVcsQ0FBQSxJQUFJLEVpQm5FSztRQUNyQixLQUFLLEVBQUUsSUFDVCxHQUFDO01zR2pCSCxBdkg2RUUsaUJ1SDdFZSxDQTRCYixTQUFTLENBRVAsS0FBSyxBdkgrQ1IsVUFBVyxDQUFBLEVBQUUsRUFBUztRQUNyQixZQUFvQixFQUFTLENBQUMsR0FDL0I7TXVIL0VILEF2SGtGSSxpQnVIbEZhLENBNEJiLFNBQVMsQ0FFUCxLQUFLLEF2SG9ETixVQUFXLENBQUEsSUFBSSxFQUFTO1FBQ3ZCLEtBQUssRVR1QlksSUFBSSxHU3RCdEI7TXVIcEZMLEFySHNGTSxpQnFIdEZXLENBR2YsU0FBUyxDQUlQLEtBQUssQXJIK0VGLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFS0ZILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdIdEZ2QyxBQUdFLGlCQUhlLENBR2YsU0FBUyxDQXNDRztNQUNSLE9BQU8sRUFBRSxNQUFNLEdBTWhCO01BaERMLEFBT0ksaUJBUGEsQ0FHZixTQUFTLENBSVAsS0FBSyxDQXFDRztRQUNKLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFLUCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEV4R0hTLE9BQU8sR3dHeUUzQjtFQXpFRCxBQUtFLG1CQUxpQixDQUtqQixFQUFFLENBQUM7SUFJRCxTQUFTLEVoTGhESCxTQUF1QjtJZ0xpRDdCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRUFBRSxNQUFNLEdBS25CO0loSGtCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nSGxDdkMsQUFLRSxtQkFMaUIsQ0FLakIsRUFBRSxDQUFDO1FBU0MsU0FBUyxFaExyREwsTUFBdUIsR2dMdUQ5QjtFQUVBLEFBQUQseUJBQU8sQ0FBQztJQUNOLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBRUEsQUFBRCx5QkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsR0FBRyxFQUFFLElBQUk7SUFDVCxhQUFhLEVBQUUsSUFBSSxHQXdCcEI7SWhIakJDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdIWHBDLEFBQUQseUJBQU8sQ0FBQztRQU9KLGFBQWEsRWhMckVULFFBQXVCLEdnTDBGOUI7UUE1QkEsQUFTRyx5QkFURyxDQVNILFdBQVcsQ0FBQztVQUNWLE1BQU0sRWhMeEVKLFNBQXVCLEdnTDZFMUI7VUFmSixBQVlLLHlCQVpDLENBU0gsV0FBVyxDQUdULE1BQU0sQUFBQSxPQUFPLENBQUM7WUFDWixPQUFPLEVBQUUsRUFBRSxHQUNaO0lBZE4sQUFrQkMseUJBbEJLLENBa0JMLGNBQWMsQ0FBQztNQUNiLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO0loSFRELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdIWHBDLEFBc0JDLHlCQXRCSyxDQXNCTCxNQUFNLENBQUM7UUFFSCxTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUUsTUFBTSxHQUVqQjtFQUdGLEFBQUQsMEJBQVEsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLE1BQU0sR0FNeEI7SWhIM0JDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdIbUJwQyxBQUFELDBCQUFRLENBQUM7UUFLTCxVQUFVLEVoTGpHTixTQUF1QixHZ0xvRzlCO0VBRUEsQUFBRCx1QkFBSyxDQUFDO0lsSDVGTixPQUFPLEVrSDZGUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO0lBRTlCLFNBQVMsRWhMekdILElBQXVCO0lnTDBHN0IsV0FBVyxFQUFFLEdBQUcsR0FLakI7SUFUQSxBdEdqREQsdUJzR2lESyxBdEdqREosT0FBTyxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBQztNQUNSLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLEtBQUssQ0FBRSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0ZwQnZCLElBQUk7TUVxQlQsT0FBTyxFQUFFLFlBQVksR0FDdEI7SXNHdUNBLEF0R2pERCx1QnNHaURLLEF0R2pESixPQUFPLENzR3VERztNQUNQLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBaEhyQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFZ0h5Q3ZDLEFBQUEseUJBQXlCLENBQUM7SUFHdEIsWUFBWSxFQUFFLENBQUM7SUFDZixVQUFVLEVBQUUsR0FBRyxHQVFsQjs7QWhIckRHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWdIeUN2QyxBQUFBLHlCQUF5QixDQUFDO0lBUXRCLFlBQVksRUFBRSxDQUFDO0lBQ2YsVUFBVSxFQUFFLEdBQUcsR0FHbEI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEV4R3JISixJQUFJO0V3R3NIVixPQUFPLEVBQUUsY0FBYztFQUN2QixRQUFRLEVBQUUsTUFBTTtFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixLQUFLLEVBQUUsSUFBSSxHQWVaO0VBckJELEFBUUUsa0JBUmdCLENBUWhCLE1BQU0sQ0FBQztJQUNMLFNBQVMsRWhMeklILFNBQXVCO0lnTDBJN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFiSCxBQWVFLGtCQWZnQixDQWVoQixLQUFLLENBQUM7SUFDSixTQUFTLEVoTGhKSCxTQUF1QjtJZ0xpSjdCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLEtBQUssRXhHdEppQixPQUFPLEd3R3VKOUI7O0FBSUgsQUFFRSxzQkFGb0IsQ0FFcEIsbUJBQW1CO0FBRHJCLGFBQWEsQ0FDWCxtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsTUFBTSxHQUNoQjs7QUFHSCxBQUVFLG9CQUZrQixDQUVsQixtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsTUFBTSxHQUNoQjs7QUFKSCxBQU1FLG9CQU5rQixDQU1sQixjQUFjLENBQUM7RUFDYixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFHSCxBQUNFLHNCQURvQixDQUNwQixhQUFhLENBQUM7RUFDWixjQUFjLEVBQUUsQ0FBQyxHQUtsQjtFaEh2R0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0hnR3ZDLEFBQ0Usc0JBRG9CLENBQ3BCLGFBQWEsQ0FBQztNQUlWLFdBQVcsRUFBRSxJQUFJLEdBRXBCOztBRTdMSCxBQUVFLGlCQUZlLENBRWYsUUFBUSxDQUFDO0VBQ1AsZUFBZSxFQUFFLElBQUk7RUFDckIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQU5ILEFBUUUsaUJBUmUsQ0FRZixPQUFPLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHTU4sT0FBTztFMEdMekIsT0FBTyxFQUFFLE1BQU07RUFDZixRQUFRLEVBQUUsTUFBTSxHQW1CakI7RUEvQkgsQUFjSSxpQkFkYSxDQVFmLE9BQU8sQ0FNTCxVQUFVLENBQUM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxrQkFBa0IsR0FDMUI7RUFqQkwsQUFtQkksaUJBbkJhLENBUWYsT0FBTyxDQVdMLFNBQVMsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFQUFFLEtBQUs7SUFDWixhQUFhLEVBQUUsR0FBRztJcEhBdEIsT0FBTyxFb0hDVSxHQUFHLENBQUMsSUFBSTtJQUNyQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHVEQsT0FBTyxHMEdVeEI7RUExQkwsQUE0QkksaUJBNUJhLENBUWYsT0FBTyxDQW9CTCxvQ0FBb0MsRUE1QnhDLGlCQUFpQixDQVFmLE9BQU8sQ0FvQmlDLCtCQUErQixDQUFDO0lBQ3BFLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBOUJMLEFBaUNFLGlCQWpDZSxDQWlDZixNQUFNLENBQUM7RUFDTCxLQUFLLEUxRzNCVSxPQUFPO0UwRzRCdEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFbEx2QkgsSUFBdUI7RWtMd0I3QixhQUFhLEVBQUUsR0FBRztFQUNsQixjQUFjLEVBQUUsU0FBUyxHQUMxQjs7QUF2Q0gsQUF5Q0UsaUJBekNlLENBeUNmLGFBQWEsQ0FBQztFQUNaLFNBQVMsRWxMN0JILFNBQXVCO0VrTDhCN0IsV0FBVyxFQUFFLE1BQU07RUFDbkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsS0FBSyxFMUduQ2lCLE9BQU8sRzBHb0M5Qjs7QUE5Q0gsQUFnREUsaUJBaERlLENBZ0RmLGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRTFHdkNpQixPQUFPO0UwR3dDN0IsU0FBUyxFbExyQ0gsU0FBdUIsR2tMc0M5Qjs7QUFuREgsQUFxREUsaUJBckRlLENBcURmLFlBQVksQ0FBQztFQUNYLFNBQVMsRWxMekNILE9BQXVCO0VrTDBDN0IsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFMUcvQ2lCLE9BQU87RTBHZ0Q3QixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUExREgsQUE0REUsaUJBNURlLENBNERmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsRUFBYTtFQUNqQixZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHOUNULE9BQU87RTBHK0NyQixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHL0NSLE9BQU87RTBHZ0RyQixVQUFVLEVBQUUsQ0FBQztFQUNiLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsVUFBVSxFQUFFLFdBQVcsR0FDeEI7O0FBdEVILEFBd0VFLGlCQXhFZSxDQXdFZixhQUFhLENBQUM7RTNJdERkLFFBQVEsRTJJdURZLFFBQVE7RTNJbkR4QixHQUFVLEUySW1EZ0IsQ0FBQztFM0luRDNCLElBQVUsRTJJbUQ0QixDQUFDO0V4STlEekMsTUFBTSxFd0krRFEsSUFBSTtFeEl2RGxCLEtBQUssRXdJdURTLElBQUksR0FtQm5CO0VBN0ZILEFBNEVJLGlCQTVFYSxDQXdFZixhQUFhLENBSVgsZ0JBQWdCLENBQUM7SUFDZixLQUFLLEUxRzdDTyxPQUFPO0kwRzhDbkIsU0FBUyxFbExqRUwsU0FBdUI7SWtMa0UzQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsQ0FBQztJeElyRWhCLE1BQU0sRXdJc0VlLElBQUk7SXhJOUR6QixLQUFLLEV3SThEVyxJQUFJO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLE9BQU8sR0FTaEI7SUE1RkwsQUFxRk0saUJBckZXLENBd0VmLGFBQWEsQ0FJWCxnQkFBZ0IsQUFTYixZQUFZLENBQUM7TTNJbkVsQixRQUFRLEUySW9FZ0IsUUFBUTtNM0loRTVCLEdBQVUsRTJJZ0VvQixDQUFDO00zSWhFL0IsS0FBVSxFMklnRXNCLEdBQUc7TTNJaEVuQyxNQUFVLEUySWdFMEIsQ0FBQyxHQUNwQztJQXZGUCxBQXlGTSxpQkF6RlcsQ0F3RWYsYUFBYSxDQUlYLGdCQUFnQixBQWFiLGNBQWMsQ0FBQztNM0l2RXBCLFFBQVEsRTJJd0VnQixRQUFRO00zSXBFNUIsR0FBVSxFMklvRW9CLENBQUM7TTNJcEUvQixNQUFVLEUySW9FMkIsQ0FBQztNM0lwRXRDLElBQVUsRTJJb0U2QixHQUFHLEdBQ3pDOztBQTNGUCxBQStGRSxpQkEvRmUsQ0ErRmYsYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsS0FBSztFQUNqQixNQUFNLEVBQUUsTUFBTSxHQTZCZjtFQWhJSCxBQXFHSSxpQkFyR2EsQ0ErRmYsYUFBYSxDQU1YLENBQUMsQ0FBQztJQUNBLEtBQUssRUFBRSxLQUFLO0lBQ1osVUFBVSxFMUd4RUUsT0FBTztJMEd5RW5CLEtBQUssRTFHOUVILElBQUk7STBHK0VOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLFlBQVksR0FTckI7SUFuSEwsQUE0R00saUJBNUdXLENBK0ZmLGFBQWEsQ0FNWCxDQUFDLEFBT0UsU0FBUyxDQUFDO01BQ1QsS0FBSyxFMUduRkwsSUFBSTtNMEdvRkosVUFBVSxFMUcvRkEsT0FBTztNMEdnR2pCLGNBQWMsRUFBRSxJQUFJO01BQ3BCLFVBQVUsRUFBRSxJQUFJLEdBRWpCO0VBbEhQLEFBcUhJLGlCQXJIYSxDQStGZixhQUFhLENBc0JYLG9CQUFvQixDQUFDO0lBQ25CLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBdkhMLEFBeUhJLGlCQXpIYSxDQStGZixhQUFhLENBMEJYLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtJQUNuQixPQUFPLEVBQUUsSUFBSSxHQUtkO0lBL0hMLEFBNEhNLGlCQTVIVyxDQStGZixhQUFhLENBMEJYLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FHSCxNQUFNLENBQUM7TUFDTixVQUFVLEUxRzlGQSxPQUFPLEcwRytGbEI7O0FBOUhQLEFBa0lFLGlCQWxJZSxDQWtJZixPQUFPLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFNBQVMsRW5MM0hILFFBQXNCO0VtTDRINUIsS0FBSyxFMUc5SGlCLE9BQU87RTBHK0g3QixXQUFXLEVBQUUsSUFBSTtFQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUExSUgsQUE0SUUsaUJBNUllLENBNElmLGNBQWMsQ0FBQztFQUNiLFVBQVUsRUFBRSxHQUFHO0VBQ2YsU0FBUyxFbExqSUgsU0FBdUI7RWtMa0k3QixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FsSDNEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VrSHRGdkMsQUFRRSxpQkFSZSxDQVFmLE9BQU8sQ0E2SUc7SUFDTixPQUFPLEVBQUUsTUFBTSxHQWVoQjtJQXJLTCxBQWNJLGlCQWRhLENBUWYsT0FBTyxDQU1MLFVBQVUsQ0EwSUc7TUFDVCxLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxpQkFBaUIsR0FDekI7SUEzSlAsQUFtQkksaUJBbkJhLENBUWYsT0FBTyxDQVdMLFNBQVMsQ0EwSUc7TXhJbEpaLE1BQU0sRXdJbUppQixJQUFJO014STNJM0IsS0FBSyxFd0kySWEsSUFBSTtNcEh2SXhCLE9BQU8sRW9Id0lZLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUN6QjtJQWhLUCxBQWtLTSxpQkFsS1csQ0FxSmIsT0FBTyxDQWFMLG9DQUFvQyxDQUFDO01BQ25DLEtBQUssRUFBRSxLQUFLLEdBQ2I7RUFwS1AsQUFpQ0UsaUJBakNlLENBaUNmLE1BQU0sQ0FzSUc7SUFDTCxhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQXpLTCxBQXlDRSxpQkF6Q2UsQ0F5Q2YsYUFBYSxDQWtJRztJQUNaLFNBQVMsRWxML0pMLFFBQXVCO0lrTGdLM0IsYUFBYSxFQUFFLEdBQUcsR0FDbkI7RUE5S0wsQUE0REUsaUJBNURlLENBNERmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsRUFvSGU7SUFDakIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VBbkxMLEFBd0VFLGlCQXhFZSxDQXdFZixhQUFhLENBNkdHO0kzSW5LaEIsUUFBUSxFMklvS2MsUUFBUTtJM0loSzFCLEdBQVUsRTJJZ0trQixDQUFDO0kzSWhLN0IsSUFBVSxFMklnSzhCLENBQUM7SXhJM0szQyxNQUFNLEV3STRLVSxJQUFJO0l4SXBLcEIsS0FBSyxFd0lvS1csSUFBSSxHQWNuQjtJQXJNTCxBQTRFSSxpQkE1RWEsQ0F3RWYsYUFBYSxDQUlYLGdCQUFnQixDQTZHRztNQUNmLE1BQU0sRUFBRSxDQUFDO014SS9LYixNQUFNLEV3SWdMaUIsSUFBSTtNeEl4SzNCLEtBQUssRXdJd0thLElBQUksR0FTbkI7TUFwTVAsQUFxRk0saUJBckZXLENBd0VmLGFBQWEsQ0FJWCxnQkFBZ0IsQUFTYixZQUFZLENBd0dHO1EzSTNLcEIsUUFBUSxFMkk0S2tCLFFBQVE7UTNJeEs5QixHQUFVLEUySXdLc0IsR0FBRztRM0l4S25DLEtBQVUsRTJJd0swQixHQUFHO1EzSXhLdkMsTUFBVSxFMkl3SzhCLENBQUMsR0FDdEM7TUEvTFQsQUF5Rk0saUJBekZXLENBd0VmLGFBQWEsQ0FJWCxnQkFBZ0IsQUFhYixjQUFjLENBd0dHO1EzSS9LdEIsUUFBUSxFMklnTGtCLFFBQVE7UTNJNUs5QixHQUFVLEUySTRLc0IsSUFBSTtRM0k1S3BDLElBQVUsRTJJNEtxQyxJQUFJLEdBQ2hEO0VBbk1ULEFBK0ZFLGlCQS9GZSxDQStGZixhQUFhLENBd0dHO0lBQ1osTUFBTSxFQUFFLE1BQU07SUFDZCxVQUFVLEVBQUUsSUFBSSxHQWlCakI7SUExTkwsQUFxR0ksaUJBckdhLENBK0ZmLGFBQWEsQ0FNWCxDQUFDLENBc0dHO01BQ0EsS0FBSyxFQUFFLElBQUksR0FDWjtJQTdNUCxBQXFISSxpQkFySGEsQ0ErRmYsYUFBYSxDQXNCWCxvQkFBb0IsQ0EwRkc7TUFDbkIsS0FBSyxFQUFFLElBQUksR0FDWjtJQWpOUCxBQXlISSxpQkF6SGEsQ0ErRmYsYUFBYSxDQTBCWCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBMEZpQjtNQUNuQixPQUFPLEVBQUUsSUFBSSxHQUtkO01Bek5QLEFBNEhNLGlCQTVIVyxDQStGZixhQUFhLENBMEJYLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FHSCxNQUFNLENBMEZHO1FBQ04sVUFBVSxFMUd4TEYsT0FBTyxHMEd5TGhCO0VBeE5ULEFBa0lFLGlCQWxJZSxDQWtJZixPQUFPLENBMEZHO0lBQ04sU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQS9OTCxBQTRJRSxpQkE1SWUsQ0E0SWYsY0FBYyxDQXFGRztJQUNiLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLENBQUM7SUFDYixhQUFhLEVBQUUsSUFBSTtJQUNuQixTQUFTLEVsTHhOTCxRQUF1QixHa0x5TjVCOztBQXRPTCxBQXlPRSxpQkF6T2UsQ0F5T2YsYUFBYSxDQUFDO0VBQ1osS0FBSyxFQUFFLEtBQUs7RUFDWixPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVBQUUsS0FBSztFQUNqQixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUM5T0gsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFekgrQmxCLFNBQVMsRXlIOUJnQixNQUFNO0V6SGdDN0IsV0FBSSxFQUFFLElBQUk7RUFDVixZQUFLLEVBQUUsSUFBSTtFSVpiLE9BQU8sRXFIcEJNLElBQUksQ0FBQyxDQUFDO0VBQ25CLFVBQVUsRUFBRSxLQUFLLEdBNkpsQjtFQWpLRCxBbEpRRSxrQmtKUmdCLEFsSlFmLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0UrQjBFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltSHRGdkMsQUFBQSxrQkFBa0IsQ0FBQztNekhnQ2pCLFNBQVMsRXlIakJrQixLQUFLO016SG1COUIsV0FBSSxFQUFFLElBQUk7TUFDVixZQUFLLEVBQUUsSUFBSSxHeUg4SGQ7TUFqS0QsQWxKUUUsa0JrSlJnQixBbEpRZixPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFK0IwRUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUh0RnZDLEFBQUEsa0JBQWtCLENBQUM7TXpIZ0NqQixTQUFTLEV5SGJrQixJQUFJO016SGU3QixXQUFJLEVBQUUsSUFBSTtNQUNWLFlBQUssRUFBRSxJQUFJLEd5SDhIZDtNQWpLRCxBbEpRRSxrQmtKUmdCLEFsSlFmLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VrSlpILEFBc0JFLGtCQXRCZ0IsQ0FzQmhCLEtBQUssQ0FBQztJQUNKLEtBQUssRTNHMEJNLE9BQU87STJHekJsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixTQUFTLEVuTFpILE9BQXVCO0ltTGE3QixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQTdCSCxBQStCRSxrQkEvQmdCLENBK0JoQixLQUFLLENBQUM7SUFDSixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQWpDSCxBQW1DRSxrQkFuQ2dCLENBbUNoQixZQUFZLENBQUM7SUFDWCxTQUFTLEVuTHZCSCxTQUF1QixHbUx3QjlCO0VBckNILEFBdUNFLGtCQXZDZ0IsQ0F1Q2hCLGtCQUFrQjtFQXZDcEIsa0JBQWtCLENBd0NoQixpQkFBaUIsQ0FBQztJQUNoQixTQUFTLEVuTDVCSCxPQUF1QjtJbUw2QjdCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7RUE1Q0gsQUE4Q0Usa0JBOUNnQixDQThDaEIsZUFBZTtFQTlDakIsa0JBQWtCLENBK0NoQixlQUFlO0VBL0NqQixrQkFBa0IsQ0FnRGhCLHFCQUFxQjtFQWhEdkIsa0JBQWtCLENBaURoQixxQkFBcUI7RUFqRHZCLGtCQUFrQixDQWtEaEIsNEJBQTRCO0VBbEQ5QixrQkFBa0IsQ0FtRGhCLDJCQUEyQjtFQW5EN0Isa0JBQWtCLENBb0RoQixnQ0FBZ0M7RUFwRGxDLGtCQUFrQixDQXFEaEIsOEJBQThCO0VBckRoQyxrQkFBa0IsQ0FzRGhCLHVCQUF1QixDQUFDO0lBQ3RCLEtBQUssRUFBRSx1QkFBdUI7SUFDOUIsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLEdBQUcsR0FDcEI7RUExREgsQUE0REUsa0JBNURnQixDQTREaEIsZUFBZTtFQTVEakIsa0JBQWtCLENBNkRoQixxQkFBcUI7RUE3RHZCLGtCQUFrQixDQThEaEIsZ0NBQWdDO0VBOURsQyxrQkFBa0IsQ0ErRGhCLDJCQUEyQixDQUFDO0lBQzFCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBakVILEFBb0VJLGtCQXBFYyxDQW1FaEIsVUFBVSxDQUNSLGVBQWUsQ0FBQztJQUNkLFdBQVcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxFQUFFLElBQUksR0FDWjtFQXZFTCxBQXlFSSxrQkF6RWMsQ0FtRWhCLFVBQVUsQ0FNUixhQUFhLENBQUM7SUFDWixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBM0VMLEFBK0VJLGtCQS9FYyxDQThFaEIsV0FBVyxDQUNULGVBQWUsQ0FBQztJQUNkLFdBQVcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxFQUFFLElBQUksR0FDWjtFQWxGTCxBQW9GSSxrQkFwRmMsQ0E4RWhCLFdBQVcsQ0FNVCxhQUFhLENBQUM7SUFDWixNQUFNLEVBQUUsUUFBUSxHQUNqQjtFQXRGTCxBQTBGSSxrQkExRmMsQ0F5RmhCLGNBQWMsQ0FDWixhQUFhLENBQUM7SUFDWixNQUFNLEVBQUUsUUFBUSxHQUNqQjtFQTVGTCxBQWdHRSxrQkFoR2dCLENBZ0doQixRQUFRLENBQUM7SUFDUCxNQUFNLEVBQUUsTUFBTTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLElBQUksR0FDakI7RUFwR0gsQUFzR0Usa0JBdEdnQixDQXNHaEIsUUFBUSxDQUFDO0lBQ1AsTUFBTSxFQUFFLE1BQU07SUFDZCxPQUFPLEVBQUUsY0FBYyxHQWN4QjtJQXRISCxBQTBHSSxrQkExR2MsQ0FzR2hCLFFBQVEsQ0FJTixnQkFBZ0IsQ0FBQztNQUNmLGNBQWMsRUFBRSxTQUFTO01BQ3pCLFNBQVMsRW5ML0ZMLFNBQXVCLEdtTGdHNUI7SUE3R0wsQUErR0ksa0JBL0djLENBc0doQixRQUFRLENBU04sVUFBVSxDQUFDO01BQ1QsTUFBTSxFQUFFLENBQUMsR0FDVjtJQWpITCxBQW1ISSxrQkFuSGMsQ0FzR2hCLFFBQVEsQ0FhTixZQUFZLENBQUM7TUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQXJITCxBQXdIRSxrQkF4SGdCLENBd0hoQixVQUFVLENBQUM7SUFDVCxTQUFTLEVuTDVHSCxPQUF1QixHbUw2RzlCO0VBMUhILEFBNEhFLGtCQTVIZ0IsQ0E0SGhCLGFBQWEsQ0FBQztJQUNaLE1BQU0sRUFBRSxRQUFRLEdBQ2pCO0VuSHhDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltSHRGdkMsQUFBQSxrQkFBa0IsQ0FBQztNckh1QmpCLE9BQU8sRXFIMEdRLElBQUksQ0FBQyxJQUFJLEdBZ0N6QjtNQWpLRCxBQW1JSSxrQkFuSWMsQ0FtSWQsa0JBQWtCLENBQUM7UUFDakIsS0FBSyxFQUFFLElBQUksR0FDWjtNQXJJTCxBQXVJSSxrQkF2SWMsQ0F1SWQsVUFBVSxDQUFDO1FBQ1QsTUFBTSxFQUFFLEtBQUssR0FDZDtNQXpJTCxBQTJJSSxrQkEzSWMsQ0EySWQsZUFBZTtNQTNJbkIsa0JBQWtCLENBNElkLGVBQWU7TUE1SW5CLGtCQUFrQixDQTZJZCxxQkFBcUI7TUE3SXpCLGtCQUFrQixDQThJZCxxQkFBcUI7TUE5SXpCLGtCQUFrQixDQStJZCxnQ0FBZ0M7TUEvSXBDLGtCQUFrQixDQWdKZCw4QkFBOEI7TUFoSmxDLGtCQUFrQixDQWlKZCw0QkFBNEI7TUFqSmhDLGtCQUFrQixDQWtKZCwyQkFBMkI7TUFsSi9CLGtCQUFrQixDQW1KZCx1QkFBdUIsQ0FBQztRQUN0QixLQUFLLEVBQUUsSUFBSSxHQUNaO01BckpMLEFBdUpJLGtCQXZKYyxDQXVKZCxlQUFlO01BdkpuQixrQkFBa0IsQ0F3SmQscUJBQXFCO01BeEp6QixrQkFBa0IsQ0F5SmQsMkJBQTJCLENBQUM7UUFDMUIsV0FBVyxFQUFFLENBQUMsR0FDZjtNQTNKTCxBQTZKSSxrQkE3SmMsQ0E2SmQsU0FBUyxBQUFBLE1BQU0sQ0FBQztRQUNkLFNBQVMsRW5MakpMLE9BQXVCLEdtTGtKNUIifQ== */

@charset "UTF-8";
/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }

.slick-prev {
  left: -25px; }

.slick-next {
  right: -25px; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2svc2xpY2stdGhlbWUuY3NzIiwic291cmNlcyI6WyJzbGljay9zbGljay10aGVtZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUF5Q0EsWUFBWTtBQUdSLEFBQUEsY0FBYyxDQURsQixXQUFXLENBQ1U7RUFDYixVQUFVLEVBQUUsSUFBSSxDQWpCUix3QkFBOEIsQ0FpQmMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQzlFOztBQUdMLFdBQVc7QUFFUCxVQUFVO0VBQ04sV0FBVyxFQUFFLE9BQU87RUFDcEIsR0FBRyxFQWhCSyx3QkFBNEI7RUFpQnBDLEdBQUcsRUFqQkssK0JBQTRCLENBaUJJLDJCQUEyQixFQWpCM0QseUJBQTRCLENBaUI4RCxjQUFjLEVBakJ4Ryx3QkFBNEIsQ0FpQjBHLGtCQUFrQixFQWpCeEosOEJBQTRCLENBaUJnSyxhQUFhO0VBQ2pOLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFNOztBQUkxQixZQUFZO0FBRVosQUFBQSxXQUFX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 */

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2svc2xpY2suY3NzIiwic291cmNlcyI6WyJzbGljay9zbGljay5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixBQUFBLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLFVBQVU7RUFDdEIscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLFlBQVksRUFBRSxLQUFLO0VBQ25CLDJCQUEyQixFQUFFLFdBQVcsR0FDM0M7O0FBQ0QsQUFBQSxXQUFXLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FVYjtFQWZELEFBT0ksV0FQTyxBQU9OLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBVEwsQUFXSSxXQVhPLEFBV04sU0FBUyxDQUFDO0lBQ1AsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUVMLEFBQUEsYUFBYSxDQUFDLFlBQVk7QUFDMUIsYUFBYSxDQUFDLFdBQVcsQ0FBQztFQUN0QixpQkFBaUIsRUFBRSxvQkFBb0I7RUFDdkMsY0FBYyxFQUFFLG9CQUFvQjtFQUNwQyxhQUFhLEVBQUUsb0JBQW9CO0VBQ25DLFlBQVksRUFBRSxvQkFBb0I7RUFDbEMsU0FBUyxFQUFFLG9CQUFvQixHQUNsQzs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQWVqQjtFQW5CRCxBQU1JLFlBTlEsQUFNUCxPQUFPLEVBTlosWUFBWSxBQU9QLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFWTCxBQVlJLFlBWlEsQUFZUCxNQUFNLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBRUQsQUFBQSxjQUFjLENBaEJsQixZQUFZLENBZ0JTO0lBQ2IsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBRUwsQUFBQSxZQUFZLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLEdBQUc7RUFXZixPQUFPLEVBQUUsSUFBSSxHQW1CaEI7R0E3QkcsQUFBQSxBQUFBLEdBQUMsQ0FBSSxLQUFLLEFBQVQsRUFKTCxZQUFZLENBSU07SUFDVixLQUFLLEVBQUUsS0FBSyxHQUNmO0VBTkwsQUFPSSxZQVBRLENBT1IsR0FBRyxDQUFDO0lBQ0EsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFUTCxBQVVJLFlBVlEsQUFVUCxjQUFjLENBQUMsR0FBRyxDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBWkwsQUFnQkksWUFoQlEsQUFnQlAsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUNYLGNBQWMsRUFBRSxJQUFJLEdBQ3ZCO0VBRUQsQUFBQSxrQkFBa0IsQ0FwQnRCLFlBQVksQ0FvQmE7SUFDakIsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFFRCxBQUFBLGNBQWMsQ0F4QmxCLFlBQVksQ0F3QlM7SUFDYixVQUFVLEVBQUUsTUFBTSxHQUNyQjtFQUVELEFBQUEsZUFBZSxDQTVCbkIsWUFBWSxDQTRCVTtJQUNkLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUscUJBQXFCLEdBQ2hDOztBQUVMLEFBQUEsWUFBWSxBQUFBLGFBQWEsQ0FBQztFQUN0QixPQUFPLEVBQUUsSUFBSSxHQUNoQiJ9 */
