@charset "UTF-8";
/* This stylesheet generated by Transfonter (http://transfonter.org) on January 19, 2017 1:39 AM */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800");
@import url("https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i");
@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA55Medium-Italic.eot");
  src: url("/resources/fonts/CoreSansA55Medium-Italic.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA55Medium-Italic.woff") format("woff"), url("/resources/fonts/CoreSansA55Medium-Italic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA45Regular.eot");
  src: url("/resources/fonts/CoreSansA45Regular.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA45Regular.woff") format("woff"), url("/resources/fonts/CoreSansA45Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA35Light.eot");
  src: url("/resources/fonts/CoreSansA35Light.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA35Light.woff") format("woff"), url("/resources/fonts/CoreSansA35Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA35Light-Italic.eot");
  src: url("/resources/fonts/CoreSansA35Light-Italic.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA35Light-Italic.woff") format("woff"), url("/resources/fonts/CoreSansA35Light-Italic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA55Medium.eot");
  src: url("/resources/fonts/CoreSansA55Medium.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA55Medium.woff") format("woff"), url("/resources/fonts/CoreSansA55Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA65Bold.eot");
  src: url("/resources/fonts/CoreSansA65Bold.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA65Bold.woff") format("woff"), url("/resources/fonts/CoreSansA65Bold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA75ExtraBold.eot");
  src: url("/resources/fonts/CoreSansA75ExtraBold.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA75ExtraBold.woff") format("woff"), url("/resources/fonts/CoreSansA75ExtraBold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/resources/fonts/CoreSansA75ExtraBold-Italic.eot");
  src: url("/resources/fonts/CoreSansA75ExtraBold-Italic.eot?#iefix") format("embedded-opentype"), url("/resources/fonts/CoreSansA75ExtraBold-Italic.woff") format("woff"), url("/resources/fonts/CoreSansA75ExtraBold-Italic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-family: 'Open Sans',sans-serif; }

/**
 * Foundation for Sites by ZURB
 * Version 6.4.4-rc1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

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

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

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

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

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

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

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

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

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

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

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

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

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

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 3px; }

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

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

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

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

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

[type='submit'],
[type='button'] {
  appearance: none;
  border-radius: 3px; }

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

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

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

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

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

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

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

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

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.4375rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

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

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

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

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

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
.generic-p,
.section .content p,
.cta .content p,
.testimonials-text .content p,
.hero-home .content p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }


p,
.generic-p,
.section .content p,
.cta .content p,
.testimonials-text .content p,
.hero-home .content p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "PT Sans", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1 {
  font-size: 1.75rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.25rem; }
  h2, .h2 {
    font-size: 1.625rem; }
  h3, .h3 {
    font-size: 1.125rem; }
  h4, .h4 {
    font-size: 1.0625rem; }
  h5, .h5 {
    font-size: 1rem; }
  h6, .h6 {
    font-size: 0.9375rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p, blockquote .generic-p, blockquote .section .content p, .section .content blockquote p, blockquote .cta .content p, .cta .content blockquote p, blockquote .testimonials-text .content p, .testimonials-text .content blockquote p, blockquote .hero-home .content p, .hero-home .content blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

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

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

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

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

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat, .generic-p + .stat, .section .content p + .stat, .cta .content p + .stat, .testimonials-text .content p + .stat, .hero-home .content p + .stat {
    margin-top: -1rem; }

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

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

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

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

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

@media print, screen and (min-width: 28.125em) {
  .small-plus-text-left {
    text-align: left; }
  .small-plus-text-right {
    text-align: right; }
  .small-plus-text-center {
    text-align: center; }
  .small-plus-text-justify {
    text-align: justify; } }

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

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

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

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

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

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

.row, .busmoveusa-countries-assisted .content .flags ul, .taxproblems-business-issues .features-lists .row .category-list ul {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 28.125em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 40em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    @media screen and (min-width: 75em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    .row .row.collapse, .busmoveusa-countries-assisted .content .flags ul .row.collapse, .taxproblems-business-issues .features-lists .row .category-list ul .row.collapse, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded, .busmoveusa-countries-assisted .content .flags ul.expanded, .taxproblems-business-issues .features-lists .row .category-list ul.expanded {
    max-width: none; }
    .row.expanded .row, .busmoveusa-countries-assisted .content .flags ul.expanded .row, .taxproblems-business-issues .features-lists .row .category-list ul.expanded .row, .row.expanded .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row.expanded ul, .busmoveusa-countries-assisted .content .flags ul.expanded ul, .taxproblems-business-issues .features-lists .row.expanded .category-list ul, .taxproblems-business-issues .features-lists .row .category-list ul.expanded ul {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row, .busmoveusa-countries-assisted .content .flags ul:not(.expanded) .row, .taxproblems-business-issues .features-lists .row .category-list ul:not(.expanded) .row, .row:not(.expanded) .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row:not(.expanded) ul, .busmoveusa-countries-assisted .content .flags ul:not(.expanded) ul, .taxproblems-business-issues .features-lists .row:not(.expanded) .category-list ul, .taxproblems-business-issues .features-lists .row .category-list ul:not(.expanded) ul {
    max-width: none; }
  .row.collapse > .column, .busmoveusa-countries-assisted .content .flags ul > .column, .taxproblems-business-issues .features-lists .row .category-list ul > .column, .row.collapse > .columns, .busmoveusa-countries-assisted .content .flags ul > .columns, .taxproblems-business-issues .features-lists .row .category-list ul > .columns, .busmoveusa-countries-assisted .content .flags ul .row.collapse > li, .busmoveusa-countries-assisted .content .flags ul > li, .taxproblems-business-issues .features-lists .row .category-list .busmoveusa-countries-assisted .content .flags ul > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul > li {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child, .busmoveusa-countries-assisted .content .flags ul.is-collapse-child, .taxproblems-business-issues .features-lists .row .category-list ul.is-collapse-child,
  .row.collapse > .column > .row,
  .busmoveusa-countries-assisted .content .flags ul > .column > .row,
  .taxproblems-business-issues .features-lists .row .category-list ul > .column > .row,
  .row.collapse > .columns > .row,
  .busmoveusa-countries-assisted .content .flags ul > .columns > .row,
  .taxproblems-business-issues .features-lists .row .category-list ul > .columns > .row,
  .busmoveusa-countries-assisted .content .flags ul .row.collapse > li > .row,
  .busmoveusa-countries-assisted .content .flags ul > li > .row,
  .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul > li > .row,
  .busmoveusa-countries-assisted .content .flags .row.collapse > .column > ul,
  .busmoveusa-countries-assisted .content .flags ul > .column > ul,
  .busmoveusa-countries-assisted .content .flags .row.collapse > .columns > ul,
  .busmoveusa-countries-assisted .content .flags ul > .columns > ul,
  .busmoveusa-countries-assisted .content .flags ul .row.collapse > li > ul,
  .busmoveusa-countries-assisted .content .flags ul > li > ul,
  .taxproblems-business-issues .features-lists .row .category-list .row.collapse > .column > ul,
  .taxproblems-business-issues .features-lists .row .category-list ul > .column > ul,
  .taxproblems-business-issues .features-lists .row .category-list .row.collapse > .columns > ul,
  .taxproblems-business-issues .features-lists .row .category-list ul > .columns > ul,
  .busmoveusa-countries-assisted .content .flags ul .taxproblems-business-issues .features-lists .row .category-list .row.collapse > li > ul,
  .taxproblems-business-issues .features-lists .row .category-list .busmoveusa-countries-assisted .content .flags ul > li > ul,
  .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul > li > ul {
    margin-right: 0;
    margin-left: 0; }

.column, .columns, .busmoveusa-countries-assisted .content .flags ul li {
  flex: 1 1 0px;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  min-width: 0; }
  @media print, screen and (min-width: 40em) {
    .column, .columns, .busmoveusa-countries-assisted .content .flags ul li {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.column.row.row, .row.row.columns, .busmoveusa-countries-assisted .content .flags ul.columns, .taxproblems-business-issues .features-lists .row .category-list ul.columns, .busmoveusa-countries-assisted .content .flags ul.column, .busmoveusa-countries-assisted .content .flags ul li.row.row, .taxproblems-business-issues .features-lists .row .category-list ul.column {
  float: none;
  display: block; }

.row .column.row.row, .busmoveusa-countries-assisted .content .flags ul .column.row.row, .taxproblems-business-issues .features-lists .row .category-list ul .column.row.row, .row .row.row.columns, .busmoveusa-countries-assisted .content .flags ul .row.row.columns, .taxproblems-business-issues .features-lists .row .category-list ul .row.row.columns, .row .busmoveusa-countries-assisted .content .flags ul.columns, .busmoveusa-countries-assisted .content .flags .row ul.columns, .busmoveusa-countries-assisted .content .flags ul ul.columns, .taxproblems-business-issues .features-lists .row .category-list ul.columns, .row .busmoveusa-countries-assisted .content .flags ul.column, .busmoveusa-countries-assisted .content .flags .row ul.column, .busmoveusa-countries-assisted .content .flags ul ul.column, .busmoveusa-countries-assisted .content .flags ul li.row.row, .taxproblems-business-issues .features-lists .row .category-list ul.column {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12, .heading-centered p, .heading-centered .generic-p, .heading-centered .section .content p, .section .content .heading-centered p, .heading-centered .cta .content p, .cta .content .heading-centered p, .heading-centered .testimonials-text .content p, .testimonials-text .content .heading-centered p, .heading-centered .hero-home .content p, .hero-home .content .heading-centered p {
  flex: 0 0 100%;
  max-width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 {
  flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-1 > li {
    flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-2 > li {
    flex: 0 0 50%;
    max-width: 50%; }

.small-up-3, .busmoveusa-countries-assisted .content .flags ul {
  flex-wrap: wrap; }
  .small-up-3 > .column, .busmoveusa-countries-assisted .content .flags ul > .column, .small-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-3 > li, .busmoveusa-countries-assisted .content .flags ul > li {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-4 > li {
    flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-5 > li {
    flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-6 > li {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-7 > li {
    flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-8 > li {
    flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-collapse > li {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-uncollapse > li {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }

@media print, screen and (min-width: 28.125em) {
  .small-plus-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .small-plus-offset-0 {
    margin-left: 0%; }
  .small-plus-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .small-plus-offset-1 {
    margin-left: 8.33333%; }
  .small-plus-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .small-plus-offset-2 {
    margin-left: 16.66667%; }
  .small-plus-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .small-plus-offset-3 {
    margin-left: 25%; }
  .small-plus-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .small-plus-offset-4 {
    margin-left: 33.33333%; }
  .small-plus-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .small-plus-offset-5 {
    margin-left: 41.66667%; }
  .small-plus-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .small-plus-offset-6 {
    margin-left: 50%; }
  .small-plus-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .small-plus-offset-7 {
    margin-left: 58.33333%; }
  .small-plus-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .small-plus-offset-8 {
    margin-left: 66.66667%; }
  .small-plus-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .small-plus-offset-9 {
    margin-left: 75%; }
  .small-plus-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .small-plus-offset-10 {
    margin-left: 83.33333%; }
  .small-plus-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .small-plus-offset-11 {
    margin-left: 91.66667%; }
  .small-plus-up-1 {
    flex-wrap: wrap; }
    .small-plus-up-1 > .column, .small-plus-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .small-plus-up-2 {
    flex-wrap: wrap; }
    .small-plus-up-2 > .column, .small-plus-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .small-plus-up-3 {
    flex-wrap: wrap; }
    .small-plus-up-3 > .column, .small-plus-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .small-plus-up-4 {
    flex-wrap: wrap; }
    .small-plus-up-4 > .column, .small-plus-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .small-plus-up-5 {
    flex-wrap: wrap; }
    .small-plus-up-5 > .column, .small-plus-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .small-plus-up-6 {
    flex-wrap: wrap; }
    .small-plus-up-6 > .column, .small-plus-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .small-plus-up-7 {
    flex-wrap: wrap; }
    .small-plus-up-7 > .column, .small-plus-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .small-plus-up-8 {
    flex-wrap: wrap; }
    .small-plus-up-8 > .column, .small-plus-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 28.125em) and (min-width: 28.125em) {
  .small-plus-expand {
    flex: 1 1 0px; } }

.row.small-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .column, .row.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 28.125em) {
    .row.small-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .column, .row.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 28.125em) {
  .small-plus-collapse > .column, .small-plus-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .small-plus-uncollapse > .column, .small-plus-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-uncollapse > li {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11, .heading-centered p, .heading-centered .generic-p, .heading-centered .section .content p, .section .content .heading-centered p, .heading-centered .cta .content p, .cta .content .heading-centered p, .heading-centered .testimonials-text .content p, .testimonials-text .content .heading-centered p, .heading-centered .hero-home .content p, .hero-home .content .heading-centered p {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    flex: 1 1 0px; } }

.row.medium-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .column, .row.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .column, .row.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-plus-offset-0 {
    margin-left: 0%; }
  .medium-plus-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-plus-offset-1 {
    margin-left: 8.33333%; }
  .medium-plus-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .medium-plus-offset-2 {
    margin-left: 16.66667%; }
  .medium-plus-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-plus-offset-3 {
    margin-left: 25%; }
  .medium-plus-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-plus-offset-4 {
    margin-left: 33.33333%; }
  .medium-plus-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .medium-plus-offset-5 {
    margin-left: 41.66667%; }
  .medium-plus-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-plus-offset-6 {
    margin-left: 50%; }
  .medium-plus-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-plus-offset-7 {
    margin-left: 58.33333%; }
  .medium-plus-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .medium-plus-offset-8 {
    margin-left: 66.66667%; }
  .medium-plus-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-plus-offset-9 {
    margin-left: 75%; }
  .medium-plus-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-plus-offset-10 {
    margin-left: 83.33333%; }
  .medium-plus-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .medium-plus-offset-11 {
    margin-left: 91.66667%; }
  .medium-plus-up-1 {
    flex-wrap: wrap; }
    .medium-plus-up-1 > .column, .medium-plus-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .medium-plus-up-2 {
    flex-wrap: wrap; }
    .medium-plus-up-2 > .column, .medium-plus-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .medium-plus-up-3 {
    flex-wrap: wrap; }
    .medium-plus-up-3 > .column, .medium-plus-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-plus-up-4 {
    flex-wrap: wrap; }
    .medium-plus-up-4 > .column, .medium-plus-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .medium-plus-up-5 {
    flex-wrap: wrap; }
    .medium-plus-up-5 > .column, .medium-plus-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .medium-plus-up-6 {
    flex-wrap: wrap; }
    .medium-plus-up-6 > .column, .medium-plus-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-plus-up-7 {
    flex-wrap: wrap; }
    .medium-plus-up-7 > .column, .medium-plus-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-plus-up-8 {
    flex-wrap: wrap; }
    .medium-plus-up-8 > .column, .medium-plus-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 46.875em) and (min-width: 46.875em) {
  .medium-plus-expand {
    flex: 1 1 0px; } }

.row.medium-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .column, .row.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 46.875em) {
    .row.medium-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .column, .row.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-collapse > .column, .medium-plus-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .medium-plus-uncollapse > .column, .medium-plus-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5, .busmoveusa-countries-assisted .content .flags ul {
    flex-wrap: wrap; }
    .large-up-5 > .column, .busmoveusa-countries-assisted .content .flags ul > .column, .large-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-5 > li, .busmoveusa-countries-assisted .content .flags ul > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    flex: 1 1 0px; } }

.row.large-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .column, .row.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.large-unstack > li, .busmoveusa-countries-assisted .content .flags ul.large-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .column, .row.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.large-unstack > li, .busmoveusa-countries-assisted .content .flags ul.large-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .large-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .large-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 {
    flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 75em) and (min-width: 75em) {
  .xlarge-expand {
    flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .column, .row.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > li {
  flex: 0 0 100%; }
  @media screen and (min-width: 75em) {
    .row.xlarge-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .column, .row.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > li {
      flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

.shrink, .taxproblems-subhero .header {
  flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 1.875rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 2.5rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 1em 1.4em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #007dff;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #0064cc;
      color: #ffffff; }
  .button.secondary {
    background-color: #f44d52;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #f01117;
      color: #ffffff; }
  .button.white {
    background-color: #ffffff;
    color: #ffffff; }
    .button.white:hover, .button.white:focus {
      background-color: #cccccc;
      color: #ffffff; }
  .button.dark-blue {
    background-color: #1f4e89;
    color: #ffffff; }
    .button.dark-blue:hover, .button.dark-blue:focus {
      background-color: #193e6e;
      color: #ffffff; }
  .button.business-blue {
    background-color: #076acd;
    color: #ffffff; }
    .button.business-blue:hover, .button.business-blue:focus {
      background-color: #0655a4;
      color: #ffffff; }
  .button.business-green {
    background-color: #15843a;
    color: #ffffff; }
    .button.business-green:hover, .button.business-green:focus {
      background-color: #116a2e;
      color: #ffffff; }
  .button.contact {
    background-color: #e60e15;
    color: #ffffff; }
    .button.contact:hover, .button.contact:focus {
      background-color: #b80b11;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #ffffff; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #ffffff; }
  .button.warning {
    background-color: #ffae00;
    color: #ffffff; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #ffffff; }
  .button.alert {
    background-color: #cc4b37;
    color: #ffffff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #ffffff; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #007dff;
        color: #ffffff; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #f44d52;
        color: #ffffff; }
    .button.disabled.white, .button[disabled].white {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.white, .button.disabled.white:hover, .button.disabled.white:focus, .button[disabled].white, .button[disabled].white:hover, .button[disabled].white:focus {
        background-color: #ffffff;
        color: #ffffff; }
    .button.disabled.dark-blue, .button[disabled].dark-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.dark-blue, .button.disabled.dark-blue:hover, .button.disabled.dark-blue:focus, .button[disabled].dark-blue, .button[disabled].dark-blue:hover, .button[disabled].dark-blue:focus {
        background-color: #1f4e89;
        color: #ffffff; }
    .button.disabled.business-blue, .button[disabled].business-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.business-blue, .button.disabled.business-blue:hover, .button.disabled.business-blue:focus, .button[disabled].business-blue, .button[disabled].business-blue:hover, .button[disabled].business-blue:focus {
        background-color: #076acd;
        color: #ffffff; }
    .button.disabled.business-green, .button[disabled].business-green {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.business-green, .button.disabled.business-green:hover, .button.disabled.business-green:focus, .button[disabled].business-green, .button[disabled].business-green:hover, .button[disabled].business-green:focus {
        background-color: #15843a;
        color: #ffffff; }
    .button.disabled.contact, .button[disabled].contact {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.contact, .button.disabled.contact:hover, .button.disabled.contact:focus, .button[disabled].contact, .button[disabled].contact:hover, .button[disabled].contact:focus {
        background-color: #e60e15;
        color: #ffffff; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #ffffff; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #ffffff; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #ffffff; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0f4f79;
      color: #0f4f79; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #007dff;
      color: #007dff; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0051a6;
        color: #0051a6; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #007dff;
          color: #007dff; }
    .button.hollow.secondary {
      border: 1px solid #f44d52;
      color: #f44d52; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #c50c12;
        color: #c50c12; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #f44d52;
          color: #f44d52; }
    .button.hollow.white {
      border: 1px solid #ffffff;
      color: #ffffff; }
      .button.hollow.white:hover, .button.hollow.white:focus {
        border-color: #a6a6a6;
        color: #a6a6a6; }
        .button.hollow.white:hover.disabled, .button.hollow.white:hover[disabled], .button.hollow.white:focus.disabled, .button.hollow.white:focus[disabled] {
          border: 1px solid #ffffff;
          color: #ffffff; }
    .button.hollow.dark-blue {
      border: 1px solid #1f4e89;
      color: #1f4e89; }
      .button.hollow.dark-blue:hover, .button.hollow.dark-blue:focus {
        border-color: #143359;
        color: #143359; }
        .button.hollow.dark-blue:hover.disabled, .button.hollow.dark-blue:hover[disabled], .button.hollow.dark-blue:focus.disabled, .button.hollow.dark-blue:focus[disabled] {
          border: 1px solid #1f4e89;
          color: #1f4e89; }
    .button.hollow.business-blue {
      border: 1px solid #076acd;
      color: #076acd; }
      .button.hollow.business-blue:hover, .button.hollow.business-blue:focus {
        border-color: #054585;
        color: #054585; }
        .button.hollow.business-blue:hover.disabled, .button.hollow.business-blue:hover[disabled], .button.hollow.business-blue:focus.disabled, .button.hollow.business-blue:focus[disabled] {
          border: 1px solid #076acd;
          color: #076acd; }
    .button.hollow.business-green {
      border: 1px solid #15843a;
      color: #15843a; }
      .button.hollow.business-green:hover, .button.hollow.business-green:focus {
        border-color: #0e5626;
        color: #0e5626; }
        .button.hollow.business-green:hover.disabled, .button.hollow.business-green:hover[disabled], .button.hollow.business-green:focus.disabled, .button.hollow.business-green:focus[disabled] {
          border: 1px solid #15843a;
          color: #15843a; }
    .button.hollow.contact {
      border: 1px solid #e60e15;
      color: #e60e15; }
      .button.hollow.contact:hover, .button.hollow.contact:focus {
        border-color: #96090d;
        color: #96090d; }
        .button.hollow.contact:hover.disabled, .button.hollow.contact:hover[disabled], .button.hollow.contact:focus.disabled, .button.hollow.contact:focus[disabled] {
          border: 1px solid #e60e15;
          color: #e60e15; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #1c984a;
        color: #1c984a; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #a67100;
        color: #a67100; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #863022;
        color: #863022; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #0f4f79;
      color: #0f4f79; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #007dff;
      color: #007dff; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0051a6;
        color: #0051a6; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #007dff;
          color: #007dff; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #f44d52;
      color: #f44d52; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #c50c12;
        color: #c50c12; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #f44d52;
          color: #f44d52; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.white {
      border: 1px solid #ffffff;
      color: #ffffff; }
      .button.clear.white:hover, .button.clear.white:focus {
        border-color: #a6a6a6;
        color: #a6a6a6; }
        .button.clear.white:hover.disabled, .button.clear.white:hover[disabled], .button.clear.white:focus.disabled, .button.clear.white:focus[disabled] {
          border: 1px solid #ffffff;
          color: #ffffff; }
      .button.clear.white, .button.clear.white.disabled, .button.clear.white[disabled], .button.clear.white:hover, .button.clear.white:hover.disabled, .button.clear.white:hover[disabled], .button.clear.white:focus, .button.clear.white:focus.disabled, .button.clear.white:focus[disabled] {
        border-color: transparent; }
    .button.clear.dark-blue {
      border: 1px solid #1f4e89;
      color: #1f4e89; }
      .button.clear.dark-blue:hover, .button.clear.dark-blue:focus {
        border-color: #143359;
        color: #143359; }
        .button.clear.dark-blue:hover.disabled, .button.clear.dark-blue:hover[disabled], .button.clear.dark-blue:focus.disabled, .button.clear.dark-blue:focus[disabled] {
          border: 1px solid #1f4e89;
          color: #1f4e89; }
      .button.clear.dark-blue, .button.clear.dark-blue.disabled, .button.clear.dark-blue[disabled], .button.clear.dark-blue:hover, .button.clear.dark-blue:hover.disabled, .button.clear.dark-blue:hover[disabled], .button.clear.dark-blue:focus, .button.clear.dark-blue:focus.disabled, .button.clear.dark-blue:focus[disabled] {
        border-color: transparent; }
    .button.clear.business-blue {
      border: 1px solid #076acd;
      color: #076acd; }
      .button.clear.business-blue:hover, .button.clear.business-blue:focus {
        border-color: #054585;
        color: #054585; }
        .button.clear.business-blue:hover.disabled, .button.clear.business-blue:hover[disabled], .button.clear.business-blue:focus.disabled, .button.clear.business-blue:focus[disabled] {
          border: 1px solid #076acd;
          color: #076acd; }
      .button.clear.business-blue, .button.clear.business-blue.disabled, .button.clear.business-blue[disabled], .button.clear.business-blue:hover, .button.clear.business-blue:hover.disabled, .button.clear.business-blue:hover[disabled], .button.clear.business-blue:focus, .button.clear.business-blue:focus.disabled, .button.clear.business-blue:focus[disabled] {
        border-color: transparent; }
    .button.clear.business-green {
      border: 1px solid #15843a;
      color: #15843a; }
      .button.clear.business-green:hover, .button.clear.business-green:focus {
        border-color: #0e5626;
        color: #0e5626; }
        .button.clear.business-green:hover.disabled, .button.clear.business-green:hover[disabled], .button.clear.business-green:focus.disabled, .button.clear.business-green:focus[disabled] {
          border: 1px solid #15843a;
          color: #15843a; }
      .button.clear.business-green, .button.clear.business-green.disabled, .button.clear.business-green[disabled], .button.clear.business-green:hover, .button.clear.business-green:hover.disabled, .button.clear.business-green:hover[disabled], .button.clear.business-green:focus, .button.clear.business-green:focus.disabled, .button.clear.business-green:focus[disabled] {
        border-color: transparent; }
    .button.clear.contact {
      border: 1px solid #e60e15;
      color: #e60e15; }
      .button.clear.contact:hover, .button.clear.contact:focus {
        border-color: #96090d;
        color: #96090d; }
        .button.clear.contact:hover.disabled, .button.clear.contact:hover[disabled], .button.clear.contact:focus.disabled, .button.clear.contact:focus[disabled] {
          border: 1px solid #e60e15;
          color: #e60e15; }
      .button.clear.contact, .button.clear.contact.disabled, .button.clear.contact[disabled], .button.clear.contact:hover, .button.clear.contact:hover.disabled, .button.clear.contact:hover[disabled], .button.clear.contact:focus, .button.clear.contact:focus.disabled, .button.clear.contact:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #1c984a;
        color: #1c984a; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #a67100;
        color: #a67100; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #863022;
        color: #863022; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1.4em; }
  .button.dropdown.hollow::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #007dff; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #f44d52; }
  .button.dropdown.hollow.white::after {
    border-top-color: #ffffff; }
  .button.dropdown.hollow.dark-blue::after {
    border-top-color: #1f4e89; }
  .button.dropdown.hollow.business-blue::after {
    border-top-color: #076acd; }
  .button.dropdown.hollow.business-green::after {
    border-top-color: #15843a; }
  .button.dropdown.hollow.contact::after {
    border-top-color: #e60e15; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: 100%; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #ffffff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #ffffff; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #ffffff; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #ffffff; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #ffffff; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #ffffff; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #ffffff; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #ffffff; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #ffffff; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button-group.white .button {
    background-color: #fff;
    color: #ffffff; }
    .button-group.white .button:hover, .button-group.white .button:focus {
      background-color: #cccccc;
      color: #ffffff; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 28.0625em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 3px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #ffffff; }
  .label.primary {
    background: #1779ba;
    color: #ffffff; }
  .label.secondary {
    background: #767676;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #ffffff; }
  .label.white {
    background: #fff;
    color: #0a0a0a; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 3px;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }
  .progress.white .progress-meter {
    background-color: #fff; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba;
  border-radius: 3px; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap;
  border-radius: 3px; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  user-select: none;
  touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 3px;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(-50%); }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 3px;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transform: translate3d(0, 0, 0);
    border-radius: 3px;
    background: #ffffff;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 3px; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #ffffff; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f9f9f9;
    color: #233A52; }
  tfoot {
    background: #f2f2f2;
    color: #233A52; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f2f2f2; }
  table.unstriped tbody {
    background-color: #ffffff; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      background-color: #ffffff; }

@media screen and (max-width: 46.8125em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f4f4f4; }

table.hover tfoot tr:hover {
  background-color: #ededed; }

table.hover tbody tr:hover {
  background-color: #fafafa; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ededed; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #ffffff; }
  .badge.primary {
    background: #1779ba;
    color: #ffffff; }
  .badge.secondary {
    background: #767676;
    color: #ffffff; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #ffffff; }
  .badge.white {
    background: #fff;
    color: #0a0a0a; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' '; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.callout, .section-callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #233A52; }
  .callout > :first-child, .section-callout > :first-child {
    margin-top: 0; }
  .callout > :last-child, .section-callout > :last-child {
    margin-bottom: 0; }
  .callout.primary, .primary.section-callout {
    background-color: #d7ecfa;
    color: #233A52; }
  .callout.secondary, .secondary.section-callout {
    background-color: #eaeaea;
    color: #233A52; }
  .callout.success, .success.section-callout {
    background-color: #e1faea;
    color: #233A52; }
  .callout.warning, .warning.section-callout {
    background-color: #fff3d9;
    color: #233A52; }
  .callout.alert, .alert.section-callout {
    background-color: #f7e4e1;
    color: #233A52; }
  .callout.white, .white.section-callout {
    background-color: white;
    color: #233A52; }
  .callout.small, .small.section-callout {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large, .large.section-callout {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  color: #233A52; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' '; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 3px;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 3px;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 3px;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #ffffff; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before, .cta .container .tooltip.bottom.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.bottom.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.bottom::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.bottom::before, .taxprep-take-care-of-taxes .feature .tooltip.bottom.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.bottom::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.bottom::before, .taxprep-expert-team .all-features .tooltip.bottom.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.bottom::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.bottom::before, .taxprep-expert-team .feature .tooltip.bottom.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.bottom::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.bottom::before, .taxprep-business-section .feature .tooltip.bottom.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.bottom::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.bottom::before, .buspr-features-picker .services-group .card-wrapper .tooltip.bottom.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.bottom.icon-row::before, .busregister-plan-organize .tooltip.bottom.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.bottom.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.bottom::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.bottom::before, .busfin-benefits-intro .features-section .all-features .tooltip.bottom.features-row::before, .busfin-manage .all-features .tooltip.bottom.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.bottom::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.bottom::before, .busfin-team .features-section .all-features .tooltip.bottom.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.bottom::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.bottom::before, .busfin-team .features-section .feature .tooltip.bottom.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.bottom::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.bottom::before, .taxproblems-subhero .tooltip.bottom.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.bottom.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.bottom::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.bottom::before, .taxproblems-knowledge-experience .feature .tooltip.bottom.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.bottom::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.bottom::before, .taxproblems-personal-issues .tooltip.bottom.features-row::before, .taxproblems-personal-issues .feature .tooltip.bottom.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.bottom::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.bottom::before, .tooltip.bottom.blog-related-articles_article::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before, .cta .container .tooltip.top.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.top.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.top::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.top::before, .taxprep-take-care-of-taxes .feature .tooltip.top.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.top::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.top::before, .taxprep-expert-team .all-features .tooltip.top.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.top::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.top::before, .taxprep-expert-team .feature .tooltip.top.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.top::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.top::before, .taxprep-business-section .feature .tooltip.top.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.top::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.top::before, .buspr-features-picker .services-group .card-wrapper .tooltip.top.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.top.icon-row::before, .busregister-plan-organize .tooltip.top.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.top.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.top::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.top::before, .busfin-benefits-intro .features-section .all-features .tooltip.top.features-row::before, .busfin-manage .all-features .tooltip.top.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.top::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.top::before, .busfin-team .features-section .all-features .tooltip.top.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.top::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.top::before, .busfin-team .features-section .feature .tooltip.top.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.top::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.top::before, .taxproblems-subhero .tooltip.top.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.top.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.top::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.top::before, .taxproblems-knowledge-experience .feature .tooltip.top.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.top::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.top::before, .taxproblems-personal-issues .tooltip.top.features-row::before, .taxproblems-personal-issues .feature .tooltip.top.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.top::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.top::before, .tooltip.top.blog-related-articles_article::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before, .cta .container .tooltip.left.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.left.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.left::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.left::before, .taxprep-take-care-of-taxes .feature .tooltip.left.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.left::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.left::before, .taxprep-expert-team .all-features .tooltip.left.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.left::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.left::before, .taxprep-expert-team .feature .tooltip.left.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.left::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.left::before, .taxprep-business-section .feature .tooltip.left.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.left::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.left::before, .buspr-features-picker .services-group .card-wrapper .tooltip.left.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.left.icon-row::before, .busregister-plan-organize .tooltip.left.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.left.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.left::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.left::before, .busfin-benefits-intro .features-section .all-features .tooltip.left.features-row::before, .busfin-manage .all-features .tooltip.left.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.left::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.left::before, .busfin-team .features-section .all-features .tooltip.left.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.left::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.left::before, .busfin-team .features-section .feature .tooltip.left.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.left::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.left::before, .taxproblems-subhero .tooltip.left.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.left.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.left::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.left::before, .taxproblems-knowledge-experience .feature .tooltip.left.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.left::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.left::before, .taxproblems-personal-issues .tooltip.left.features-row::before, .taxproblems-personal-issues .feature .tooltip.left.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.left::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.left::before, .tooltip.left.blog-related-articles_article::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before, .cta .container .tooltip.right.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.right.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.right::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.right::before, .taxprep-take-care-of-taxes .feature .tooltip.right.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.right::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.right::before, .taxprep-expert-team .all-features .tooltip.right.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.right::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.right::before, .taxprep-expert-team .feature .tooltip.right.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.right::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.right::before, .taxprep-business-section .feature .tooltip.right.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.right::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.right::before, .buspr-features-picker .services-group .card-wrapper .tooltip.right.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.right.icon-row::before, .busregister-plan-organize .tooltip.right.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.right.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.right::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.right::before, .busfin-benefits-intro .features-section .all-features .tooltip.right.features-row::before, .busfin-manage .all-features .tooltip.right.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.right::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.right::before, .busfin-team .features-section .all-features .tooltip.right.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.right::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.right::before, .busfin-team .features-section .feature .tooltip.right.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.right::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.right::before, .taxproblems-subhero .tooltip.right.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.right.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.right::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.right::before, .taxproblems-knowledge-experience .feature .tooltip.right.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.right::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.right::before, .taxproblems-personal-issues .tooltip.right.features-row::before, .taxproblems-personal-issues .feature .tooltip.right.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.right::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.right::before, .tooltip.right.blog-related-articles_article::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.align-top::before, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .tooltip.row::before, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .busmoveusa-countries-assisted .content .flags ul.tooltip::before, .busmoveusa-countries-assisted .content .flags .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul.tooltip::before, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip::before, .taxproblems-business-issues .features-lists .row .category-list .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul.tooltip::before, .busfin-taxes-solution .section-features .feature .tooltip.row::before, .busfin-taxes-solution .section-features .feature .busmoveusa-countries-assisted .content .flags ul.tooltip::before, .busmoveusa-countries-assisted .content .flags .busfin-taxes-solution .section-features .feature ul.tooltip::before, .busfin-taxes-solution .section-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-taxes-solution .section-features .feature ul.tooltip::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before, .buspr-pay-features .feature .tooltip.row::before, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.tooltip::before, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.tooltip::before, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip::before, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.tooltip::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.accordion {
  margin-left: 0;
  background: #ffffff;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 3px 3px 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 3px 3px; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 3px 3px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #ffffff;
  color: #233A52; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.media-object {
  display: block;
  margin-bottom: 1rem; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 28.0625em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #ffffff; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

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

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

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

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #ffffff;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #ffffff;
  color: #233A52;
  transition: all 0.5s ease; }

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

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

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #ffffff;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu li, .menu.horizontal li {
    display: inline-block; }
  .menu.vertical li {
    display: block; }
  .menu.expanded {
    display: table;
    width: 100%; }
    .menu.expanded > li {
      display: table-cell;
      vertical-align: middle; }
  .menu.simple li + li {
    margin-left: 1rem; }
  .menu.simple a {
    padding: 0; }
  @media print, screen and (min-width: 28.125em) {
    .menu.small-plus-horizontal li {
      display: inline-block; }
    .menu.small-plus-vertical li {
      display: block; }
    .menu.small-plus-expanded {
      display: table;
      width: 100%; }
      .menu.small-plus-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.small-plus-simple {
      display: table;
      width: 100%; }
      .menu.small-plus-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal li {
      display: inline-block; }
    .menu.medium-vertical li {
      display: block; }
    .menu.medium-expanded {
      display: table;
      width: 100%; }
      .menu.medium-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.medium-simple {
      display: table;
      width: 100%; }
      .menu.medium-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media print, screen and (min-width: 46.875em) {
    .menu.medium-plus-horizontal li {
      display: inline-block; }
    .menu.medium-plus-vertical li {
      display: block; }
    .menu.medium-plus-expanded {
      display: table;
      width: 100%; }
      .menu.medium-plus-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.medium-plus-simple {
      display: table;
      width: 100%; }
      .menu.medium-plus-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal li {
      display: inline-block; }
    .menu.large-vertical li {
      display: block; }
    .menu.large-expanded {
      display: table;
      width: 100%; }
      .menu.large-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.large-simple {
      display: table;
      width: 100%; }
      .menu.large-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal li {
      display: inline-block; }
    .menu.xlarge-vertical li {
      display: block; }
    .menu.xlarge-expanded {
      display: table;
      width: 100%; }
      .menu.xlarge-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.xlarge-simple {
      display: table;
      width: 100%; }
      .menu.xlarge-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons img,
  .menu.icons i,
  .menu.icons svg {
    vertical-align: middle; }
    .menu.icons img + span,
    .menu.icons i + span,
    .menu.icons svg + span {
      vertical-align: middle; }
  .menu.icon-top img,
  .menu.icon-top i,
  .menu.icon-top svg, .menu.icon-right img,
  .menu.icon-right i,
  .menu.icon-right svg, .menu.icon-bottom img,
  .menu.icon-bottom i,
  .menu.icon-bottom svg, .menu.icon-left img,
  .menu.icon-left i,
  .menu.icon-left svg {
    vertical-align: middle; }
    .menu.icon-top img + span,
    .menu.icon-top i + span,
    .menu.icon-top svg + span, .menu.icon-right img + span,
    .menu.icon-right i + span,
    .menu.icon-right svg + span, .menu.icon-bottom img + span,
    .menu.icon-bottom i + span,
    .menu.icon-bottom svg + span, .menu.icon-left img + span,
    .menu.icon-left i + span,
    .menu.icon-left svg + span {
      vertical-align: middle; }
  .menu.icon-left li a img,
  .menu.icon-left li a i,
  .menu.icon-left li a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu.icon-right li a img,
  .menu.icon-right li a i,
  .menu.icon-right li a svg {
    margin-left: 0.25rem;
    display: inline-block; }
  .menu.icon-top li a {
    text-align: center; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.icon-bottom li a {
    text-align: center; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      display: block;
      margin: 0.25rem auto 0; }
  .menu .is-active > a {
    background: #1779ba;
    color: #ffffff; }
  .menu .active > a {
    background: #1779ba;
    color: #ffffff; }
  .menu.align-left, .buspr-pay-features .feature .menu.row, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.menu, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.menu {
    text-align: left; }
  .menu.align-right {
    text-align: right; }
    .menu.align-right .submenu li {
      text-align: left; }
    .menu.align-right.vertical .submenu li {
      text-align: right; }
    .menu.align-right .nested {
      margin-right: 1rem;
      margin-left: 0; }
  .menu.align-center, .cta .container .menu.content, .taxprep-services-picker .features-section .features-row .feature .menu.row, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.menu, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.menu, .taxprep-take-care-of-taxes .feature .menu.row, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.menu, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.menu, .taxprep-expert-team .all-features .menu.row, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.menu, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.menu, .taxprep-expert-team .feature .menu.row, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.menu, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.menu, .taxprep-business-section .feature .menu.row, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.menu, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.menu, .buspr-features-picker .services-group .card-wrapper .menu.card-section, .buspr-guidance-assistance .feature-row .feature .menu.icon-row, .busregister-plan-organize .menu.header-section, .busregister-plan-organize .features-row .feature .menu.row, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.menu, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.menu, .busfin-benefits-intro .features-section .all-features .menu.features-row, .busfin-manage .all-features .menu.row, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.menu, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.menu, .busfin-team .features-section .all-features .menu.row, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.menu, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.menu, .busfin-team .features-section .feature .menu.row, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.menu, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.menu, .taxproblems-subhero .menu.services-picker, .taxproblems-subhero .services-picker .service .card .menu.row, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.menu, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.menu, .taxproblems-knowledge-experience .feature .menu.row, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.menu, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.menu, .taxproblems-personal-issues .menu.features-row, .taxproblems-personal-issues .feature .menu.row, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.menu, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.menu, .menu.blog-related-articles_article {
    text-align: center; }
    .menu.align-center .submenu li, .cta .container .menu.content .submenu li, .taxprep-services-picker .features-section .features-row .feature .menu.row .submenu li, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.menu .submenu li, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.menu .submenu li, .taxprep-take-care-of-taxes .feature .menu.row .submenu li, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.menu .submenu li, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.menu .submenu li, .taxprep-expert-team .all-features .menu.row .submenu li, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.menu .submenu li, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.menu .submenu li, .taxprep-expert-team .feature .menu.row .submenu li, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.menu .submenu li, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.menu .submenu li, .taxprep-business-section .feature .menu.row .submenu li, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.menu .submenu li, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.menu .submenu li, .buspr-features-picker .services-group .card-wrapper .menu.card-section .submenu li, .buspr-guidance-assistance .feature-row .feature .menu.icon-row .submenu li, .busregister-plan-organize .menu.header-section .submenu li, .busregister-plan-organize .features-row .feature .menu.row .submenu li, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.menu .submenu li, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.menu .submenu li, .busfin-benefits-intro .features-section .all-features .menu.features-row .submenu li, .busfin-manage .all-features .menu.row .submenu li, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.menu .submenu li, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.menu .submenu li, .busfin-team .features-section .all-features .menu.row .submenu li, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.menu .submenu li, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.menu .submenu li, .busfin-team .features-section .feature .menu.row .submenu li, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.menu .submenu li, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.menu .submenu li, .taxproblems-subhero .menu.services-picker .submenu li, .taxproblems-subhero .services-picker .service .card .menu.row .submenu li, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.menu .submenu li, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.menu .submenu li, .taxproblems-knowledge-experience .feature .menu.row .submenu li, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.menu .submenu li, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.menu .submenu li, .taxproblems-personal-issues .menu.features-row .submenu li, .taxproblems-personal-issues .feature .menu.row .submenu li, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.menu .submenu li, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.menu .submenu li, .menu.blog-related-articles_article .submenu li {
      text-align: left; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  text-align: center; }
  .menu-centered > .menu .submenu li {
    text-align: left; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after, .buspr-pay-features .feature .accordion-menu.row .is-accordion-submenu-parent > a::after, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.accordion-menu .is-accordion-submenu-parent > a::after, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.accordion-menu .is-accordion-submenu-parent > a::after, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.accordion-menu .is-accordion-submenu-parent > a::after, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.accordion-menu .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  transform: rotate(180deg);
  transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  transform: scaleY(-1);
  transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  transition: transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after, .buspr-pay-features .feature .drilldown.row .is-drilldown-submenu-parent > a::after, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.drilldown .is-drilldown-submenu-parent > a::after, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.drilldown .is-drilldown-submenu-parent > a::after, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.drilldown .is-drilldown-submenu-parent > a::after, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.drilldown .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

@media print, screen and (min-width: 28.125em) {
  .dropdown.menu.small-plus-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.small-plus-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.small-plus-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.small-plus-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.small-plus-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.small-plus-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.small-plus-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.small-plus-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.small-plus-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.small-plus-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 46.875em) {
  .dropdown.menu.medium-plus-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-plus-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-plus-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-plus-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-plus-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-plus-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-plus-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-plus-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-plus-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.medium-plus-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(10, 10, 10, 0.4);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 85%;
  transform: translateX(-85%); }
  @media print, screen and (min-width: 40em) {
    .position-left {
      width: 500px;
      transform: translateX(-500px); } }
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-left {
        transform: translateX(-500px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-left.has-transition-push {
        transform: translateX(500px); } }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 85%;
  transform: translateX(85%); }
  @media print, screen and (min-width: 40em) {
    .position-right {
      width: 500px;
      transform: translateX(500px); } }
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-right {
        transform: translateX(500px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-right.has-transition-push {
        transform: translateX(-500px); } }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  transform: none;
  transition: transform 0.5s ease;
  backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    transform: translate(0, 0); }

@media print, screen and (min-width: 28.125em) {
  .position-left.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 85%; }
    .position-left.reveal-for-small-plus ~ .off-canvas-content {
      margin-left: 85%; }
  .position-right.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 85%; }
    .position-right.reveal-for-small-plus ~ .off-canvas-content {
      margin-right: 85%; }
  .position-top.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 85%; }
    .position-top.reveal-for-small-plus ~ .off-canvas-content {
      margin-top: 85%; }
  .position-bottom.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 85%; }
    .position-bottom.reveal-for-small-plus ~ .off-canvas-content {
      margin-bottom: 85%; } }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media print, screen and (min-width: 46.875em) {
  .position-left.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-medium-plus ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-medium-plus ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-medium-plus ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-medium-plus ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media print, screen and (min-width: 28.125em) {
  .off-canvas.in-canvas-for-small-plus {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-small-plus.position-left, .off-canvas.in-canvas-for-small-plus.position-right, .off-canvas.in-canvas-for-small-plus.position-top, .off-canvas.in-canvas-for-small-plus.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-small-plus .close-button {
      display: none; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 46.875em) {
  .off-canvas.in-canvas-for-medium-plus {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium-plus.position-left, .off-canvas.in-canvas-for-medium-plus.position-right, .off-canvas.in-canvas-for-medium-plus.position-top, .off-canvas.in-canvas-for-medium-plus.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-medium-plus .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: scroll; }
  html.is-reveal-open body {
    overflow: hidden; }

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

.reveal {
  z-index: 1006;
  backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns, .reveal .busmoveusa-countries-assisted .content .flags ul li, .busmoveusa-countries-assisted .content .flags ul .reveal li {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse, .busmoveusa-countries-assisted .content .flags ul.reveal, .taxproblems-business-issues .features-lists .row .category-list ul.reveal {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 28.0625em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #ffffff; }
  .title-bar::before, .title-bar::after {
    display: table;
    content: ' '; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

.title-bar-right {
  float: right;
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 39.9375em) {
    .top-bar.stacked-for-small-plus .top-bar-left,
    .top-bar.stacked-for-small-plus .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 46.8125em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium-plus .top-bar-left,
    .top-bar.stacked-for-medium-plus .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge .top-bar-left,
    .top-bar.stacked-for-xlarge .top-bar-right {
      width: 100%; } }

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0; }
  .top-bar-title .menu-icon {
    bottom: 2px; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' '; }

.clearfix::after {
  clear: both; }

.align-left, .buspr-pay-features .feature .row, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul {
  justify-content: flex-start; }

.align-right {
  justify-content: flex-end; }

.align-center, .cta .container .content, .taxprep-services-picker .features-section .features-row .feature .row, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-take-care-of-taxes .feature .row, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul, .taxprep-expert-team .all-features .row, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul, .taxprep-expert-team .feature .row, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul, .taxprep-business-section .feature .row, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul, .buspr-features-picker .services-group .card-wrapper .card-section, .buspr-guidance-assistance .feature-row .feature .icon-row, .busregister-plan-organize .header-section, .busregister-plan-organize .features-row .feature .row, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul, .busfin-benefits-intro .features-section .all-features .features-row, .busfin-manage .all-features .row, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul, .busfin-team .features-section .all-features .row, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul, .busfin-team .features-section .feature .row, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul, .taxproblems-subhero .services-picker, .taxproblems-subhero .services-picker .service .card .row, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul, .taxproblems-knowledge-experience .feature .row, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul, .taxproblems-personal-issues .features-row, .taxproblems-personal-issues .feature .row, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul, .blog-related-articles_article {
  justify-content: center; }

.align-justify {
  justify-content: space-between; }

.align-spaced, .busregister-plan-organize .features-row {
  justify-content: space-around; }

.align-left.vertical.menu > li > a, .buspr-pay-features .feature .vertical.menu.row > li > a, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.vertical.menu > li > a, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.vertical.menu > li > a {
  justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  justify-content: flex-end; }

.align-center.vertical.menu > li > a, .cta .container .vertical.menu.content > li > a, .taxprep-services-picker .features-section .features-row .feature .vertical.menu.row > li > a, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.vertical.menu > li > a, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.vertical.menu > li > a, .taxprep-take-care-of-taxes .feature .vertical.menu.row > li > a, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.vertical.menu > li > a, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.vertical.menu > li > a, .taxprep-expert-team .all-features .vertical.menu.row > li > a, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.vertical.menu > li > a, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.vertical.menu > li > a, .taxprep-expert-team .feature .vertical.menu.row > li > a, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.vertical.menu > li > a, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.vertical.menu > li > a, .taxprep-business-section .feature .vertical.menu.row > li > a, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.vertical.menu > li > a, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.vertical.menu > li > a, .buspr-features-picker .services-group .card-wrapper .vertical.menu.card-section > li > a, .buspr-guidance-assistance .feature-row .feature .vertical.menu.icon-row > li > a, .busregister-plan-organize .vertical.menu.header-section > li > a, .busregister-plan-organize .features-row .feature .vertical.menu.row > li > a, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.vertical.menu > li > a, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.vertical.menu > li > a, .busfin-benefits-intro .features-section .all-features .vertical.menu.features-row > li > a, .busfin-manage .all-features .vertical.menu.row > li > a, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.vertical.menu > li > a, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.vertical.menu > li > a, .busfin-team .features-section .all-features .vertical.menu.row > li > a, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.vertical.menu > li > a, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.vertical.menu > li > a, .busfin-team .features-section .feature .vertical.menu.row > li > a, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.vertical.menu > li > a, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.vertical.menu > li > a, .taxproblems-subhero .vertical.menu.services-picker > li > a, .taxproblems-subhero .services-picker .service .card .vertical.menu.row > li > a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.vertical.menu > li > a, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.vertical.menu > li > a, .taxproblems-knowledge-experience .feature .vertical.menu.row > li > a, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.vertical.menu > li > a, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.vertical.menu > li > a, .taxproblems-personal-issues .vertical.menu.features-row > li > a, .taxproblems-personal-issues .feature .vertical.menu.row > li > a, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.vertical.menu > li > a, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.vertical.menu > li > a, .vertical.menu.blog-related-articles_article > li > a {
  justify-content: center; }

.align-top, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .row, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul, .busfin-taxes-solution .section-features .feature .row, .busfin-taxes-solution .section-features .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-taxes-solution .section-features .feature ul, .busfin-taxes-solution .section-features .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-taxes-solution .section-features .feature ul {
  align-items: flex-start; }

.align-self-top, .busfin-manage .all-features .feature .column-icon {
  align-self: flex-start; }

.align-bottom {
  align-items: flex-end; }

.align-self-bottom {
  align-self: flex-end; }

.align-middle, .mobile-nav ul > li ul li a .wrapper, .taxprep-services-picker .features-section .features-row .feature .row, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-take-care-of-taxes .feature .row, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul, .taxprep-expert-team .feature .row, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul, .buspr-features-picker .services-group .card-wrapper .card-section, .buspr-pay-features .feature .row, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul, .buspr-guidance-assistance .feature-row .feature .icon-row, .busregister-plan-organize .features-row .feature .row, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul, .busfin-benefits-intro .features-section .all-features .feature .card .row, .busfin-benefits-intro .features-section .all-features .feature .card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-benefits-intro .features-section .all-features .feature .card ul, .busfin-benefits-intro .features-section .all-features .feature .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-benefits-intro .features-section .all-features .feature .card ul, .busfin-manage .all-features .row, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul, .taxproblems-subhero .services-picker .service .card .row, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul, .taxproblems-knowledge-experience .feature .row, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul, .taxproblems-personal-issues .feature .row, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul, .taxproblems-business-issues .features-lists .row, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul, .taxproblems-business-issues .features-lists .row .category-list ul {
  align-items: center; }

.align-self-middle {
  align-self: center; }

.align-stretch {
  align-items: stretch; }

.align-self-stretch {
  align-self: stretch; }

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center; }

.small-order-1, .buspr-year-end-payroll .graphic, .busregister-review-issues .column-icon, .busfin-future .column-icon {
  order: 1; }

.small-order-2, .buspr-year-end-payroll .description, .busregister-review-issues .column-text, .busfin-future .column-text, .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
  order: 2; }

.small-order-3, .all-contact-info .information-row .column-hours {
  order: 3; }

.small-order-4 {
  order: 4; }

.small-order-5 {
  order: 5; }

.small-order-6 {
  order: 6; }

@media print, screen and (min-width: 28.125em) {
  .small-plus-order-1, .busregister-register-your-business .column-icon, .busregister-register-your-business .column-text {
    order: 1; }
  .small-plus-order-2, .busregister-register-your-business .column-icon, .busregister-register-your-business .column-text {
    order: 2; }
  .small-plus-order-3 {
    order: 3; }
  .small-plus-order-4 {
    order: 4; }
  .small-plus-order-5 {
    order: 5; }
  .small-plus-order-6 {
    order: 6; } }

@media print, screen and (min-width: 40em) {
  .medium-order-1, .taxprep-business-section .feature .column-text, .busregister-review-issues .column-text, .busfin-future .column-text {
    order: 1; }
  .medium-order-2, .taxprep-business-section .feature .column-icon, .busregister-review-issues .column-icon, .busfin-future .column-icon {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-order-1, .taxprep-business-section .feature .column-icon {
    order: 1; }
  .medium-plus-order-2, .taxprep-business-section .feature .column-text, .all-contact-info .information-row .column-hours {
    order: 2; }
  .medium-plus-order-3, .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
    order: 3; }
  .medium-plus-order-4 {
    order: 4; }
  .medium-plus-order-5 {
    order: 5; }
  .medium-plus-order-6 {
    order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    order: 1; }
  .xlarge-order-2 {
    order: 2; }
  .xlarge-order-3 {
    order: 3; }
  .xlarge-order-4 {
    order: 4; }
  .xlarge-order-5 {
    order: 5; }
  .xlarge-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

.flex-child-grow {
  flex: 1 0 auto; }

.flex-child-shrink {
  flex: 0 1 auto; }

.flex-dir-row {
  flex-direction: row; }

.flex-dir-row-reverse {
  flex-direction: row-reverse; }

.flex-dir-column {
  flex-direction: column; }

.flex-dir-column-reverse {
  flex-direction: column-reverse; }

@media print, screen and (min-width: 28.125em) {
  .small-plus-flex-container {
    display: flex; }
  .small-plus-flex-child-auto {
    flex: 1 1 auto; }
  .small-plus-flex-child-grow {
    flex: 1 0 auto; }
  .small-plus-flex-child-shrink {
    flex: 0 1 auto; }
  .small-plus-flex-dir-row {
    flex-direction: row; }
  .small-plus-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .small-plus-flex-dir-column {
    flex-direction: column; }
  .small-plus-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-flex-container {
    display: flex; }
  .medium-plus-flex-child-auto {
    flex: 1 1 auto; }
  .medium-plus-flex-child-grow {
    flex: 1 0 auto; }
  .medium-plus-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-plus-flex-dir-row {
    flex-direction: row; }
  .medium-plus-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-plus-flex-dir-column {
    flex-direction: column; }
  .medium-plus-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: flex; }
  .xlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 28.0625em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 28.125em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 28.125em) {
  .hide-for-small-plus {
    display: none !important; } }

@media screen and (max-width: 28.0625em) {
  .show-for-small-plus {
    display: none !important; } }

@media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
  .hide-for-small-plus-only {
    display: none !important; } }

@media screen and (max-width: 28.0625em), screen and (min-width: 40em) {
  .show-for-small-plus-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 46.8125em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 46.875em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 46.875em) {
  .hide-for-medium-plus {
    display: none !important; } }

@media screen and (max-width: 46.8125em) {
  .show-for-medium-plus {
    display: none !important; } }

@media screen and (min-width: 46.875em) and (max-width: 63.9375em) {
  .hide-for-medium-plus-only {
    display: none !important; } }

@media screen and (max-width: 46.8125em), screen and (min-width: 64em) {
  .show-for-medium-plus-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

/*
@include foundation-global-styles;
//@include foundation-grid;
@include foundation-flex-classes;
@include foundation-flex-grid;
@include foundation-typography;
@include foundation-button;
@include foundation-forms;
// @include foundation-range-input;
@include foundation-accordion;
@include foundation-accordion-menu;
@include foundation-badge;
@include foundation-breadcrumbs;
@include foundation-button-group;
@include foundation-callout;
@include foundation-card;
@include foundation-close-button;
@include foundation-menu;
@include foundation-menu-icon;
@include foundation-drilldown-menu;
@include foundation-dropdown;
@include foundation-dropdown-menu;
@include foundation-responsive-embed;
@include foundation-label;
@include foundation-media-object;
@include foundation-off-canvas;
@include foundation-orbit;
@include foundation-pagination;
@include foundation-progress-bar;
// @include foundation-progress-element;
// @include foundation-meter-element;
@include foundation-slider;
@include foundation-sticky;
@include foundation-reveal;
@include foundation-switch;
@include foundation-table;
@include foundation-tabs;
@include foundation-thumbnail;
@include foundation-title-bar;
@include foundation-tooltip;
@include foundation-top-bar;
@include foundation-visibility-classes;
@include foundation-float-classes;
*/
.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* @include transition(all,2s,ease-out); */
.language-bar {
  position: absolute;
  top: 0;
  width: 100%;
  padding: 3px 0 0px;
  display: none; }
  @media screen and (min-width: 48.125em) {
    .language-bar {
      display: block; } }
  .language-bar .container {
    max-width: 75rem;
    margin: 0 auto; }
  .language-bar .menu {
    margin-right: 1rem;
    line-height: 0; }
    .language-bar .menu li {
      height: 12px;
      vertical-align: top; }
    .language-bar .menu li.language-item {
      padding-right: .25rem; }
      .language-bar .menu li.language-item:not(:last-of-type) {
        border-right: solid 1px #ebebeb; }
    .language-bar .menu a {
      padding: 0;
      margin: 0;
      padding-top: 2.4px;
      font-size: 12px;
      font-size: 9.6px;
      vertical-align: top; }
    .language-bar .menu .option-phone {
      font-weight: 600;
      margin-right: 1rem; }
      .language-bar .menu .option-phone .phone-icon {
        display: inline-block;
        vertical-align: top;
        background: url("/resources/img/phone-icon_solid.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 0 0px;
        height: calc( 12px * .65);
        width: calc( 12px * .65);
        margin-top: calc( 12px * .2);
        margin-right: calc( 12px * .15); }
      .language-bar .menu .option-phone .phone-icon-svg {
        display: block;
        height: 100%;
        width: auto; }
      .language-bar .menu .option-phone a {
        display: inline-block; }
    .language-bar .menu .option-language {
      text-transform: uppercase; }
    .language-bar .menu .active-language {
      font-weight: 700; }

@media screen and (min-width: 48.125em) {
  .nav-bar_sticky {
    top: 0; } }

.sticky {
  z-index: 50; }

.nav-bar .is-stuck.container {
  -webkit-box-shadow: 1px 0 10px #707070;
  -moz-box-shadow: 1px 0 10px #707070;
  box-shadow: 1px 0 10px #707070; }

.nav-bar {
  z-index: 99;
  position: fixed;
  top: 0;
  width: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 48.125em) {
    .nav-bar {
      position: absolute;
      top: 16px; } }
  .nav-bar .primary-links {
    display: none; }
  .nav-bar .container {
    background: #ffffff;
    border-bottom: solid 1px #d6dde3;
    z-index: 100; }
    .nav-bar .container .row, .nav-bar .container .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .nav-bar .container ul, .nav-bar .container .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .nav-bar .container ul {
      max-width: 76rem; }
    .nav-bar .container .navbar-left, .nav-bar .container .navbar-center, .nav-bar .container .navbar-right {
      z-index: 101; }
    .nav-bar .container .navbar-left {
      height: 52px;
      flex: 0 0 auto;
      padding-right: 0;
      padding-left: 0; }
      @media screen and (min-width: 48.125em) {
        .nav-bar .container .navbar-left {
          height: 49px; } }
      .nav-bar .container .navbar-left .logo {
        height: 100%; }
        .nav-bar .container .navbar-left .logo a {
          margin: 0;
          padding: 0; }
        .nav-bar .container .navbar-left .logo .tslogo {
          width: auto;
          height: 26px;
          padding-left: .33rem;
          position: relative;
          top: 50%;
          transform: translateY(-50%); }
          @media screen and (min-width: 48.125em) {
            .nav-bar .container .navbar-left .logo .tslogo {
              height: 24.5px;
              transform: translateY(-56%); } }
          @media screen and (min-width: 59.375em) {
            .nav-bar .container .navbar-left .logo .tslogo {
              height: 29.4px;
              transform: translateY(-58%);
              transform: translateY(-56%); } }
    .nav-bar .container .navbar-right {
      flex: 0 0 auto;
      padding-right: 0;
      padding-left: 0;
      padding-right: 1rem; }
      @media screen and (min-width: 48.125em) {
        .nav-bar .container .navbar-right .btn-mobile-menu {
          display: none; } }
      .nav-bar .container .navbar-right .btn-mobile-menu {
        float: right;
        display: block;
        position: relative;
        top: 50%;
        transform: translateY(-50%); }
        @media screen and (min-width: 48.125em) {
          .nav-bar .container .navbar-right .btn-mobile-menu {
            display: none; } }
        .nav-bar .container .navbar-right .btn-mobile-menu .hamburger {
          position: relative;
          display: inline-block;
          vertical-align: middle;
          width: 24px;
          height: 16px;
          cursor: pointer; }
          .nav-bar .container .navbar-right .btn-mobile-menu .hamburger::after {
            position: absolute;
            top: 0;
            left: 0;
            display: block;
            width: 100%;
            height: 2px;
            background: #007dff;
            box-shadow: 0 7px 0 #007dff, 0 14px 0 #007dff;
            content: ''; }
          .nav-bar .container .navbar-right .btn-mobile-menu .hamburger:hover::after {
            background: #1f4e89;
            box-shadow: 0 7px 0 #1f4e89, 0 14px 0 #1f4e89; }
      .nav-bar .container .navbar-right .btn-contact {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 1em 1.4em;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 3px;
        transition: background-color 0.25s ease-out, color 0.25s ease-out;
        font-size: 0.9rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #f44d52;
        color: #ffffff;
        margin: 0;
        padding: .45rem 1rem;
        text-transform: uppercase;
        position: relative;
        top: 50%;
        transform: translateY(-52%);
        display: none; }
        [data-whatinput='mouse'] .nav-bar .container .navbar-right .btn-contact {
          outline: 0; }
        .nav-bar .container .navbar-right .btn-contact:hover, .nav-bar .container .navbar-right .btn-contact:focus {
          background-color: #f11d23;
          color: #ffffff; }
        @media screen and (min-width: 48.125em) {
          .nav-bar .container .navbar-right .btn-contact {
            display: block; } }
        @media screen and (max-width: 59.375em) {
          .nav-bar .container .navbar-right .btn-contact {
            font-size: .8em;
            padding: .4rem .75rem; } }
    .nav-bar .container .navbar-center {
      display: none; }
      @media screen and (min-width: 48.125em) {
        .nav-bar .container .navbar-center {
          flex: 1 1 0px;
          padding-right: 0;
          padding-left: 0;
          min-width: 0;
          display: block; } }
      .nav-bar .container .navbar-center ul.menu > li:hover > a, .nav-bar .container .navbar-center ul.menu > li:focus-within > a {
        border-bottom: solid 2px #007dff;
        border-bottom-color: #1f4e89; }
      .nav-bar .container .navbar-center ul.menu > li > a {
        height: 49px;
        padding-top: 16.66px;
        font-size: .8em;
        font-weight: 600;
        padding-left: .65rem;
        padding-right: .65rem;
        text-transform: uppercase; }
        @media screen and (min-width: 59.375em) {
          .nav-bar .container .navbar-center ul.menu > li > a {
            font-size: .9em;
            padding-left: 1rem;
            padding-right: 1rem; } }
        @media print, screen and (min-width: 64em) {
          .nav-bar .container .navbar-center ul.menu > li > a {
            padding-left: 1.5rem;
            padding-right: 1.5rem; } }
      .nav-bar .container .navbar-center ul.menu li:hover > ul.submenu-dropdown,
      .nav-bar .container .navbar-center ul.menu li:focus-within > ul.submenu-dropdown,
      .nav-bar .container .navbar-center ul.menu li ul.submenu-dropdown:hover {
        visibility: visible;
        opacity: 1;
        display: flex; }
      .nav-bar .container .navbar-center ul.menu .submenu-container {
        margin: 0 auto;
        padding-left: 1rem;
        padding-right: 1rem;
        max-width: none !important; }
        @media screen and (min-width: 75em) {
          .nav-bar .container .navbar-center ul.menu .submenu-container {
            padding-left: calc( (100vw - 75rem) / 2);
            padding-right: calc( (100vw - 75rem) / 2); } }
      .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown {
        visibility: hidden;
        opacity: 0;
        display: none;
        position: fixed;
        width: 100%;
        left: 0;
        right: 0;
        margin: 0 auto;
        padding-top: 1rem;
        padding-bottom: 2rem;
        background: #ffffff;
        border-top: solid 1px #d6dde3;
        -webkit-box-shadow: 0 6px 5px #8a8a8a;
        -moz-box-shadow: 0 6px 5px #8a8a8a;
        box-shadow: 0 6px 5px #8a8a8a; }
        .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: left;
          border: solid 1px #ffffff;
          margin-top: .6rem; }
          @media print, screen and (min-width: 40em) {
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media screen and (min-width: 48.125em) {
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
              flex: 0 0 33.33333%;
              max-width: 33.33333%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media screen and (min-width: 48.125em) and (min-width: 40em) {
    .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
          .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-icon {
            flex: 0 0 auto;
            padding-right: 0;
            padding-left: 0; }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-icon .icon-svg {
              fill: currentColor;
              color: #3397ff;
              height: 3rem;
              width: 3rem; }
          .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text {
            flex: 1 1 0px;
            padding-right: 0.9375rem;
            padding-left: 0.9375rem;
            min-width: 0; }
            @media print, screen and (min-width: 40em) {
              .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text {
                padding-right: 1.25rem;
                padding-left: 1.25rem; } }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text h4 {
              font-family: "Core Sans A", sans-serif;
              font-size: .9em;
              font-weight: 500;
              letter-spacing: -.3px;
              line-height: 1;
              margin-bottom: .2em;
              color: #1f4e89; }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text p, .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text .generic-p {
              font-size: .8em;
              line-height: 1.4;
              color: #646464; }
          .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:hover, .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:focus-within {
            background: #fafafa;
            border: solid 1px #d6dde3; }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:hover .column-text h4, .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:focus-within .column-text h4 {
              color: #007dff; }

.body_do_not_scroll {
  overflow: hidden; }

.mobile-nav {
  overflow-x: hidden;
  height: calc(100% - 52px);
  margin-top: 52px; }
  .mobile-nav ul {
    width: 100%;
    margin: 0;
    list-style: none;
    background: #ffffff; }
    .mobile-nav ul > li {
      border: solid 0px #ededed;
      border-bottom-width: 1px;
      text-align: left; }
      .mobile-nav ul > li > a {
        padding: 2rem 2rem;
        color: #114683;
        font-size: 1rem; }
      .mobile-nav ul > li ul li {
        background: #fbfbfb;
        border-color: #e5e5e5;
        padding: .5rem 0; }
        .mobile-nav ul > li ul li a .wrapper {
          max-width: 75rem;
          margin-right: auto;
          margin-left: auto;
          display: flex;
          flex-flow: row wrap; }
        .mobile-nav ul > li ul li a .column-icon {
          flex: 0 0 auto;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; }
          @media print, screen and (min-width: 40em) {
            .mobile-nav ul > li ul li a .column-icon {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          .mobile-nav ul > li ul li a .column-icon .icon-svg {
            fill: currentcolor;
            color: #3397ff;
            height: 3rem;
            width: 3rem; }
        .mobile-nav ul > li ul li a .column-text {
          flex: 1 1 0px;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          min-width: 0; }
          @media print, screen and (min-width: 40em) {
            .mobile-nav ul > li ul li a .column-text {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          .mobile-nav ul > li ul li a .column-text h4 {
            font-size: 0.9rem;
            font-weight: 400;
            margin-bottom: 0rem; }
          .mobile-nav ul > li ul li a .column-text p, .mobile-nav ul > li ul li a .column-text .generic-p {
            margin-bottom: 0rem;
            margin-top: 0rem;
            font-size: 0.8rem;
            color: #646464; }
        .mobile-nav ul > li ul li a .column-text_noicon h4, .mobile-nav ul > li ul li a .column-text_noicon p, .mobile-nav ul > li ul li a .column-text_noicon .generic-p {
          margin-left: 1rem; }
      .mobile-nav ul > li .contact-btn {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 1em 1.4em;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 3px;
        transition: background-color 0.25s ease-out, color 0.25s ease-out;
        font-size: 0.9rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #f44d52;
        color: #ffffff;
        margin: .5rem auto; }
        [data-whatinput='mouse'] .mobile-nav ul > li .contact-btn {
          outline: 0; }
        .mobile-nav ul > li .contact-btn:hover, .mobile-nav ul > li .contact-btn:focus {
          background-color: #f01117;
          color: #ffffff; }
    .mobile-nav ul > li:first-of-type {
      border-top-width: 1px; }
    .mobile-nav ul > li:last-of-type {
      border-bottom-width: 0px; }
    .mobile-nav ul li.menuitem-phone {
      text-align: center;
      padding: 1rem 0; }
      .mobile-nav ul li.menuitem-phone .number {
        font-size: 1.1em;
        font-weight: 600; }
      .mobile-nav ul li.menuitem-phone .phone-icon-svg {
        display: inline-block;
        height: 1.8em;
        width: 1.8em;
        margin-right: .5em;
        vertical-align: middle; }

/*
	
	+++++++++++ BASIC STRUCTURE MAP +++++++++++++
	See this map for a general summary of how the section blocks work.

	| section
		| container
			| content (ROW)		-----OR----  	| icon-group (ROW)
				| content-block:					| icon-block
					|<h2,p,ul styling>					|<h2,p,ul styling>
*/
/*------  START TOC  ------
1. Base Elements
	a. Containers & Spacing
	b. Colors
	c. Texts & Headers
	d. Links
	e. Buttons
	f. Icons / SVG
	g. Borders & Dividers

2. Section Layout
	a. Section Base
	b. Alternate Section Styles

3. Content Layouts
	a. Common Layouts
	b. Content Styles


4. Content-Blocks 
	a. Content-Block Layouts (inside)
	b. Content Block Types (description, image)
	c. Other Block Types (cards, etc)


5. Icon-Group Layouts
	a. Base
	b. Common Layouts
	c. Icon-Block Layouts
	d. Icon-Block Styles

6. Predefined Sections
	
7. Page-Specific Section Classes & Modification


------  END TOC  ------ */
body {
  font-family: 'Open Sans', sans-serif; }
  body #navbar_placeholder {
    height: 52px; }
    @media screen and (min-width: 48.125em) {
      body #navbar_placeholder {
        height: 16px; } }
  @media screen and (min-width: 48.125em) {
    body main#main-content {
      padding-top: 49px; } }

.section-padding-standard, .section, .cta, .testimonials-text, .hero-home, .contact-stripe {
  padding-top: 5rem;
  padding-bottom: 5rem; }
  @media screen and (max-width: 28.0625em) {
    .section-padding-standard, .section, .cta, .testimonials-text, .hero-home, .contact-stripe {
      padding-top: 4rem;
      padding-bottom: 4rem; } }

.container-template, .section .container, .cta .container, .testimonials-text .container, .hero-home .container, .legal-header .container .content, .footer-section .container {
  max-width: 75rem;
  margin: auto; }

.container-padding-standard, .section .container, .cta .container, .testimonials-text .container, .hero-home .container, section.subhero .container, .blog-related-articles_article {
  padding: 0 2rem; }

.font-alternate-1, .taxproblems-subhero .services-picker .service .card .row .column-text h5 a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text h5 a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text h5 a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text h5 a {
  font-family: "Core Sans A", sans-serif; }

h1 {
  margin-bottom: .4rem;
  font-weight: 600; }

h2 {
  font-weight: 600; }

h3 {
  font-weight: 600; }

h4 {
  font-weight: 600; }

.generic-h2, .section .content h2, .cta .content h2, .testimonials-text .content h2, .hero-home .content h2, .contact-stripe .container .header h2, .header_how-can-we-help h2 {
  font-weight: 600; }

.generic-h3, .section .content h3, .cta .content h3, .testimonials-text .content h3, .hero-home .content h3 {
  font-weight: 600;
  letter-spacing: -.02em;
  padding-bottom: .5rem; }

.generic-h4 {
  font-weight: 600;
  letter-spacing: -.02em;
  padding-bottom: .5rem; }

.generic-h5 {
  font-weight: 400;
  padding-bottom: .5rem; }

.h3-alt, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text h3, .taxproblems-business-issues .features-lists .row .category-list ul li.category h3, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category h3, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category h3 {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

.h4-alt, .taxprep-business-section .feature .column-text h4, .taxproblems-personal-issues .feature .row .column-text h4, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text h4, .info-and-contact .content .column-info h4 {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

.h5-alt, .busfin-features-main .features-section .feature .column-text h5, .busfin-benefits-intro .features-section .all-features .feature .column-text h5, .busfin-taxes-solution .section-features .feature .column-text h5 {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

.h6-alt {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

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

.text-size-small {
  font-size: .9rem; }

.text-size-smaller {
  font-size: .8rem; }

a {
  color: #1f4e89; }
  a:hover {
    color: #007dff; }

a.whitelink {
  color: #ffffff; }
  a.whitelink:hover {
    color: #ffffff; }

.link-caret-right::after {
  height: 9px;
  width: 9px; }

.link-caret-right::after {
  -webkit-transform: rotate(45deg) translate3d(0, 0, 0);
  -moz-transform: rotate(45deg) translate3d(0, 0, 0);
  -ms-transform: rotate(45deg) translate3d(0, 0, 0);
  -o-transform: rotate(45deg) translate3d(0, 0, 0);
  transform: rotate(45deg) translate3d(0, 0, 0);
  transition: transform .2s ease-in-out; }

.link-caret-left::after,
.link-caret-right::after,
.link-caret-up::after,
.link-caret-below::after {
  border-top-width: 2px;
  border-top-style: solid;
  border-right-width: 2px;
  border-right-style: solid;
  content: "";
  display: inline-block;
  margin-left: .3rem;
  position: relative;
  pointer-events: none;
  width: 9px;
  height: 9px; }

.button {
  font-family: 'PT Sans', sans-serif;
  font-weight: 500 !important;
  min-height: 3.3rem;
  padding-top: 17px;
  font-size: 1.1rem !important;
  text-transform: none !important; }

.button-hover-solid_blue:hover, .business-overview .card-wrapper .card .hollow:hover {
  background: #0058b3;
  border-color: #0058b3;
  color: #ffffff; }

.button-hover-solid_red:hover {
  background: #e60e15 !important;
  border-color: #e60e15 !important;
  color: #ffffff !important; }

.icon-svg {
  display: inline-block;
  width: 100%;
  height: auto; }

.icon-svg-max {
  display: inline-block;
  width: 100%;
  height: 100%; }

.icon-svg-height-std, .buspr-pay-features .feature .row .column-icon .icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon .icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon .icon, .icon-svg-height-medium, .busfin-plans .cards-row .column-card .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-icon .icon-svg, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon .icon-svg {
  display: inline-block;
  width: 100%;
  height: 7rem; }

.icon-svg-height-xsmall, .taxprep-expert-team .feature .row .column-icon .icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon .icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon .icon {
  display: inline-block;
  width: 100%;
  height: 3rem; }

.icon-svg-height-small, .taxproblems-knowledge-experience .column-graphic .icon {
  display: inline-block;
  width: 100%;
  height: 5rem; }

.icon-svg-height-large, .taxprep-take-care-of-taxes .column-icon .icon-svg {
  display: inline-block;
  width: 100%;
  height: 9rem; }
  @media print, screen and (min-width: 40em) {
    .icon-svg-height-large, .taxprep-take-care-of-taxes .column-icon .icon-svg {
      height: 12rem; } }

.icon-svg-height-xlarge {
  display: inline-block;
  width: 100%;
  height: 12rem; }
  @media print, screen and (min-width: 40em) {
    .icon-svg-height-xlarge {
      height: 15rem; } }

.icon-svg-height-2xlarge, .busregister-register-your-business .column-icon .icon, .busregister-review-issues .column-icon .icon {
  display: inline-block;
  width: 100%;
  height: 15rem; }
  @media print, screen and (min-width: 40em) {
    .icon-svg-height-2xlarge, .busregister-register-your-business .column-icon .icon, .busregister-review-issues .column-icon .icon {
      height: 18rem; } }

.t-bdr-bottom {
  border-bottom-style: solid;
  border-width: 1px;
  border-color: #d6dde3; }

.t-bdr-top, .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
  border-top-style: solid;
  border-width: 1px;
  border-color: #d6dde3; }

.cmn-divider {
  border: solid 1px #e5eaed;
  border-width: 1px 0 0;
  clear: both;
  width: 100%;
  margin-top: .5rem;
  margin-bottom: .5rem;
  height: 0; }

@media screen and (max-width: 46.8125em) {
  .section .container, .cta .container, .testimonials-text .container, .hero-home .container {
    padding-right: 1rem;
    padding-left: 1rem; } }

.section .content, .cta .content, .testimonials-text .content, .hero-home .content {
  padding-top: 2.5rem; }
  @media screen and (max-width: 46.8125em) {
    .section .content, .cta .content, .testimonials-text .content, .hero-home .content {
      padding-top: 1rem; } }

.section .content:first-of-type, .cta .content:first-of-type, .testimonials-text .content:first-of-type, .hero-home .content:first-of-type, .section .content-no_padding, .cta .content-no_padding, .testimonials-text .content-no_padding, .hero-home .content-no_padding {
  padding-top: 0; }

.section .content-small_padding, .cta .content-small_padding, .testimonials-text .content-small_padding, .hero-home .content-small_padding {
  padding-top: 1rem; }

.section .container-nopadding, .cta .container-nopadding, .testimonials-text .container-nopadding, .hero-home .container-nopadding {
  padding-top: 0;
  padding-bottom: 0; }

@media screen and (max-width: 28.0625em) {
  .section .container-nopadding-small .small-12, .cta .container-nopadding-small .small-12, .testimonials-text .container-nopadding-small .small-12, .hero-home .container-nopadding-small .small-12, .section .container-nopadding-small .heading-centered p, .heading-centered .section .container-nopadding-small p, .cta .container-nopadding-small .heading-centered p, .heading-centered .cta .container-nopadding-small p, .testimonials-text .container-nopadding-small .heading-centered p, .heading-centered .testimonials-text .container-nopadding-small p, .hero-home .container-nopadding-small .heading-centered p, .heading-centered .hero-home .container-nopadding-small p, .section .container-nopadding-small .heading-centered .generic-p, .heading-centered .section .container-nopadding-small .generic-p, .cta .container-nopadding-small .heading-centered .generic-p, .heading-centered .cta .container-nopadding-small .generic-p, .testimonials-text .container-nopadding-small .heading-centered .generic-p, .heading-centered .testimonials-text .container-nopadding-small .generic-p, .hero-home .container-nopadding-small .heading-centered .generic-p, .heading-centered .hero-home .container-nopadding-small .generic-p, .section .content .heading-centered .container-nopadding-small p, .cta .content .heading-centered .container-nopadding-small p, .testimonials-text .content .heading-centered .container-nopadding-small p, .hero-home .content .heading-centered .container-nopadding-small p, .section .container-nopadding-small .small-11, .cta .container-nopadding-small .small-11, .testimonials-text .container-nopadding-small .small-11, .hero-home .container-nopadding-small .small-11, .section .container-nopadding-small .small-10, .cta .container-nopadding-small .small-10, .testimonials-text .container-nopadding-small .small-10, .hero-home .container-nopadding-small .small-10 {
    padding: 0rem; } }

.section .content, .cta .content, .testimonials-text .content, .hero-home .content {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  @media screen and (max-width: 28.0625em) {
    .section .content h1, .cta .content h1, .testimonials-text .content h1, .hero-home .content h1, .section .content h2, .cta .content h2, .testimonials-text .content h2, .hero-home .content h2, .section .content h3, .cta .content h3, .testimonials-text .content h3, .hero-home .content h3 {
      text-align: left; } }
  .section .content h2, .cta .content h2, .testimonials-text .content h2, .hero-home .content h2 {
    margin-bottom: 1em; }
    .section .content h2 + .intro.generic-p, .cta .content h2 + .intro.generic-p, .testimonials-text .content h2 + .intro.generic-p, .hero-home .content h2 + .intro.generic-p, .section .content h2 + p.intro, .cta .content h2 + p.intro, .testimonials-text .content h2 + p.intro, .hero-home .content h2 + p.intro {
      font-weight: 600;
      line-height: 1.3em; }
  @media screen and (max-width: 28.0625em) {
    .section .content p p, .cta .content p p, .testimonials-text .content p p, .hero-home .content p p, .section .content .generic-p p, .cta .content .generic-p p, .testimonials-text .content .generic-p p, .hero-home .content .generic-p p, .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .content p p, .section .content p .generic-p, .cta .content p .generic-p, .testimonials-text .content p .generic-p, .hero-home .content p .generic-p, .section .content .generic-p .generic-p, .cta .content .generic-p .generic-p, .testimonials-text .content .generic-p .generic-p, .hero-home .content .generic-p .generic-p, .section .content p .generic-p, .cta .section .content p .generic-p, .section .cta .content p .generic-p, .testimonials-text .section .content p .generic-p, .section .testimonials-text .content p .generic-p, .hero-home .section .content p .generic-p, .section .hero-home .content p .generic-p, .section .cta .content p .generic-p, .cta .section .content p .generic-p, .cta .content p .generic-p, .testimonials-text .cta .content p .generic-p, .cta .testimonials-text .content p .generic-p, .hero-home .cta .content p .generic-p, .cta .hero-home .content p .generic-p, .section .testimonials-text .content p .generic-p, .testimonials-text .section .content p .generic-p, .cta .testimonials-text .content p .generic-p, .testimonials-text .cta .content p .generic-p, .testimonials-text .content p .generic-p, .hero-home .testimonials-text .content p .generic-p, .testimonials-text .hero-home .content p .generic-p, .section .hero-home .content p .generic-p, .hero-home .section .content p .generic-p, .cta .hero-home .content p .generic-p, .hero-home .cta .content p .generic-p, .testimonials-text .hero-home .content p .generic-p, .hero-home .testimonials-text .content p .generic-p, .hero-home .content p .generic-p, .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .content .generic-p p, .cta .section .content .generic-p p, .section .cta .content .generic-p p, .testimonials-text .section .content .generic-p p, .section .testimonials-text .content .generic-p p, .hero-home .section .content .generic-p p, .section .hero-home .content .generic-p p, .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .cta .section .content p p, .section .testimonials-text .cta .content p p, .cta .testimonials-text .section .content p p, .section .cta .testimonials-text .content p p, .hero-home .cta .section .content p p, .section .hero-home .cta .content p p, .cta .hero-home .section .content p p, .section .cta .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .section .content p p, .section .cta .testimonials-text .content p p, .testimonials-text .cta .section .content p p, .section .testimonials-text .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .testimonials-text .section .content p p, .section .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .section .content p p, .section .testimonials-text .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .section .content p p, .section .cta .hero-home .content p p, .hero-home .cta .section .content p p, .section .hero-home .cta .content p p, .testimonials-text .hero-home .section .content p p, .section .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .section .content p p, .section .hero-home .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .cta .content .generic-p p, .cta .section .content .generic-p p, .cta .content .generic-p p, .testimonials-text .cta .content .generic-p p, .cta .testimonials-text .content .generic-p p, .hero-home .cta .content .generic-p p, .cta .hero-home .content .generic-p p, .section .cta .content p p, .cta .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .cta .content p p, .cta .testimonials-text .section .content p p, .section .testimonials-text .cta .content p p, .cta .section .testimonials-text .content p p, .hero-home .section .cta .content p p, .cta .hero-home .section .content p p, .section .hero-home .cta .content p p, .cta .section .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .testimonials-text .cta .content p p, .cta .section .testimonials-text .content p p, .testimonials-text .section .cta .content p p, .cta .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .testimonials-text .cta .content p p, .cta .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .cta .content p p, .cta .testimonials-text .hero-home .content p p, .section .hero-home .cta .content p p, .cta .section .hero-home .content p p, .hero-home .section .cta .content p p, .cta .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .cta .content p p, .cta .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .cta .content p p, .cta .hero-home .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .testimonials-text .content .generic-p p, .testimonials-text .section .content .generic-p p, .cta .testimonials-text .content .generic-p p, .testimonials-text .cta .content .generic-p p, .testimonials-text .content .generic-p p, .hero-home .testimonials-text .content .generic-p p, .testimonials-text .hero-home .content .generic-p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .section .testimonials-text .content p p, .testimonials-text .cta .section .content p p, .section .cta .testimonials-text .content p p, .testimonials-text .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .testimonials-text .content p p, .testimonials-text .hero-home .section .content p p, .section .hero-home .testimonials-text .content p p, .testimonials-text .section .hero-home .content p p, .section .cta .testimonials-text .content p p, .testimonials-text .section .cta .content p p, .cta .section .testimonials-text .content p p, .testimonials-text .cta .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .testimonials-text .content p p, .testimonials-text .hero-home .cta .content p p, .cta .hero-home .testimonials-text .content p p, .testimonials-text .cta .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .hero-home .testimonials-text .content p p, .testimonials-text .section .hero-home .content p p, .hero-home .section .testimonials-text .content p p, .testimonials-text .hero-home .section .content p p, .cta .hero-home .testimonials-text .content p p, .testimonials-text .cta .hero-home .content p p, .hero-home .cta .testimonials-text .content p p, .testimonials-text .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .content p p, .section .hero-home .content .generic-p p, .hero-home .section .content .generic-p p, .cta .hero-home .content .generic-p p, .hero-home .cta .content .generic-p p, .testimonials-text .hero-home .content .generic-p p, .hero-home .testimonials-text .content .generic-p p, .hero-home .content .generic-p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .section .hero-home .content p p, .hero-home .cta .section .content p p, .section .cta .hero-home .content p p, .hero-home .section .cta .content p p, .testimonials-text .section .hero-home .content p p, .hero-home .testimonials-text .section .content p p, .section .testimonials-text .hero-home .content p p, .hero-home .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .cta .hero-home .content p p, .hero-home .section .cta .content p p, .cta .section .hero-home .content p p, .hero-home .cta .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .cta .hero-home .content p p, .hero-home .testimonials-text .cta .content p p, .cta .testimonials-text .hero-home .content p p, .hero-home .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .testimonials-text .hero-home .content p p, .hero-home .section .testimonials-text .content p p, .testimonials-text .section .hero-home .content p p, .hero-home .testimonials-text .section .content p p, .cta .testimonials-text .hero-home .content p p, .hero-home .cta .testimonials-text .content p p, .testimonials-text .cta .hero-home .content p p, .hero-home .testimonials-text .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .content p p {
      text-align: left; } }
  .section .content .generic-p a , .cta .content .generic-p a , .testimonials-text .content .generic-p a , .hero-home .content .generic-p a , .section .content p a , .cta .content p a , .testimonials-text .content p a , .hero-home .content p a {
    border-bottom: 1px dotted #1f4e89; }
    .section .content .generic-p a :hover, .cta .content .generic-p a :hover, .testimonials-text .content .generic-p a :hover, .hero-home .content .generic-p a :hover, .section .content p a :hover, .cta .content p a :hover, .testimonials-text .content p a :hover, .hero-home .content p a :hover {
      border-bottom-color: #007dff; }
  .section .content no dotted border under these button classes .icon-block > a, .cta .content no dotted border under these button classes .icon-block > a, .testimonials-text .content no dotted border under these button classes .icon-block > a, .hero-home .content no dotted border under these button classes .icon-block > a {
    border-bottom: none; }
  .section .content .button, .cta .content .button, .testimonials-text .content .button, .hero-home .content .button {
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: -.0em;
    font-weight: 500;
    margin-top: 1rem; }

@media screen and (max-width: 28.0625em) {
  .t-mr-tm {
    margin-top: 1rem !important; }
  .t-mr-tm-2 {
    margin-top: 2rem !important; }
  .pdngtpnone {
    padding-top: 0 !important; }
  .pdngbtmnone {
    padding-bottom: 0 !important; } }

.reveal-overlay {
  z-index: 9999; }

section p:last-child, section .generic-p:last-child, section .section .content p:last-child, .section .content section p:last-child, section .cta .content p:last-child, .cta .content section p:last-child, section .testimonials-text .content p:last-child, .testimonials-text .content section p:last-child, section .hero-home .content p:last-child, .hero-home .content section p:last-child, article p:last-child, article .generic-p:last-child, article .section .content p:last-child, .section .content article p:last-child, article .cta .content p:last-child, .cta .content article p:last-child, article .testimonials-text .content p:last-child, .testimonials-text .content article p:last-child, article .hero-home .content p:last-child, .hero-home .content article p:last-child {
  padding-bottom: 0rem;
  margin-bottom: 0rem; }

.section-white {
  background: #ffffff !important; }

.section-gray {
  background: #fafafa; }

.section-gray-2 {
  background: #ededed; }

.section-blue {
  background: #0095ff;
  color: #ffffff; }

.section-nobg {
  background: none; }

.section-bg-gradient-gray {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#eeeeee+0,fafafa+54 */
  background: #eeeeee;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #eeeeee 0%, #fafafa 54%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, #eeeeee 0%, #fafafa 54%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #eeeeee 0%, #fafafa 54%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#fafafa', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */ }

.section-bg-gradient-blue-gray {
  background: #8e9eab !important;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ }

.section-border-gray {
  border-top: solid 1px #fafafa; }

@media print, screen and (min-width: 40em) {
  .section .content-centered, .cta .content-centered, .testimonials-text .content-centered, .hero-home .content-centered {
    text-align: center; } }

@media print, screen and (min-width: 40em) {
  .section .content-centered .content-block, .cta .content-centered .content-block, .testimonials-text .content-centered .content-block, .hero-home .content-centered .content-block {
    text-align: center; } }

.section .content-centered .content-block p, .cta .content-centered .content-block p, .testimonials-text .content-centered .content-block p, .hero-home .content-centered .content-block p, .section .content-centered .content-block .generic-p, .cta .content-centered .content-block .generic-p, .testimonials-text .content-centered .content-block .generic-p, .hero-home .content-centered .content-block .generic-p {
  margin-left: auto;
  margin-right: auto; }

.section .content-centered_all, .cta .content-centered_all, .testimonials-text .content-centered_all, .hero-home .content-centered_all {
  text-align: center; }

.callout, .section-callout {
  border: 0; }

.content-highlight-box-blue {
  background: rgba(0, 149, 255, 0.05);
  border: solid 1px #0095ff; }

.content-highlight-box-green {
  background: rgba(19, 213, 138, 0.05);
  border: solid 1px #13d58a; }

.content-highlight-outline-gray {
  border: solid 1px #b7b7b7;
  border-width: 0 1px; }

.content-highlight-top-bottom-gray {
  border: solid 1px #ededed;
  border-width: 1px 0; }

.heading p, .heading .generic-p, .heading .section .content p, .section .content .heading p, .heading .cta .content p, .cta .content .heading p, .heading .testimonials-text .content p, .testimonials-text .content .heading p, .heading .hero-home .content p, .hero-home .content .heading p {
  padding-bottom: 1rem; }

.heading-centered p, .heading-centered .generic-p, .heading-centered .section .content p, .section .content .heading-centered p, .heading-centered .cta .content p, .cta .content .heading-centered p, .heading-centered .testimonials-text .content p, .testimonials-text .content .heading-centered p, .heading-centered .hero-home .content p, .hero-home .content .heading-centered p {
  margin-left: auto;
  margin-right: auto; }

.description {
  padding: 1rem 1rem; }
  @media print, screen and (min-width: 40em) {
    .description {
      padding: 2rem 1rem; } }

.graphic {
  padding: 1.5rem; }

.graphic_small, .busregister-plan-organize .column-icon {
  padding: 1rem; }

.card-wrapper {
  margin-bottom: 1rem; }

.card {
  border-radius: 10px;
  border: solid 1px #d6dde3;
  background-color: #fff;
  padding: 1rem 2rem; }
  @media screen and (max-width: 28.0625em) {
    .card {
      padding: 1rem 1.5rem; } }
  .card .card-section {
    padding: 0; }
  .card .column-text p, .card .column-text .generic-p {
    font-size: .9rem; }

.card-hover-highlight:hover {
  border-color: #99abba;
  box-shadow: 0 18px 40px -10px rgba(0, 0, 0, 0.18);
  -webkit-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out; }

@media screen and (min-width: 40em) and (max-width: 46.8125em) {
  .card-medium-sideways {
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem; }
    .card-medium-sideways .icon-svg {
      height: 10rem;
      margin-left: -1rem; } }

.base-services-picker .services-group, .buspr-features-picker .services-group, .busmoveusa-additional-services .services-group, .busfin-features-picker .services-group {
  padding: 1rem 0 0; }

.base-services-picker .service-card, .buspr-features-picker .service-card, .busmoveusa-additional-services .service-card, .busfin-features-picker .service-card {
  position: relative; }
  .base-services-picker .service-card svg, .buspr-features-picker .service-card svg, .busmoveusa-additional-services .service-card svg, .busfin-features-picker .service-card svg {
    width: 100%;
    height: 4rem; }

.base-services-picker .card-link, .buspr-features-picker .card-link, .busmoveusa-additional-services .card-link, .busfin-features-picker .card-link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block; }

.icon-group-1 .icon-block {
  text-align: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }
  .icon-group-1 .icon-block a {
    border-bottom: none !important; }
  .icon-group-1 .icon-block h5 {
    margin-bottom: 0;
    padding-bottom: .25rem; }
    .icon-group-1 .icon-block h5 span {
      border-bottom: 1px dotted #1f4e89;
      font-size: .8rem; }
      .icon-group-1 .icon-block h5 span:hover {
        border-bottom-color: #007dff; }
  .icon-group-1 .icon-block p, .icon-group-1 .icon-block .generic-p {
    padding-top: 0em;
    font-size: .65em;
    color: #7d7d7d; }
  .icon-group-1 .icon-block .icon-svg {
    height: 6rem; }
    @media print, screen and (min-width: 40em) {
      .icon-group-1 .icon-block .icon-svg {
        height: 7rem; } }
  .icon-group-1 .icon-block .icon-block-contentrow .text-inner {
    text-align: left; }

.icon-group {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap;
  width: 100%; }
  .icon-group .icon-block {
    text-align: center;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
    .icon-group .icon-block h5 {
      margin-bottom: 0;
      padding-bottom: .25rem; }
      .icon-group .icon-block h5 span {
        border-bottom: 1px dotted #1f4e89;
        font-size: .8rem; }
        .icon-group .icon-block h5 span:hover {
          border-bottom-color: #007dff; }
    .icon-group .icon-block p, .icon-group .icon-block .generic-p {
      padding-top: 0em;
      font-size: .65em;
      color: #7d7d7d; }
    .icon-group .icon-block .icon-svg {
      height: 6rem; }
      @media print, screen and (min-width: 40em) {
        .icon-group .icon-block .icon-svg {
          height: 7rem; } }
    .icon-group .icon-block .icon-block-contentrow {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap; }
      .icon-group .icon-block .icon-block-contentrow .text-inner {
        text-align: left; }

/* .icon-block-2 {
		@include flex-grid-column;
		text-align: center;
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
		h5 {
			margin-bottom: 0;
			padding-bottom: .25rem;
			a {
				@include link-dotted-underline;
			}
		}
		p {
			//padding: 0 1em;
			padding-top: 0em;
			font-size: .65em;
			color: $gray-dark-1;
		}
		.icon-svg {
			height: 6rem;
			@include breakpoint(medium) {
				height: 7rem;
			}
			@include breakpoint(medium-plus) {
				// height: 8rem;
			}
			@include breakpoint(large) {
				//height: 9rem;
			}
		} //
		.icon-block-contentrow {
			@include flex-grid-row;
			.text-inner {
				text-align: left;
			}
		}
	}  */
#billboard {
  color: #f30; }

section.subhero .content-block {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    section.subhero .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    section.subhero .content-block {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    section.subhero .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  section.subhero .content-block p, section.subhero .content-block .generic-p {
    margin-bottom: .25rem; }

.hero-generic-background-layered, .hero, .legal-header {
  background: url("/resources/img/p4_@2X.png");
  background-repeat: repeat; }
  .hero-generic-background-layered .container, .hero .container, .legal-header .container {
    max-width: none;
    background: linear-gradient(135deg, rgba(0, 95, 191, 0.85) 0%, rgba(0, 125, 255, 0.85) 36%, rgba(0, 125, 255, 0.85) 63%, rgba(0, 76, 183, 0.85) 100%); }

@media screen and (max-width: 28.0625em) {
  .hero .container {
    padding-bottom: 2rem; } }

.hero .content {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: center; }

.hero .hero-content {
  text-align: center;
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  padding-top: 3rem;
  padding-bottom: 2rem; }
  @media print, screen and (min-width: 40em) {
    .hero .hero-content {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .hero .hero-content {
      padding-top: 4rem;
      padding-bottom: 5rem; } }
  .hero .hero-content p, .hero .hero-content .generic-p {
    text-align: center; }
  .hero .hero-content .pagename {
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
    font-size: .6rem;
    border: solid 1px rgba(255, 255, 255, 0.2);
    border-width: 0px;
    border-width: 1px 0px;
    padding: .3rem .5rem; }
  .hero .hero-content .pageicon {
    width: auto;
    height: 5rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    margin-bottom: 1rem; }
  .hero .hero-content h1 {
    margin-top: 1rem;
    color: #ffffff;
    /* font-size: 2rem; */
    border: solid 1px rgba(255, 255, 255, 0.2);
    border-width: 1px 0px;
    border-width: 0px;
    padding: .3rem .5rem;
    text-align: center !important; }
    @media screen and (max-width: 28.0625em) {
      .hero .hero-content h1 {
        padding: 0 0 1rem; } }
  .hero .hero-content p, .hero .hero-content .generic-p {
    color: #fafafa;
    font-weight: 300;
    padding: 0 10%; }
    @media screen and (max-width: 28.0625em) {
      .hero .hero-content p, .hero .hero-content .generic-p {
        padding: 0 1rem; } }

.hero-small .hero-content {
  padding-top: 3rem;
  padding-bottom: 2rem; }
  @media print, screen and (min-width: 40em) {
    .hero-small .hero-content {
      padding-top: 2rem !important;
      padding-bottom: 2rem !important; } }

.cta {
  background: linear-gradient(50deg, #1988ff, #25acca); }
  .cta .container .content {
    color: #ffffff;
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap; }
    .cta .container .content .content-block {
      text-align: center;
      flex: 1 1 0px;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      min-width: 0; }
      @media print, screen and (min-width: 40em) {
        .cta .container .content .content-block {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .cta .container .content .content-block {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .cta .container .content .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .cta .container .content .info-link {
      margin-left: .5rem; }

.pride-bar {
  background: #fafafa;
  background: #ededed;
  color: #7d7d7d;
  font-weight: 300;
  padding: .5rem 0;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  @media screen and (max-width: 28.0625em) {
    .pride-bar .container .content {
      padding-top: 0.8rem;
      padding-bottom: 0.5rem; } }
  .pride-bar .container .content .description {
    font-size: 1.4rem;
    font-size: 1rem; }
    .pride-bar .container .content .description h4 {
      font-weight: 400 !important; }
      @media screen and (max-width: 28.0625em) {
        .pride-bar .container .content .description h4 {
          font-size: 1rem; } }
  .pride-bar .container .content .graphic {
    float: right;
    padding-left: 0;
    padding-right: 0; }
    @media print, screen and (min-width: 40em) {
      .pride-bar .container .content .graphic {
        padding-right: .5rem; } }
    @media screen and (max-width: 28.0625em) {
      .pride-bar .container .content .graphic {
        padding-top: 0rem; } }
  .pride-bar .container .content .medal-icon svg {
    height: 3rem;
    width: 3rem; }
  .pride-bar .container .content-stacked .description,
  .pride-bar .container .content-stacked .graphic {
    text-align: center; }

.testimonials-text {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background: #fafafa; }
  .testimonials-text .container {
    padding-top: 3rem;
    padding-bottom: 3rem; }
    .testimonials-text .container .content {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap; }
      .testimonials-text .container .content .quote .generic-p, .testimonials-text .container .content .quote p {
        font-size: 1.2rem;
        font-weight: 300;
        line-height: 2;
        padding: 1em 1em .5em; }
      .testimonials-text .container .content .profile {
        padding-top: 2rem; }
        .testimonials-text .container .content .profile .pic .person-pic {
          display: inline-block;
          width: auto;
          height: 5rem;
          border-radius: 50%; }
        .testimonials-text .container .content .profile .info {
          text-align: left; }
          .testimonials-text .container .content .profile .info .generic-p, .testimonials-text .container .content .profile .info p {
            padding: 0;
            margin: 0; }
            .testimonials-text .container .content .profile .info .name.generic-p, .testimonials-text .container .content .profile .info p.name {
              font-weight: 500; }

.seamlessly-integrated-business-services {
  background: #8e9eab !important;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ }
  .seamlessly-integrated-business-services .bus-addl-services-picker {
    padding-top: 0 !important; }
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: 1rem; }
      @media print, screen and (min-width: 40em) {
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card {
        background-color: #fff;
        border-radius: 4px;
        box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
        padding: 1rem 0; }
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
              flex: 0 0 33.33333%;
              max-width: 33.33333%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
              flex: 0 0 66.66667%;
              max-width: 66.66667%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
          .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text h3 {
            font-size: .9em; }
          .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text p, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text .generic-p {
            font-size: .9em;
            margin: 0; }

form.form-contact, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper {
  padding-top: 2rem;
  padding-bottom: 1rem; }
  form.form-contact input, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper input {
    border-width: 0 0 1px;
    border-radius: 0;
    box-shadow: none; }
    form.form-contact input::placeholder, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper input::placeholder {
      color: #cccccc; }
  form.form-contact textarea, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea {
    border-radius: 0;
    box-shadow: none; }
  form.form-contact textarea#description, form.form-contact textarea.mauticform-textarea, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea#description, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea.mauticform-textarea {
    margin-top: .2rem;
    border-width: 0 0 1px 0; }
    form.form-contact textarea#description:active, form.form-contact textarea#description:focus, form.form-contact textarea#description:valid, form.form-contact textarea.mauticform-textarea:active, form.form-contact textarea.mauticform-textarea:focus, form.form-contact textarea.mauticform-textarea:valid, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea#description:active, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea#description:focus, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea#description:valid, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea.mauticform-textarea:active, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea.mauticform-textarea:focus, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea.mauticform-textarea:valid {
      min-height: 6rem; }
    form.form-contact textarea#description:active, form.form-contact textarea#description:focus, form.form-contact textarea.mauticform-textarea:active, form.form-contact textarea.mauticform-textarea:focus, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea#description:active, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea#description:focus, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea.mauticform-textarea:active, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea.mauticform-textarea:focus {
      border-width: 1px; }
    form.form-contact textarea#description::placeholder, form.form-contact textarea.mauticform-textarea::placeholder, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea#description::placeholder, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper textarea.mauticform-textarea::placeholder {
      position: absolute;
      bottom: 1rem; }
  form.form-contact input#dontFillThisOut, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper input#dontFillThisOut {
    display: none; }
  form.form-contact span.mauticform-helpmessage, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper span.mauticform-helpmessage {
    color: #0a0a0a; }
  form.form-contact span.mauticform-errormsg, .mauticform_wrapper .mauticform-innerform .mauticform-page-wrapper span.mauticform-errormsg {
    color: #f44d52;
    font-size: .8em;
    display: block;
    margin-top: -16px;
    padding-left: .25rem;
    padding-bottom: .5rem; }

.contact-stripe {
  background: linear-gradient(45deg, #0078f9, #3cbedb); }
  .contact-stripe .container .content {
    text-align: center;
    color: #ffffff;
    padding-top: 0; }
  .contact-stripe .container .header {
    padding-bottom: 1rem; }
    .contact-stripe .container .header p, .contact-stripe .container .header .generic-p {
      font-size: 1.2em;
      line-height: 1.4; }
      .contact-stripe .container .header p .ts-phone, .contact-stripe .container .header .generic-p .ts-phone {
        white-space: nowrap;
        font-size: 1.5em;
        margin-left: 4px;
        font-weight: 600; }
      .contact-stripe .container .header p .ts-phone-star, .contact-stripe .container .header .generic-p .ts-phone-star {
        position: relative;
        font-size: .7em;
        top: -.7em;
        line-height: 0;
        vertical-align: baseline; }
      .contact-stripe .container .header p a, .contact-stripe .container .header .generic-p a {
        color: #04376a; }
        .contact-stripe .container .header p a:hover, .contact-stripe .container .header .generic-p a:hover {
          color: #b60b10;
          border-bottom-color: #b60b10; }
    .contact-stripe .container .header h2, .contact-stripe .container .header p, .contact-stripe .container .header .generic-p {
      text-align: center; }
  .contact-stripe .container .ts-hours {
    text-align: center;
    margin-top: 2rem; }
    .contact-stripe .container .ts-hours > a {
      color: #16365f;
      border-bottom: dotted 1px; }
      .contact-stripe .container .ts-hours > a:hover {
        color: #ededed; }
  .contact-stripe .container .ts-directions {
    text-align: center; }
  .contact-stripe .container .form-wrapper {
    background: #ffffff;
    border-radius: 4px;
    text-align: left;
    box-shadow: 0 18px 40px -10px rgba(0, 0, 0, 0.18);
    margin-top: 1rem; }
    .contact-stripe .container .form-wrapper .sidebar, .contact-stripe .container .form-wrapper .contact-form-container {
      padding-top: 2rem;
      padding-bottom: 1rem; }
    .contact-stripe .container .form-wrapper .sidebar {
      color: #e6e6e6;
      background: linear-gradient(to bottom right, #1f4e89, #076acd);
      border-top-left-radius: 4px;
      border-bottom-left-radius: 4px; }
      @media screen and (max-width: 28.0625em) {
        .contact-stripe .container .form-wrapper .sidebar {
          padding-top: 1.5rem;
          padding-bottom: .5rem;
          border-top-right-radius: 4px;
          border-bottom-left-radius: 0px; } }
      @media screen and (max-width: 28.0625em) {
        .contact-stripe .container .form-wrapper .sidebar hr {
          margin-top: 1rem;
          margin-bottom: 1rem; } }
  .contact-stripe .contact-content {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap;
    color: #ffffff; }
    .contact-stripe .contact-content .contact-content-block {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .contact-stripe .contact-content .contact-content-block {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .contact-stripe .contact-content .contact-content-block {
          flex: 0 0 33.33333%;
          max-width: 33.33333%;
          padding-right: 0;
          padding-left: 0; } }
      .contact-stripe .contact-content .contact-content-block:before {
        border-width: 10px;
        height: 10px;
        border-bottom-style: solid;
        content: " ";
        width: calc(100% + 2px);
        display: block;
        margin: 0 -1px;
        border-color: #007dff; }
      .contact-stripe .contact-content .contact-content-block > .content-inner {
        background-color: #ffffff;
        border: solid 1px #ededed;
        padding: 2rem 2rem;
        color: #1f4e89;
        color: #0a0a0a;
        text-align: center;
        min-height: 15rem; }
        .contact-stripe .contact-content .contact-content-block > .content-inner h4 {
          font-size: 1.5rem;
          font-weight: 500; }
        .contact-stripe .contact-content .contact-content-block > .content-inner .button {
          font-weight: 500;
          text-transform: uppercase; }
      .contact-stripe .contact-content .contact-content-block p, .contact-stripe .contact-content .contact-content-block .generic-p {
        font-size: .8rem;
        letter-spacing: .006em; }
  @media print, screen and (min-width: 40em) {
    .contact-stripe .phone {
      text-align: left; } }

/*  
	
	----- HOME PAGE -------
	

	+++++++++++ BASIC STRUCTURE MAP +++++++++++++
	See this map for a general summary of how the section blocks work.

	| section
		| container
			| content (ROW)		-----OR----  	| icon-group (ROW)
				| content-block:					| icon-block
					|<h2,p,ul styling>					|<h2,p,ul styling>
*/
.hero-home {
  background-image: url("/resources/img/header-background.jpg");
  background-repeat: no-repeat;
  overflow: hidden;
  padding: 0;
  position: relative; }
  .hero-home .fullscreen-bg__video {
    position: absolute;
    left: 0;
    height: 100%; }
  .hero-home .button.primary.business-blue.large {
    border: 1pt solid #8ec1f3; }
  .hero-home .container {
    height: 100%;
    min-height: 250px;
    max-width: none;
    background-image: url("/resources/img/header-billboard-3.jpg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding-top: 3rem;
    padding-bottom: 3rem; }
    @media screen and (min-width: 75em) {
      .hero-home .container {
        background-size: 100% auto; } }
    @media print, screen and (min-width: 40em) {
      .hero-home .container {
        min-height: 32rem;
        padding-top: 6.5rem;
        padding-bottom: 3.5rem; } }
    .hero-home .container .content .content-block {
      color: #ffffff; }
      @media screen and (max-width: 46.8125em) {
        .hero-home .container .content .content-block {
          text-align: center; }
          .hero-home .container .content .content-block h1 {
            text-align: center; } }
      .hero-home .container .content .content-block .generic-p, .hero-home .container .content .content-block p {
        padding-top: 1em; }
      .hero-home .container .content .content-block a.whitelink {
        border-bottom: 1px dotted #ffffff;
        text-transform: none;
        background: transparent; }
        .hero-home .container .content .content-block a.whitelink:hover {
          border-bottom-color: #ffffff; }
        .hero-home .container .content .content-block a.whitelink:hover {
          -webkit-transition: all .3s ease-in;
          -o-transition: all .3s ease-in;
          transition: all .3s ease-in; }

/*
	.home-subhero-services {
		.icon-group {
			@include breakpoint(medium-plus) {
				padding-left: 8%;
				padding-right: 8%;
			}
			@include breakpoint(large) {
				padding-left: 12%;
				padding-right: 12%;
			}
		}
		.icon-block {
			padding-top: 1rem;
			&:last-of-type {
				padding-bottom: 3rem;
			}
			@include breakpoint(medium) {
				padding-bottom: 3rem;
			} //background: rgba(90,90,90,.3);
			.button-wrapper {
				padding: 1rem;
				border: solid 1px #eaeaea;
			}
			h5 {
				@extend .generic-h5; // font-size: .9rem;
				padding-bottom: 0;
				min-height: 0;
				@include breakpoint(medium) {
					min-height: 35px;
				}
				@include breakpoint(850px) {
					min-height: 0px;
				}
			}
			.btn {
				//display: none;
				//@extend .hollow;
				@extend .button;
				@extend .primary;
				&:hover {
					background-color: $blue-primary;
				}
				margin-top: 0rem;
				margin-bottom: 0; // padding: .75rem;
				font-size: .75rem; // min-width: 7rem;
				text-transform: uppercase;
			}
		}
	}
	*/
.home-taxprep-section {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem; }
  .home-taxprep-section .container {
    background-position: right 1rem;
    background-position: 3rem 1rem;
    background-repeat: no-repeat;
    background-size: contain;
    padding-bottom: 0; }
  .home-taxprep-section .description {
    padding: 0rem 2rem; }
  .home-taxprep-section .graphic {
    text-align: center;
    padding-top: 0; }
    @media print, screen and (min-width: 46.875em) {
      .home-taxprep-section .graphic {
        padding-top: 1.5rem; } }
    .home-taxprep-section .graphic .circle img {
      width: auto;
      height: 13rem; }
      @media screen and (min-width: 40em) and (max-width: 46.8125em) {
        .home-taxprep-section .graphic .circle img {
          height: 18rem; } }
      @media print, screen and (min-width: 46.875em) {
        .home-taxprep-section .graphic .circle img {
          height: 27rem; } }

.home-business .container-cards {
  padding: 1rem 1rem 0rem; }
  @media print, screen and (min-width: 40em) {
    .home-business .container-cards {
      padding: 0rem 1rem 3rem; } }
  @media screen and (max-width: 28.0625em) {
    .home-business .container-cards .card .card-section .icon-svg {
      height: 7rem; } }
  @media screen and (min-width: 40em) and (max-width: 46.8125em) {
    .home-business .container-cards .card .card-section .icon-payroll {
      height: 9rem; } }
  .home-business .container-cards .card .button:hover {
    background: #0058b3;
    border-color: #0058b3;
    color: #ffffff; }

.home-business-services .container {
  padding-left: 0;
  padding-right: 0; }
  .home-business-services .container .business-icons {
    padding-top: .5rem;
    padding-bottom: 1.5rem; }

.home-taxproblems-bus-personal {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background-image: url("/resources/img/p4.png"); }
  .home-taxproblems-bus-personal .container {
    max-width: none;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#0064cc+0,0064cc+100&1+0,0+29,0+65,1+100 */ }
    @media print, screen and (min-width: 46.875em) {
      .home-taxproblems-bus-personal .container div.content-highlight-box-red {
        color: #233A52;
        border-bottom: 1pt solid #F44D52;
        background: #ffff; } }
  .home-taxproblems-bus-personal .content {
    max-width: 71rem;
    background-position: -10rem bottom;
    background-repeat: no-repeat;
    background-size: 150% 100%; }
    @media screen and (min-width: 53.125em) {
      .home-taxproblems-bus-personal .content {
        background-size: contain;
        background-position: right bottom; } }
    .home-taxproblems-bus-personal .content .description {
      padding: 2rem;
      margin-top: 3rem; }
      @media screen and (max-width: 28.0625em) {
        .home-taxproblems-bus-personal .content .description {
          margin-top: 3rem;
          padding: 0rem; } }
    .home-taxproblems-bus-personal .content .graphic {
      text-align: center; }
      .home-taxproblems-bus-personal .content .graphic .pic {
        width: auto;
        height: 13rem;
        margin-bottom: -1.5rem; }
        @media print, screen and (min-width: 46.875em) {
          .home-taxproblems-bus-personal .content .graphic .pic {
            height: 25rem; } }
        @media screen and (min-width: 40em) and (max-width: 46.8125em) {
          .home-taxproblems-bus-personal .content .graphic .pic {
            height: 18rem; } }
      .home-taxproblems-bus-personal .content .graphic .svg-icon {
        height: 100%; }

@media screen and (min-width: 40em) and (max-width: 46.8125em) {
  .language-select {
    display: flex;
    margin-top: 0.75rem; } }

@media only screen and (max-width: 40em) {
  #exampleModal11 {
    top: 3.5rem !important; }
  .language-select {
    display: flex;
    margin-top: 0.75rem; }
  .icon-contact {
    padding: 0.2rem; } }

@media only screen and (min-width: 40em) {
  #mobile-nav {
    display: none; } }

@media screen and (max-width: 28.0625em) {
  .margintopnoneS {
    margin-top: 0 !important;
    padding-top: 0 !important; } }

#firstModalTitle {
  text-align: center;
  padding-bottom: 2rem; }

.modal-contact-form .small-12.columns, .modal-contact-form .heading-centered p.columns, .heading-centered .modal-contact-form p.columns, .modal-contact-form .heading-centered .columns.generic-p, .heading-centered .modal-contact-form .columns.generic-p {
  padding: 0rem; }

.modal-contact-form .textare {
  margin-top: 2rem;
  padding: 0rem; }

.modal-contact-form h3 {
  margin-top: 2rem;
  line-height: 0.9rem;
  margin-bottom: 0rem;
  font-weight: normal !important; }

.modal-contact-form .align-center, .modal-contact-form .cta .container .content, .cta .container .modal-contact-form .content, .modal-contact-form .taxprep-services-picker .features-section .features-row .feature .row, .taxprep-services-picker .features-section .features-row .feature .modal-contact-form .row, .modal-contact-form .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature .modal-contact-form ul, .modal-contact-form .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature .modal-contact-form ul, .modal-contact-form .taxprep-take-care-of-taxes .feature .row, .taxprep-take-care-of-taxes .feature .modal-contact-form .row, .modal-contact-form .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature .modal-contact-form ul, .modal-contact-form .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .all-features .row, .taxprep-expert-team .all-features .modal-contact-form .row, .modal-contact-form .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .feature .row, .taxprep-expert-team .feature .modal-contact-form .row, .modal-contact-form .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature .modal-contact-form ul, .modal-contact-form .taxprep-business-section .feature .row, .taxprep-business-section .feature .modal-contact-form .row, .modal-contact-form .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature .modal-contact-form ul, .modal-contact-form .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature .modal-contact-form ul, .modal-contact-form .buspr-features-picker .services-group .card-wrapper .card-section, .buspr-features-picker .services-group .card-wrapper .modal-contact-form .card-section, .modal-contact-form .buspr-guidance-assistance .feature-row .feature .icon-row, .buspr-guidance-assistance .feature-row .feature .modal-contact-form .icon-row, .modal-contact-form .busregister-plan-organize .header-section, .busregister-plan-organize .modal-contact-form .header-section, .modal-contact-form .busregister-plan-organize .features-row .feature .row, .busregister-plan-organize .features-row .feature .modal-contact-form .row, .modal-contact-form .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature .modal-contact-form ul, .modal-contact-form .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature .modal-contact-form ul, .modal-contact-form .busfin-benefits-intro .features-section .all-features .features-row, .busfin-benefits-intro .features-section .all-features .modal-contact-form .features-row, .modal-contact-form .busfin-manage .all-features .row, .busfin-manage .all-features .modal-contact-form .row, .modal-contact-form .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features .modal-contact-form ul, .modal-contact-form .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .all-features .row, .busfin-team .features-section .all-features .modal-contact-form .row, .modal-contact-form .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .feature .row, .busfin-team .features-section .feature .modal-contact-form .row, .modal-contact-form .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature .modal-contact-form ul, .modal-contact-form .taxproblems-subhero .services-picker, .taxproblems-subhero .modal-contact-form .services-picker, .modal-contact-form .taxproblems-subhero .services-picker .service .card .row, .taxproblems-subhero .services-picker .service .card .modal-contact-form .row, .modal-contact-form .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card .modal-contact-form ul, .modal-contact-form .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card .modal-contact-form ul, .modal-contact-form .taxproblems-knowledge-experience .feature .row, .taxproblems-knowledge-experience .feature .modal-contact-form .row, .modal-contact-form .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature .modal-contact-form ul, .modal-contact-form .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature .modal-contact-form ul, .modal-contact-form .taxproblems-personal-issues .features-row, .taxproblems-personal-issues .modal-contact-form .features-row, .modal-contact-form .taxproblems-personal-issues .feature .row, .taxproblems-personal-issues .feature .modal-contact-form .row, .modal-contact-form .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature .modal-contact-form ul, .modal-contact-form .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature .modal-contact-form ul, .modal-contact-form .blog-related-articles_article {
  text-align: center; }

.modal-contact-form p, .modal-contact-form .generic-p, .modal-contact-form .section .content p, .section .content .modal-contact-form p, .modal-contact-form .cta .content p, .cta .content .modal-contact-form p, .modal-contact-form .testimonials-text .content p, .testimonials-text .content .modal-contact-form p, .modal-contact-form .hero-home .content p, .hero-home .content .modal-contact-form p {
  font-size: .9rem !important;
  margin-top: 0px;
  padding-top: 0px; }

.modal-contact-form label > [type='checkbox'] {
  opacity: 0;
  position: absolute; }

.modal-contact-form .icon-svg {
  height: 5rem;
  padding-top: 1rem; }

.modal-contact-form .icon-contact {
  text-align: center;
  min-height: 10rem; }
  .modal-contact-form .icon-contact label {
    line-height: 1.2rem;
    cursor: pointer;
    height: 8.5rem;
    border: 1pt solid #c0dcf7;
    border-radius: 0.3rem; }
    .modal-contact-form .icon-contact label:hover svg {
      transition: all .3s ease; }

.taxprep-hero {
  background: none;
  background: linear-gradient(135deg, rgba(0, 95, 191, 0.1) 0%, rgba(0, 125, 255, 0.1) 36%, rgba(0, 125, 255, 0.1) 63%, rgba(0, 76, 183, 0.1) 100%);
  background: linear-gradient(135deg, #005fbf 0%, #007dff 36%, #007dff 63%, #004cb7 100%); }
  .taxprep-hero .hero-content {
    width: 100%;
    max-width: 100%; }
  .taxprep-hero .container {
    background-image: url("/resources/img/taxprep_bg_pattern_dark.svg");
    background-size: 160px auto; }
    .taxprep-hero .container h1 {
      font-weight: 600; }

@media screen and (max-width: 28.0625em) {
  .taxprep-services-picker {
    padding-top: 4rem;
    padding-bottom: 4rem; } }

.taxprep-services-picker .features-section .graphic {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-bottom: 2rem;
  padding-top: 0;
  padding-bottom: 0;
  background-color: #fafafa;
  background-color: #fbfcfe;
  background-image: url("/resources/img/taxprep_bg_pattern.svg");
  background-repeat: repeat;
  background-size: 120px auto; }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-services-picker .features-section .graphic {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-services-picker .features-section .graphic img {
    height: 15rem;
    z-index: 10 !important; }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .graphic img {
        height: 21rem; } }

.taxprep-services-picker .features-section .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .all-features {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-services-picker .features-section .all-features {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .taxprep-services-picker .features-section .all-features {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0;
      padding-left: 0; } }

.taxprep-services-picker .features-section .features-row .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-services-picker .features-section .features-row .feature .card {
    padding-left: 1rem;
    padding-right: 1rem;
    position: relative;
    -webkit-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
    @media screen and (max-width: 39.9375em) {
      .taxprep-services-picker .features-section .features-row .feature .card {
        padding-top: .5rem;
        padding-bottom: .5rem; } }
    .taxprep-services-picker .features-section .features-row .feature .card:hover {
      background: #F4F9FF;
      border-color: #9EAEBC; }
      .taxprep-services-picker .features-section .features-row .feature .card:hover .card-section {
        padding-top: 1.0rem; }
    .taxprep-services-picker .features-section .features-row .feature .card .card-link {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      display: block; }
  .taxprep-services-picker .features-section .features-row .feature .row .column-icon, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-icon, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-icon, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; } }
  .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-services-picker .features-section .features-row .feature .row .column-icon .icon-svg, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon .icon-svg {
    width: 100%;
    height: 4rem; }
  .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
    text-align: left; }

.taxprep-take-care-of-taxes {
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-image: url("/resources/img/taxprep_bg_pattern_dark.svg");
  background-size: 160px auto; }
  .taxprep-take-care-of-taxes .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background: rgba(255, 255, 255, 0.65); }
  .taxprep-take-care-of-taxes .features-section .graphic {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    padding-top: 0rem;
    padding-bottom: 3rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .features-section .graphic {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .features-section .graphic {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0;
        padding-left: 0;
        padding-bottom: 0rem; } }
    @media screen and (min-width: 46.875em) and (max-width: 63.9375em) {
      .taxprep-take-care-of-taxes .features-section .graphic {
        padding-right: 1rem; } }
    .taxprep-take-care-of-taxes .features-section .graphic .taxprep_lady {
      width: auto;
      height: 15rem; }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-take-care-of-taxes .features-section .graphic .taxprep_lady {
          height: 21rem; } }
      @media print, screen and (min-width: 64em) {
        .taxprep-take-care-of-taxes .features-section .graphic .taxprep_lady {
          height: 23rem; } }
  .taxprep-take-care-of-taxes .features-section .all-features {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .features-section .all-features {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0;
        padding-left: 0; } }
  .taxprep-take-care-of-taxes .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 2rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .feature {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-take-care-of-taxes .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .feature {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-take-care-of-taxes .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-take-care-of-taxes .feature:first-of-type {
      margin-top: 0rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .feature {
        margin-top: 0rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .feature {
        margin-top: 3rem; }
        .taxprep-take-care-of-taxes .feature:first-of-type {
          margin-top: 1.5rem; } }
  .taxprep-take-care-of-taxes .column-icon {
    display: none;
    /* @include breakpoint(small-plus) {
				@include flex-grid-column(3);
			} */
    text-align: left; }
    @media print, screen and (min-width: 28.125em) {
      .taxprep-take-care-of-taxes .column-icon .icon-svg {
        height: 9rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .column-icon .icon-svg {
        height: 9rem; } }
    .taxprep-take-care-of-taxes .column-icon .icon-dollar {
      margin-bottom: -1rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-take-care-of-taxes .column-icon .icon-dollar {
          margin-bottom: 0; } }
  .taxprep-take-care-of-taxes .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-take-care-of-taxes .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-take-care-of-taxes .column-text h3 {
      font-size: 1.1rem; }

.taxprep-expert-team .features-section {
  padding-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .features-section {
      padding-top: 1rem; } }

.taxprep-expert-team .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-expert-team .all-features {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-expert-team .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .taxprep-expert-team .all-features {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxprep-expert-team .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.taxprep-expert-team .feature {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-expert-team .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-expert-team .feature .row .column-icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-expert-team .feature .row .column-icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-expert-team .feature .row .column-icon .icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon .icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon .icon {
        height: 4rem; } }
  .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
    flex: 0 0 75%;
    max-width: 75%;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
    padding-top: .5rem; }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
        padding: .5rem 1rem; } }
    .taxprep-expert-team .feature .row .column-text h4, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text h4 {
      font-weight: 400;
      font-size: .95em; }
      @media print, screen and (min-width: 28.125em) {
        .taxprep-expert-team .feature .row .column-text h4, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text h4 {
          font-size: .95em; } }
      @media print, screen and (min-width: 40em) {
        .taxprep-expert-team .feature .row .column-text h4, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text h4 {
          font-size: 1em; } }

.taxprep-business-section {
  padding-top: 6rem;
  padding-bottom: 6rem; }
  .taxprep-business-section .all-features {
    padding-top: 2rem; }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-business-section .all-features {
        padding-top: 4rem; } }
  .taxprep-business-section .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-business-section .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-business-section .feature {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-business-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-business-section .feature {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-business-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .taxprep-business-section .feature {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxprep-business-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-business-section .feature:not(:first-of-type) {
      margin-top: 2rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature:not(:first-of-type) {
          margin-top: 3rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-business-section .feature:not(:first-of-type) {
          margin-top: 0; } }
    .taxprep-business-section .feature .column-icon {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature .column-icon {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-business-section .feature .column-icon {
          flex: 0 0 91.66667%;
          max-width: 91.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .taxprep-business-section .feature .column-icon .icon-svg {
        height: 7rem; }
        @media print, screen and (min-width: 40em) {
          .taxprep-business-section .feature .column-icon .icon-svg {
            height: 9rem; } }
    .taxprep-business-section .feature .column-text {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0;
      font-size: .9em; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature .column-text {
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-business-section .feature .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .taxprep-business-section .feature .column-text h4 {
        font-size: 1.05em;
        letter-spacing: -.01em; }
  .taxprep-business-section .business-teaser-row {
    padding-top: 4rem; }
    .taxprep-business-section .business-teaser-row .wrapper {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      background: #f7fbff;
      border: solid 1px #d6dde3; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .business-teaser-row .wrapper {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .taxprep-business-section .business-teaser-row .wrapper {
          flex: 0 0 83.33333%;
          max-width: 83.33333%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxprep-business-section .business-teaser-row .wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-business-section .business-teaser-row .column-content {
      flex: 0 0 75%;
      max-width: 75%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .business-teaser-row .column-content {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      .taxprep-business-section .business-teaser-row .column-content h3 {
        font-size: 1.0em; }
      .taxprep-business-section .business-teaser-row .column-content p, .taxprep-business-section .business-teaser-row .column-content .generic-p, .taxprep-business-section .business-teaser-row .column-content a {
        font-size: .9em; }
    .taxprep-business-section .business-teaser-row .column-graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0;
      padding-left: 0; }
      .taxprep-business-section .business-teaser-row .column-graphic .icon-svg {
        height: 7rem; }
    .taxprep-business-section .business-teaser-row .link-caret-right::after {
      height: 7px;
      width: 7px;
      bottom: 2px; }
  .taxprep-business-section .description h3 {
    text-align: center; }
  .taxprep-business-section .description .box {
    border: 1pt solid #9EAEBC;
    border-width: 0px 0px 1px;
    margin: 1.2rem 0rem 1rem;
    background: #FDFDFD;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
    display: block;
    width: 100%; }

@media print, screen and (min-width: 46.875em) and (min-width: 46.875em) {
  .taxprep-business-section .description .box svg {
    height: 7rem; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-business-section .dotted-right {
      border-right: 2pt dotted #eaeaea;
      margin-bottom: -0.5rem;
      padding-right: 1rem; } }
  .taxprep-business-section .description.card {
    min-height: 27.5rem; }
  .taxprep-business-section .intro-block {
    border-bottom: dotted 0px #b7b7b7; }
  .taxprep-business-section .service-block {
    padding-bottom: 1rem; }
    @media screen and (max-width: 28.0625em) {
      .taxprep-business-section .service-block {
        padding-bottom: 0rem; } }
    .taxprep-business-section .service-block .card {
      border: none; }
    .taxprep-business-section .service-block .description.small-centered {
      text-align: center; }
  .taxprep-business-section .mantenga-su-negocio {
    padding-top: 2rem; }
    @media screen and (max-width: 28.0625em) {
      .taxprep-business-section .mantenga-su-negocio {
        padding: 0rem; } }
    .taxprep-business-section .mantenga-su-negocio .card {
      padding: 1rem 0rem 0.5rem !important; }
      @media screen and (max-width: 28.0625em) {
        .taxprep-business-section .mantenga-su-negocio .card {
          padding: 1rem !important; } }
      .taxprep-business-section .mantenga-su-negocio .card .button-border {
        border: 2px solid #14679e;
        background-color: #fff;
        border-radius: 4px;
        cursor: pointer;
        transition: all .2s ease;
        text-align: center;
        vertical-align: middle;
        -webkit-user-select: none;
        user-select: none;
        display: inline-block;
        margin: 0 0 1rem 0;
        margin-top: 0rem;
        padding: 0.8em 1.5rem;
        -webkit-appearance: none;
        transition: background-color 0.25s ease-out, color 0.25s ease-out; }

@media screen and (max-width: 28.0625em) {
  .taxprep-tax-problems .description {
    padding: 0rem; } }

.taxprep-tax-problems .graphic {
  text-align: center;
  padding-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-tax-problems .graphic {
      padding-right: 0; } }
  .taxprep-tax-problems .graphic .img-size-wrapper {
    position: relative;
    height: 14rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-tax-problems .graphic .img-size-wrapper {
        height: 17rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-tax-problems .graphic .img-size-wrapper {
        height: 24rem; } }
  .taxprep-tax-problems .graphic .img-size-wrapper img {
    height: 100%;
    width: auto; }

@media print, screen and (min-width: 40em) {
  .business-overview .container:first-of-type {
    padding-bottom: 2rem; } }

.business-overview .container-cards {
  padding: 0rem 1rem 0rem; }
  .business-overview .container-cards .content {
    padding-top: 0; }

.business-overview .card-wrapper {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0;
  padding-left: 0; }
  @media print, screen and (min-width: 40em) {
    .business-overview .card-wrapper {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .business-overview .card-wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .business-overview .card-wrapper {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .business-overview .card-wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .business-overview .card-wrapper .card .row .column-icon, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%; }
    @media screen and (min-width: 40em) and (max-width: 46.8125em) {
      .business-overview .card-wrapper .card .row .column-icon, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-icon {
        flex: 0 0 33.33333%;
        max-width: 33.33333%; } }
  .business-overview .card-wrapper .card .row .column-text, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-text {
    flex: 0 0 100%;
    max-width: 100%; }
    @media screen and (min-width: 40em) and (max-width: 46.8125em) {
      .business-overview .card-wrapper .card .row .column-text, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%; } }

.business-overview .large-cards .card .icon-svg {
  height: 9rem; }

.business-overview .small-cards .card .icon-svg {
  height: 6.5rem;
  margin-bottom: .5rem; }

.business-payroll {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem; }

@media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
  .buspr-features-picker .services-group .card-wrapper {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; } }

.buspr-features-picker .services-group .card-wrapper .service-card {
  padding: 1rem; }
  @media print, screen and (min-width: 28.125em) {
    .buspr-features-picker .services-group .card-wrapper .service-card {
      padding: 1rem 1.5rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .service-card {
      padding: 1rem 2rem; } }

.buspr-features-picker .services-group .card-wrapper .card-section {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0;
    padding-left: 0; }
    @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        padding-left: .5rem; } }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }
  .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media screen and (max-width: 28.0625em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        padding-right: 0; } }
    @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }

.buspr-features-picker .services-group .card-wrapper .card-section {
  text-align: left; }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
      text-align: left; } }
  @media print, screen and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
      text-align: center; } }
  .buspr-features-picker .services-group .card-wrapper .card-section .column-text h5 > span {
    border-bottom: 1px dotted #1f4e89;
    font-size: 1em;
    font-weight: 500;
    color: #1f4e89; }
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text h5 > span:hover {
      border-bottom-color: #007dff; }

.buspr-year-end-payroll .description {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .buspr-year-end-payroll .description {
      flex: 0 0 75%;
      max-width: 75%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      flex: 0 0 58.33333%;
      max-width: 58.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .buspr-year-end-payroll .description {
      flex: 0 0 58.33333%;
      max-width: 58.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.buspr-year-end-payroll .graphic {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (max-width: 28.0625em) {
    .buspr-year-end-payroll .graphic {
      padding-bottom: 1rem; } }
  @media print, screen and (min-width: 28.125em) {
    .buspr-year-end-payroll .graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .buspr-year-end-payroll .graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .buspr-year-end-payroll ._icon-reptchkmark {
    max-height: 11rem; } }

.buspr-payroll-tax-problems {
  padding-top: 0; }
  .buspr-payroll-tax-problems .wrapping-box {
    padding: 1rem 0; }
    @media print, screen and (min-width: 40em) {
      .buspr-payroll-tax-problems .wrapping-box {
        padding: 2rem 0; } }
  .buspr-payroll-tax-problems .column-icon .icon-svg-max {
    height: 12rem;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .buspr-payroll-tax-problems .column-icon .icon-svg-max {
        height: 16rem; } }

.buspr-pay-features .feature {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-pay-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-pay-features .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: 3rem;
      margin-bottom: 1rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-pay-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (min-width: 75em) {
    .buspr-pay-features .feature {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 75em) and (min-width: 40em) {
    .buspr-pay-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .buspr-pay-features .feature .row .column-text .fee-detail, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text .fee-detail, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text .fee-detail, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text .fee-detail {
      color: #878787;
      font-size: 0.9rem; }

.buspr-guidance-assistance .feature-row .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .buspr-guidance-assistance .feature-row .feature {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper {
      height: 6rem;
      width: 6rem;
      padding: 1rem;
      margin: 1rem auto; }
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper svg {
        height: 4rem; }
      @media print, screen and (min-width: 40em) {
        .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper {
          height: 7.6rem;
          width: 7.6rem;
          padding: 1rem; }
          .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper svg {
            height: 5rem; } }
  .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.buspr-guidance-assistance .column-icon .icon-wrapper {
  background: #fff;
  border-radius: 100%;
  border: 1pt solid #e5eaed; }

.buspr-guidance-assistance .column-text {
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    .buspr-guidance-assistance .column-text {
      text-align: center; } }
  .buspr-guidance-assistance .column-text h4 {
    font-weight: 500; }

@media print, screen and (min-width: 40em) {
  .busmoveusa-establish .features-row {
    padding-top: 0; } }

.busmoveusa-establish .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-establish .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (max-width: 28.0625em) {
    .busmoveusa-establish .feature:first-of-type {
      margin-top: 0; } }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
    .busmoveusa-establish .feature:first-of-type {
      margin-top: 0; } }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-establish .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: 3rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-establish .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busmoveusa-establish .feature .icon-row .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busmoveusa-establish .feature .icon-row .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busmoveusa-countries-assisted .content .column-globe {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-countries-assisted .content .column-globe {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-countries-assisted .content .column-globe {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-countries-assisted .content .column-globe {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busmoveusa-countries-assisted .content .column-text .comment {
  font-size: .8rem;
  color: #7d7d7d; }

.busmoveusa-countries-assisted .content .flags {
  min-height: 3rem; }
  .busmoveusa-countries-assisted .content .flags ul {
    list-style: none; }
    .busmoveusa-countries-assisted .content .flags ul li img {
      height: auto;
      width: 100%;
      max-height: 3rem; }
      @media print, screen and (min-width: 40em) {
        .busmoveusa-countries-assisted .content .flags ul li img {
          max-height: 3.5rem; } }

.busmoveusa-cover-basics .evaluamos-las-mejores p, .busmoveusa-cover-basics .evaluamos-las-mejores .generic-p {
  font-size: 0.9rem !important;
  color: #536475;
  line-height: 1.75rem; }

.busmoveusa-cover-basics .icon-svg-custom {
  height: 12rem;
  width: auto; }

.busmoveusa-cover-basics .description p, .busmoveusa-cover-basics .description .generic-p {
  font-size: .8rem; }

.busmoveusa-additional-services {
  background: #8e9eab !important;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ }
  .busmoveusa-additional-services .service-card:hover svg {
    height: 5rem;
    -webkit-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
  .busmoveusa-additional-services .service-card:hover .card-section {
    padding-top: 1rem;
    -webkit-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
  .busmoveusa-additional-services .service-card {
    min-height: 10rem;
    background-color: #fff; }
    .busmoveusa-additional-services .service-card .card-section {
      padding-top: 1.5rem; }
      .busmoveusa-additional-services .service-card .card-section h5 a {
        font-size: 0.8rem;
        border-bottom: 1px dotted #1f4e89;
        font-weight: 500;
        color: #1f4e89; }
        .busmoveusa-additional-services .service-card .card-section h5 a:hover {
          border-bottom-color: #007dff; }

.busregister-plan-organize .header-section .column-header {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-plan-organize .header-section .column-header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-plan-organize .header-section .column-header {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-plan-organize .header-section .column-header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-plan-organize .features-row .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0; }
  @media screen and (max-width: 28.0625em) {
    .busregister-plan-organize .features-row .feature:not(:first-of-type) {
      margin-top: 1rem; } }
  @media print, screen and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-plan-organize .features-row .feature {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .header {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .busregister-register-your-business .header {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-register-your-business .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-register-your-business .header {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-register-your-business .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .column-icon {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .busregister-register-your-business .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-register-your-business .column-icon {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-register-your-business .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .busregister-register-your-business .column-text {
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-register-your-business .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-register-your-business .column-text {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-register-your-business .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .column-icon .icon {
  height: 9rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .column-icon .icon {
      height: 12rem; } }

.busregister-review-issues .column-icon {
  margin-top: -1rem;
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-review-issues .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-review-issues .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-text {
      flex: 0 0 58.33333%;
      max-width: 58.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-review-issues .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.sub-nav {
  text-transform: uppercase;
  border-bottom: solid 1px #d6dde3;
  overflow: hidden; }
  .sub-nav .menu li a {
    font-size: .9em;
    height: 49px;
    padding-top: 19.6px; }
    .sub-nav .menu li a:hover {
      color: #007dff; }
  .sub-nav .menu li.is-active {
    height: 50px; }
    .sub-nav .menu li.is-active a {
      background: none;
      border-bottom: solid 2px #007dff;
      color: #1a4274; }
      .sub-nav .menu li.is-active a:hover {
        color: #1a4274; }

.business-subnav {
  /* 		
		nav.sub-nav {
			@include breakpoint(small only) {
				top: inherit !important;
			}
		}
		*/ }
  .business-subnav .d-none-block {
    display: none;
    position: relative;
    z-index: 999; }
  .business-subnav .logo {
    height: 100%; }
    .business-subnav .logo a img {
      height: 26px;
      position: relative;
      top: 50%;
      transform: translateY(-50%); }
  .business-subnav .btn-block {
    text-align: right; }
    .business-subnav .btn-block .btn-contact {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 1em 1.4em;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 3px;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 0.9rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      background-color: #f44d52;
      color: #ffffff;
      color: #ffffff;
      font-weight: 500;
      font-size: 0.7rem;
      position: relative;
      top: 50%;
      transform: translateY(-50%); }
      [data-whatinput='mouse'] .business-subnav .btn-block .btn-contact {
        outline: 0; }
      .business-subnav .btn-block .btn-contact:hover, .business-subnav .btn-block .btn-contact:focus {
        background-color: #f01117;
        color: #ffffff; }
      @media screen and (max-width: 48.125em) {
        .business-subnav .btn-block .btn-contact {
          display: none; } }
      @media screen and (min-width: 48.125em) {
        .business-subnav .btn-block .btn-contact {
          margin-right: 0; } }
  .business-subnav .sticky.is-stuck {
    z-index: 9999 !important; }
    @media screen and (max-width: 28.0625em) {
      .business-subnav .sticky.is-stuck {
        max-width: auto; } }
    .business-subnav .sticky.is-stuck .d-none-block {
      display: block; }
  .business-subnav .sticky.is-stuck.is-at-top {
    background-color: #fff; }

.busfin-intro {
  padding-top: 3rem;
  padding-bottom: 0; }
  .busfin-intro .header {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-intro .header {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
  .busfin-intro .graphic {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
    padding-bottom: 0; }
    .busfin-intro .graphic img {
      width: auto;
      height: 12rem; }
      @media print, screen and (min-width: 28.125em) {
        .busfin-intro .graphic img {
          height: 15rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-intro .graphic img {
          height: 18rem; } }

@media print, screen and (min-width: 40em) {
  .busfin-plans .header {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-plans .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-plans .cards-row {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media screen and (max-width: 28.0625em) {
    .busfin-plans .cards-row {
      padding-top: 1rem;
      padding-bottom: 0rem; } }
  .busfin-plans .cards-row .column-card {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-plans .cards-row .column-card {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-plans .cards-row .column-card {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-plans .cards-row .column-card {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busfin-plans .cards-row .column-card {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .busfin-plans .cards-row .column-card .column-icon {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-plans .cards-row .column-card .column-icon {
          flex: 0 0 33.33333%;
          max-width: 33.33333%;
          padding-right: 0;
          padding-left: 0; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-plans .cards-row .column-card .column-icon {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }
      .busfin-plans .cards-row .column-card .column-icon .icon-payroll {
        padding: .5rem; }
    .busfin-plans .cards-row .column-card .column-text {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-plans .cards-row .column-card .column-text {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-plans .cards-row .column-card .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }

.busfin-plans .conclusion-section {
  padding-top: 0; }

@media print, screen and (min-width: 46.875em) {
  .busfin-features-main .header {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-main .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-features-main .features-section {
  padding-top: 1rem; }
  .busfin-features-main .features-section .all-features {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .busfin-features-main .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-features-main .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-main .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busfin-features-main .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-features-main .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busfin-features-main .features-section .feature {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 1rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-features-main .features-section .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-features-main .features-section .feature {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-features-main .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-features-main .features-section .feature {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-main .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-features-main .features-section .feature {
        margin-top: 2rem; } }
    .busfin-features-main .features-section .feature .column-icon {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .busfin-features-main .features-section .feature .column-icon {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      .busfin-features-main .features-section .feature .column-icon .icon-svg {
        width: 100%;
        height: 3rem; }
        @media print, screen and (min-width: 40em) {
          .busfin-features-main .features-section .feature .column-icon .icon-svg {
            height: 4rem; } }
    .busfin-features-main .features-section .feature .column-text {
      flex: 1 1 0px;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      min-width: 0;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .busfin-features-main .features-section .feature .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      .busfin-features-main .features-section .feature .column-text h5 {
        font-size: .9em;
        font-weight: 400; }
      .busfin-features-main .features-section .feature .column-text .cmn-divider {
        margin-top: 0; }

.busfin-features-main .conclusion-section {
  text-align: center; }
  @media screen and (max-width: 46.8125em) {
    .busfin-features-main .conclusion-section {
      padding-top: 2rem; } }

.busfin-benefits-intro {
  padding-top: 3rem;
  padding-bottom: 1rem; }
  .busfin-benefits-intro .features-section .all-features {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .busfin-benefits-intro .features-section .all-features {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .busfin-benefits-intro .features-section .all-features {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-benefits-intro .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .busfin-benefits-intro .features-section .all-features .feature {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .busfin-benefits-intro .features-section .all-features .feature {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .busfin-benefits-intro .features-section .all-features .feature {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-benefits-intro .features-section .all-features .feature {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .busfin-benefits-intro .features-section .all-features .feature .card {
        padding: .5rem 1rem;
        position: relative;
        -webkit-transition: all .3s ease-in;
        -o-transition: all .3s ease-in;
        transition: all .3s ease-in; }
        .busfin-benefits-intro .features-section .all-features .feature .card:hover {
          background: #F4F9FF;
          border-color: #9EAEBC; }
          .busfin-benefits-intro .features-section .all-features .feature .card:hover .card-section {
            padding-top: 1.0rem; }
        .busfin-benefits-intro .features-section .all-features .feature .card .card-link {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          display: block; }
      .busfin-benefits-intro .features-section .all-features .feature .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; }
        @media print, screen and (min-width: 40em) {
          .busfin-benefits-intro .features-section .all-features .feature .column-icon {
            flex: 0 0 25%;
            max-width: 25%;
            padding-right: 0;
            padding-left: 0;
            padding-left: 1rem; } }
        .busfin-benefits-intro .features-section .all-features .feature .column-icon .icon-svg {
          width: 100%;
          height: 3.5rem; }
      .busfin-benefits-intro .features-section .all-features .feature .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0;
        padding-left: 0; }
        @media print, screen and (min-width: 40em) {
          .busfin-benefits-intro .features-section .all-features .feature .column-text {
            flex: 0 0 75%;
            max-width: 75%;
            padding-right: 0.9375rem;
            padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
        .busfin-benefits-intro .features-section .all-features .feature .column-text h5 {
          font-size: .8em;
          margin: 0;
          text-align: center;
          text-align: left; }
          @media print, screen and (min-width: 40em) {
            .busfin-benefits-intro .features-section .all-features .feature .column-text h5 {
              font-size: .9em; } }

.busfin-features-picker .services-group .feature {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-features-picker .services-group .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busfin-features-picker .services-group .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-picker .services-group .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-taxes-solution .section-graphic {
  padding-top: .5rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-taxes-solution .section-graphic {
      padding-top: 2rem; } }
  .busfin-taxes-solution .section-graphic .graphic {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding-right: 0;
    padding-left: 0;
    background-image: url("/resources/img/bus_bg_pattern.svg");
    background-size: 110px auto;
    padding: 0;
    text-align: center;
    border-bottom: solid 1px rgba(77, 164, 255, 0.2);
    border: solid 1px #f1f4f6; }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-graphic .graphic {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-graphic .graphic {
        background-size: 160px auto; } }
    .busfin-taxes-solution .section-graphic .graphic .bg-overlay {
      width: 100%;
      height: 100%;
      padding: .5rem 0 .25rem;
      background: rgba(240, 247, 255, 0.5); }
    .busfin-taxes-solution .section-graphic .graphic .circle-wrapper {
      margin-left: auto;
      margin-right: auto;
      height: 8rem; }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-graphic .graphic .circle-wrapper {
          height: 12rem; } }
    .busfin-taxes-solution .section-graphic .graphic img {
      height: 100%;
      width: auto; }

.busfin-taxes-solution .section-features {
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .busfin-taxes-solution .section-features {
      padding-top: 1rem; } }
  .busfin-taxes-solution .section-features .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 2rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-features .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-features .feature {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-taxes-solution .section-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media screen and (max-width: 39.9375em) {
      .busfin-taxes-solution .section-features .feature:first-of-type {
        margin-top: 1.5rem; } }
    .busfin-taxes-solution .section-features .feature .column-icon {
      flex: 0 0 8.33333%;
      max-width: 8.33333%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-features .feature .column-icon {
          flex: 0 0 8.33333%;
          max-width: 8.33333%;
          padding-right: 0;
          padding-left: 0; } }
      .busfin-taxes-solution .section-features .feature .column-icon .icon-svg {
        height: 1.5rem; }
        @media print, screen and (min-width: 40em) {
          .busfin-taxes-solution .section-features .feature .column-icon .icon-svg {
            height: 1.5rem;
            padding-right: .5rem; } }
      .busfin-taxes-solution .section-features .feature .column-icon svg.checkmark {
        color: #0058b3; }
    .busfin-taxes-solution .section-features .feature .column-text {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      font-size: .85em; }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-features .feature .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-features .feature .column-text {
          flex: 0 0 91.66667%;
          max-width: 91.66667%;
          padding-right: 0;
          padding-left: 0;
          font-size: .9em; } }
      .busfin-taxes-solution .section-features .feature .column-text h5 {
        font-size: 1em; }

.busfin-manage .header-section .header {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-manage .header-section .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .busfin-manage .header-section .header {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-manage .header-section .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .busfin-manage .features-section {
    padding-top: 1rem; } }

.busfin-manage .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-manage .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .busfin-manage .all-features {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-manage .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busfin-manage .all-features .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-top: 1.5rem;
    margin-top: 2rem; }
    .busfin-manage .all-features .feature .column-icon {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-manage .all-features .feature .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-manage .all-features .feature .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .busfin-manage .all-features .feature .column-icon .icon-svg {
        height: 5rem; }
        @media print, screen and (min-width: 40em) {
          .busfin-manage .all-features .feature .column-icon .icon-svg {
            height: 7rem; } }
    .busfin-manage .all-features .feature .column-text {
      flex: 0 0 75%;
      max-width: 75%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      font-size: .85em; }
      @media print, screen and (min-width: 40em) {
        .busfin-manage .all-features .feature .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-manage .all-features .feature .column-text {
          font-size: .9em;
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-manage .all-features .feature .column-text {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .busfin-manage .all-features .feature .column-text h5 {
        font-size: 1rem;
        font-weight: 600; }

.busfin-future .column-icon {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 46.875em) {
    .busfin-future .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-icon .icon-svg {
      height: 15rem; } }

.busfin-future .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-text {
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-future .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .busfin-future .column-text {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-future .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-future .container .t-bdr-top, .busfin-future .container .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .row .busfin-future .container .column-text, .busfin-future .container .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .busfin-future .container .column-text, .busfin-future .container .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .busfin-future .container .column-text, .busfin-future .container .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .busfin-future .container .column-text {
  padding-top: 6rem; }
  @media screen and (max-width: 28.0625em) {
    .busfin-future .container .t-bdr-top, .busfin-future .container .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .row .busfin-future .container .column-text, .busfin-future .container .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .busfin-future .container .column-text, .busfin-future .container .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .busfin-future .container .column-text, .busfin-future .container .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .busfin-future .container .column-text {
      padding-top: 3rem; } }

.busfin-future .container .description {
  padding-top: 0rem;
  padding-bottom: 0rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-future .container .description {
      padding-bottom: 0rem; } }

@media print, screen and (min-width: 40em) {
  .busfin-future .busfin-taxexpense .description {
    padding-bottom: 0rem; } }

.busfin-team .features-section .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0; }
  @media print, screen and (min-width: 64em) {
    .busfin-team .features-section .all-features {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-team .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-team .features-section .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-team .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (max-width: 46.8125em) {
    .busfin-team .features-section .feature {
      margin-top: 1rem; }
      .busfin-team .features-section .feature:not(:first-of-type) {
        margin-top: 1.5rem; } }
  @media print, screen and (min-width: 40em) {
    .busfin-team .features-section .feature {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-team .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busfin-team .features-section .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-team .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busfin-team .features-section .feature .column-icon {
    flex: 0 0 25%;
    max-width: 25%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .busfin-team .features-section .feature .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-team .features-section .feature .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-team .features-section .feature .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .busfin-team .features-section .feature .column-icon .circle-wrapper {
      background: #fdfdfd;
      border: solid 1px #d6eaff;
      border-radius: 50rem;
      -webkit-border-radius: 50rem;
      -moz-border-radius: 50rem;
      -ms-border-radius: 50rem;
      -o-border-radius: 50rem;
      margin-left: auto;
      margin-right: auto;
      height: 3.75rem;
      width: 3.75rem;
      padding-top: 0.375rem; }
      @media print, screen and (min-width: 28.125em) {
        .busfin-team .features-section .feature .column-icon .circle-wrapper {
          height: 4.375rem;
          width: 4.375rem;
          padding-top: 0.4375rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-team .features-section .feature .column-icon .circle-wrapper {
          height: 5rem;
          width: 5rem;
          padding-top: 0.5rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-team .features-section .feature .column-icon .circle-wrapper {
          height: 6.25rem;
          width: 6.25rem;
          padding-top: 0.625rem; } }
    .busfin-team .features-section .feature .column-icon .icon-svg {
      height: 3rem; }
      @media print, screen and (min-width: 28.125em) {
        .busfin-team .features-section .feature .column-icon .icon-svg {
          height: 3.5rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-team .features-section .feature .column-icon .icon-svg {
          height: 4rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-team .features-section .feature .column-icon .icon-svg {
          height: 5rem; } }
  .busfin-team .features-section .feature .column-text {
    font-size: .9em;
    flex: 0 0 75%;
    max-width: 75%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-team .features-section .feature .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        margin-top: 1.5rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.pricing-tab .pricing-table {
  background-color: #ffffff;
  border: solid 1px #cacaca;
  width: 100%;
  text-align: center;
  list-style-type: none; }
  @media screen and (max-width: 28.0625em) {
    .pricing-tab .pricing-table {
      margin: 0; } }
  .pricing-tab .pricing-table li {
    border-bottom: dotted 1px #cacaca;
    padding: 0.875rem 1.125rem; }
    .pricing-tab .pricing-table li:last-child {
      border-bottom: 0; }
  .pricing-tab .pricing-table .title {
    background-color: #0a0a0a;
    color: #ffffff;
    border-bottom: 0; }
  .pricing-tab .pricing-table .price {
    background-color: #e6e6e6;
    font-size: 2rem;
    border-bottom: 0; }
  .pricing-tab .pricing-table .description {
    color: #8a8a8a;
    font-size: 80%; }
  .pricing-tab .pricing-table :last-child {
    margin-bottom: 0; }

.hero-taxproblems .hero-content {
  padding-bottom: 2rem; }

.taxproblems-subhero {
  padding-top: 0;
  padding-bottom: 4rem; }
  .taxproblems-subhero .header {
    padding-bottom: 1rem; }
    .taxproblems-subhero .header h4 {
      font-weight: 300;
      font-size: .9em;
      color: #f2f2f2;
      text-align: center; }
      .taxproblems-subhero .header h4:after {
        display: block;
        height: 1px;
        border-bottom: 1px solid #ffffff; }
  .taxproblems-subhero .services-picker .service {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-subhero .services-picker .service {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media screen and (min-width: 75em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media screen and (min-width: 75em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          flex: 0 0 33.33333%;
          max-width: 33.33333%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: center; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: center;
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: left; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxproblems-subhero .services-picker .service .card {
      position: relative;
      border-radius: 7px;
      border-color: #007dff;
      border-width: 2px;
      -webkit-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in; }
      .taxproblems-subhero .services-picker .service .card .row .column-text h5 a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text h5 a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text h5 a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text h5 a {
        font-weight: 500; }
      .taxproblems-subhero .services-picker .service .card:hover {
        background: #ffffff;
        border-color: #0064cc;
        -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15);
        -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15);
        box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15); }
        .taxproblems-subhero .services-picker .service .card:hover .row .column-text a, .taxproblems-subhero .services-picker .service .card:hover .busmoveusa-countries-assisted .content .flags ul .column-text a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card:hover ul .column-text a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card:hover ul .column-text a {
          color: #1a4274; }
      .taxproblems-subhero .services-picker .service .card .row .column-icon svg, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon svg, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon svg {
        width: 100%;
        height: 5rem;
        -webkit-transition: all .3s ease-in;
        -o-transition: all .3s ease-in;
        transition: all .3s ease-in; }
        @media print, screen and (min-width: 28.125em) {
          .taxproblems-subhero .services-picker .service .card .row .column-icon svg, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon svg, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon svg {
            height: 6rem; } }
        @media print, screen and (min-width: 40em) {
          .taxproblems-subhero .services-picker .service .card .row .column-icon svg, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon svg, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon svg {
            height: 6rem; } }
      .taxproblems-subhero .services-picker .service .card .row .column-text a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text a {
        font-size: 1em;
        border-bottom: 1px dotted #1f4e89;
        font-weight: 500;
        color: #1f4e89; }
        .taxproblems-subhero .services-picker .service .card .row .column-text a:hover, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text a:hover, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text a:hover, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text a:hover {
          border-bottom-color: #007dff; }
  .taxproblems-subhero .services-picker .services-group {
    padding: 0rem; }
  .taxproblems-subhero .services-picker .service-card:hover {
    background: #F4F9FF;
    border-color: #9EAEBC; }
    .taxproblems-subhero .services-picker .service-card:hover .card-section {
      padding-top: 1.0rem;
      -webkit-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in; }
    .taxproblems-subhero .services-picker .service-card:hover svg {
      height: 5.5rem;
      -webkit-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in; }
  .taxproblems-subhero .services-picker .service-card .card-section {
    padding-top: 1.5rem; }
    @media screen and (max-width: 28.0625em) {
      .taxproblems-subhero .services-picker .service-card .card-section {
        padding: 0rem; } }
  .taxproblems-subhero .services-picker .card-link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: block; }

.taxproblems-promise {
  padding-top: 4rem; }
  .taxproblems-promise .graphic {
    padding: 0rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .graphic {
        padding: inherit; } }
  .taxproblems-promise .border-red {
    border-bottom: none; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .border-red {
        border-bottom: 1pt solid #F5C5C6; } }
  .taxproblems-promise .graphic img {
    width: 100%;
    height: auto;
    max-height: 13rem;
    margin-bottom: 1rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .graphic img {
        max-height: 27rem !important; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .graphic img {
        max-height: none;
        margin-bottom: 0; } }

.taxproblems-business-issues .box-svg,
.taxproblems-personal-issues .box-svg {
  margin: 1.2rem 0rem 1rem; }

.taxproblems-business-issues .box-svg1,
.taxproblems-personal-issues .box-svg1 {
  margin: 1.2rem 0rem 1rem; }

.taxproblems-business-issues .icon-block svg,
.taxproblems-personal-issues .icon-block svg {
  width: 100%;
  height: 6rem;
  margin: 1rem 0rem 0rem; }
  @media screen and (max-width: 28.0625em) {
    .taxproblems-business-issues .icon-block svg,
    .taxproblems-personal-issues .icon-block svg {
      width: 6rem; } }

.taxproblems-business-issues .icon-block h4,
.taxproblems-personal-issues .icon-block h4 {
  font-weight: 600 !important;
  font-size: 1rem !important;
  margin: 0rem 0rem 1.5rem; }
  @media screen and (max-width: 28.0625em) {
    .taxproblems-business-issues .icon-block h4,
    .taxproblems-personal-issues .icon-block h4 {
      float: right;
      margin-top: 16%;
      padding-right: 1rem; } }

@media screen and (max-width: 28.0625em) {
  .taxproblems-business-issues .icon-block .text,
  .taxproblems-personal-issues .icon-block .text {
    text-align: left;
    padding-left: 1rem; } }

.taxproblems-knowledge-experience .column-graphic {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic .icon {
      height: 9rem; } }

.taxproblems-knowledge-experience .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-text {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .taxproblems-personal-issues .features-row {
    padding-top: 1rem; } }

.taxproblems-personal-issues .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxproblems-personal-issues .feature .row .column-icon, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .taxproblems-personal-issues .feature .row .column-icon, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-icon, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0;
        padding-left: 0; } }
  .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.taxproblems-personal-issues .feature {
  margin-top: 1rem; }
  .taxproblems-personal-issues .feature:first-of-type {
    margin-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      margin-top: 2rem; }
      .taxproblems-personal-issues .feature:first-of-type {
        margin-top: 2rem; } }
  .taxproblems-personal-issues .feature .row .column-icon .icon-svg, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon .icon-svg {
    height: 5rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-icon .icon-svg, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon .icon-svg {
        height: 7rem; } }
  .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
    text-align: left; }
    .taxproblems-personal-issues .feature .row .column-text h4, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text h4 {
      font-size: 1em; }

.taxproblems-personal-issues .title-block p, .taxproblems-personal-issues .title-block .generic-p {
  padding-left: 10%;
  padding-right: 10%;
  padding: 0rem; }

.taxproblems-business-issues {
  text-align: left; }
  .taxproblems-business-issues p.english-terms, .taxproblems-business-issues .english-terms.generic-p {
    font-size: .7em;
    margin-top: 1.5rem !important;
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    text-align: right; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-business-issues p.english-terms, .taxproblems-business-issues .english-terms.generic-p {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
  .taxproblems-business-issues .features-lists {
    margin-top: 1rem; }
    .taxproblems-business-issues .features-lists .graphic {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .graphic {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }
    .taxproblems-business-issues .features-lists .all-lists {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .all-lists {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }
    .taxproblems-business-issues .features-lists .row:not(:first-of-type), .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul:not(:first-of-type), .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul:not(:first-of-type), .taxproblems-business-issues .features-lists .row .category-list ul:not(:first-of-type) {
      margin-top: 1rem; }
    .taxproblems-business-issues .features-lists .row .category-icon, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon, .taxproblems-business-issues .features-lists .row .category-list ul .category-icon {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-icon, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon, .taxproblems-business-issues .features-lists .row .category-list ul .category-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0;
          padding-left: 0; } }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-icon .icon-svg, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon .icon-svg {
          height: 9rem; } }
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 58.33333%;
          max-width: 58.33333%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul {
        list-style: none; }
        .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          font-size: .85rem; }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
              flex: 0 0 50%;
              max-width: 50%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
              font-size: .9rem; } }
        .taxproblems-business-issues .features-lists .row .category-list ul li.category, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          border-bottom: solid 1px #d6dde3;
          margin-bottom: .5rem; }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li.category, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          .taxproblems-business-issues .features-lists .row .category-list ul li.category h3, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category h3, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category h3 {
            font-size: 1.05em;
            padding-bottom: .5rem;
            margin-bottom: 0; }
  .taxproblems-business-issues .categories-row .category {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-business-issues .categories-row .category {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    .taxproblems-business-issues .categories-row .category .header {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
    .taxproblems-business-issues .categories-row .category .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .categories-row .category .feature {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }

.hero-contact .container {
  background: linear-gradient(45deg, #0078f9, #25acca);
  padding-bottom: 6rem; }
  @media print, screen and (min-width: 28.125em) {
    .hero-contact .container {
      padding-bottom: 8rem; } }

.header_how-can-we-help {
  padding-top: 1rem;
  padding-bottom: 1rem;
  color: #ffffff; }
  .header_how-can-we-help p, .header_how-can-we-help .generic-p, .header_how-can-we-help .section .content p, .section .content .header_how-can-we-help p, .header_how-can-we-help .cta .content p, .cta .content .header_how-can-we-help p, .header_how-can-we-help .testimonials-text .content p, .testimonials-text .content .header_how-can-we-help p, .header_how-can-we-help .hero-home .content p, .hero-home .content .header_how-can-we-help p {
    font-size: 1.2em;
    font-size: 1.1em;
    line-height: 1.4; }
    .header_how-can-we-help p .ts-phone, .header_how-can-we-help .generic-p .ts-phone {
      white-space: nowrap;
      font-size: 1.5em;
      margin-left: 4px;
      font-weight: 600; }
    .header_how-can-we-help p .ts-phone-star, .header_how-can-we-help .generic-p .ts-phone-star {
      position: relative;
      font-size: .7em;
      top: -.7em;
      line-height: 0;
      vertical-align: baseline; }
    .header_how-can-we-help p a, .header_how-can-we-help .generic-p a, .header_how-can-we-help .section .content p a, .section .content .header_how-can-we-help p a, .header_how-can-we-help .cta .content p a, .cta .content .header_how-can-we-help p a, .header_how-can-we-help .testimonials-text .content p a, .testimonials-text .content .header_how-can-we-help p a, .header_how-can-we-help .hero-home .content p a, .hero-home .content .header_how-can-we-help p a {
      color: #04376a;
      border-bottom: dotted 1px #04376a; }
      .header_how-can-we-help p a:hover, .header_how-can-we-help .generic-p a:hover {
        color: #b60b10;
        border-bottom-color: #b60b10; }
  .header_how-can-we-help h2, .header_how-can-we-help p, .header_how-can-we-help .generic-p, .header_how-can-we-help .section .content p, .section .content .header_how-can-we-help p, .header_how-can-we-help .cta .content p, .cta .content .header_how-can-we-help p, .header_how-can-we-help .testimonials-text .content p, .testimonials-text .content .header_how-can-we-help p, .header_how-can-we-help .hero-home .content p, .hero-home .content .header_how-can-we-help p {
    text-align: center; }
  .header_how-can-we-help a.more-information-below {
    color: #d9d9d9;
    border-bottom: 1px dotted #d9d9d9;
    font-size: .9em; }
    .header_how-can-we-help a.more-information-below:hover {
      color: #80beff; }
    .header_how-can-we-help a.more-information-below:hover {
      border-bottom-color: #80beff; }

.info-and-contact .content {
  margin-top: -10rem; }
  @media print, screen and (min-width: 28.125em) {
    .info-and-contact .content {
      margin-top: -12rem; } }
  @media print, screen and (min-width: 40em) {
    .info-and-contact .content {
      margin-top: -14rem; } }
  .info-and-contact .content .column-info {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    background: linear-gradient(to bottom right, #1f4e89, #076acd);
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 1rem; }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-info {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-info {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .info-and-contact .content .column-info {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .info-and-contact .content .column-info .column-phone:not(:first-of-type), .info-and-contact .content .column-info .column-visit:not(:first-of-type), .info-and-contact .content .column-info .column-social:not(:first-of-type) {
          margin-top: 2em; } }
    .info-and-contact .content .column-info h4 {
      font-size: .8em;
      font-weight: 300;
      color: #ebebeb;
      margin-bottom: .25em; }
    .info-and-contact .content .column-info p, .info-and-contact .content .column-info .generic-p {
      margin-bottom: 0;
      color: #ffffff; }
    .info-and-contact .content .column-info a {
      color: #ffffff;
      border-bottom-color: #ffffff !important; }
      .info-and-contact .content .column-info a:hover {
        color: #ffffff;
        border-bottom-color: #ffffff !important;
        font-weight: 600; }
    .info-and-contact .content .column-info a.sociallink {
      display: inline-block;
      float: left;
      border-bottom: none !important;
      padding-top: .5rem; }
      .info-and-contact .content .column-info a.sociallink .icon-svg {
        height: 1.5rem;
        width: 1.5rem;
        margin-right: 1rem;
        fill: currentColor;
        color: #007dff; }
      .info-and-contact .content .column-info a.sociallink:hover .icon-svg {
        color: #3397ff; }
      .info-and-contact .content .column-info a.sociallink .icon-youtube {
        height: 1.8rem;
        width: 1.8rem;
        margin-top: -.05rem; }
  .info-and-contact .content .column-form {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-form {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-form {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .info-and-contact .content .column-form {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .info-and-contact .content .form-wrapper {
    background: #ffffff;
    border-radius: 4px;
    text-align: left;
    box-shadow: 0 18px 40px -10px rgba(0, 0, 0, 0.18); }

.phonenbr-label {
  display: inline-block;
  width: 4rem;
  font-size: .8em;
  vertical-align: center; }

.all-contact-info {
  padding-top: 3rem;
  padding-bottom: 0; }
  .all-contact-info .content p, .all-contact-info .content .generic-p {
    margin-bottom: .25rem; }
  .all-contact-info .content a.sociallink {
    display: inline-block;
    float: left;
    border-bottom: none !important;
    padding-top: .5rem; }
    .all-contact-info .content a.sociallink .icon-svg {
      height: 1.6rem;
      width: 1.6rem;
      margin-right: 1rem; }
  .all-contact-info .information-row .column-phone,
  .all-contact-info .information-row .column-location,
  .all-contact-info .information-row .column-hours,
  .all-contact-info .information-row .column-support,
  .all-contact-info .information-row .column-social {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    padding-bottom: 2rem; }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-phone,
      .all-contact-info .information-row .column-location,
      .all-contact-info .information-row .column-hours,
      .all-contact-info .information-row .column-support,
      .all-contact-info .information-row .column-social {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-phone,
      .all-contact-info .information-row .column-location,
      .all-contact-info .information-row .column-hours,
      .all-contact-info .information-row .column-support,
      .all-contact-info .information-row .column-social {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .all-contact-info .information-row .column-phone,
    .all-contact-info .information-row .column-location,
    .all-contact-info .information-row .column-hours,
    .all-contact-info .information-row .column-support,
    .all-contact-info .information-row .column-social {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .all-contact-info .information-row .column-phone,
      .all-contact-info .information-row .column-location,
      .all-contact-info .information-row .column-hours,
      .all-contact-info .information-row .column-support,
      .all-contact-info .information-row .column-social {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-phone,
    .all-contact-info .information-row .column-location,
    .all-contact-info .information-row .column-hours,
    .all-contact-info .information-row .column-support,
    .all-contact-info .information-row .column-social {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .all-contact-info .information-row .column-hours {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-hours {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-hours {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .all-contact-info .information-row .column-hours {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      border: solid 1px #d6dde3;
      padding: 1rem; }
      @media print, screen and (min-width: 40em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .all-contact-info .information-row .column-hours .extended-hours {
        margin-top: 2rem; } }
  @media print, screen and (min-width: 46.875em) {
    .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: -14rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .all-contact-info .information-row .column-social .button, .all-contact-info .information-row .column-support .button {
    margin-top: .5rem;
    margin-bottom: 0; }
  .all-contact-info .column-hours .regular-hours p, .all-contact-info .column-hours .regular-hours .generic-p, .all-contact-info .column-hours .extended-hours p, .all-contact-info .column-hours .extended-hours .generic-p {
    margin-bottom: 1em; }
  .all-contact-info .column-hours .hours-days-label {
    display: block;
    min-width: 8rem; }
  .all-contact-info .column-hours .hours-days {
    text-align: right;
    font-size: .9em; }
  .all-contact-info .column-hours .appointments {
    font-size: .9em; }
  .all-contact-info .column-hours h5 {
    font-size: .8em;
    font-weight: 600;
    margin-bottom: 1.6em; }
  .all-contact-info .column-hours .extended-hours {
    background: #fafafa; }
  .all-contact-info .column-hours .hours-days-label {
    font-size: .8em;
    vertical-align: center; }
  .all-contact-info .column-hours .extended-hours-disclaimer {
    font-size: .75em;
    color: #7d7d7d;
    padding-top: 1em; }
  .all-contact-info .column-location .directions-link {
    margin-top: 1rem;
    font-size: .8em; }

.map-section {
  padding-top: 3rem;
  padding-bottom: 5rem; }
  .map-section #map {
    width: 100%;
    height: 25rem; }
  .map-section .map-infowindow-content img {
    height: 1.6rem;
    margin: 0rem 0 .3rem; }
  .map-section .map-infowindow-content p, .map-section .map-infowindow-content .generic-p {
    margin-bottom: 0; }

.legal-header .container {
  padding: 2rem 0rem; }
  .legal-header .container .content .wrapper {
    padding: 0 1rem; }

.legal-header span {
  color: #ffffff;
  font-size: 1.5em;
  font-weight: 700; }

.legal-content .content {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap;
  padding-bottom: 4rem; }
  @media print, screen and (min-width: 40em) {
    .legal-content .content {
      padding-top: 2rem; } }

.legal-content .legal-navigation {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
  padding: 1rem 0;
  border-bottom: solid 1px #d6dde3; }
  @media print, screen and (min-width: 40em) {
    .legal-content .legal-navigation {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0;
      padding-left: 0;
      border-right: solid 1px #d6dde3;
      border-bottom-width: 0; } }
  @media print, screen and (min-width: 64em) {
    .legal-content .legal-navigation {
      flex: 0 0 16.66667%;
      max-width: 16.66667%;
      padding-right: 0;
      padding-left: 0; } }

.legal-content .content-wrapper {
  padding: 1rem 0; }
  @media print, screen and (min-width: 40em) {
    .legal-content .content-wrapper {
      padding-left: 2rem; } }

.footer-section {
  background: #fafafa;
  padding: 4rem 1rem 2rem; }
  .footer-section .container .site-links {
    max-width: none;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap;
    flex-wrap: wrap; }
    .footer-section .container .site-links > .links-block {
      flex: 0 0 50%;
      max-width: 50%; }
    @media print, screen and (min-width: 40em) {
      .footer-section .container .site-links {
        flex-wrap: wrap; }
        .footer-section .container .site-links > .links-block {
          flex: 0 0 25%;
          max-width: 25%; } }
    .footer-section .container .site-links .links-block {
      font-size: .75rem; }
      @media print, screen and (min-width: 40em) {
        .footer-section .container .site-links .links-block:last-of-type ul {
          padding-right: 0; } }
      .footer-section .container .site-links .links-block ul {
        list-style-type: none;
        margin: 0;
        margin-bottom: 1.25rem;
        padding-right: 1.25rem; }
        @media print, screen and (min-width: 40em) {
          .footer-section .container .site-links .links-block ul {
            padding-right: 2.5rem; } }
        .footer-section .container .site-links .links-block ul li {
          padding-top: .5em;
          padding-bottom: .5em;
          line-height: 1.2; }
          .footer-section .container .site-links .links-block ul li a {
            color: #0a0a0a; }
            .footer-section .container .site-links .links-block ul li a:hover {
              text-decoration: underline;
              color: #1f4e89; }
        .footer-section .container .site-links .links-block ul h4 {
          font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
          color: #898989;
          text-transform: uppercase;
          font-size: 1em;
          font-weight: 600; }
        .footer-section .container .site-links .links-block ul .title {
          color: #898989;
          text-transform: uppercase;
          font-size: 1em;
          font-weight: 600; }

.subfooter {
  background: #ededed;
  padding: 1rem 1rem 2rem; }
  .subfooter .container {
    padding-top: .5rem; }
    .subfooter .container a {
      color: #0a0a0a; }
      .subfooter .container a:hover {
        text-decoration: underline; }
    .subfooter .container .utility-links, .subfooter .container .language-social {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap;
      font-size: .7rem; }
      .subfooter .container .utility-links .links-left, .subfooter .container .language-social .links-left, .subfooter .container .utility-links .links-right, .subfooter .container .language-social .links-right {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding: .5rem 0 0; }
        @media print, screen and (min-width: 40em) {
          .subfooter .container .utility-links .links-left, .subfooter .container .language-social .links-left, .subfooter .container .utility-links .links-right, .subfooter .container .language-social .links-right {
            flex: 0 0 50%;
            max-width: 50%;
            padding-right: 0;
            padding-left: 0; } }
        .subfooter .container .utility-links .links-left ul, .subfooter .container .language-social .links-left ul, .subfooter .container .utility-links .links-right ul, .subfooter .container .language-social .links-right ul {
          list-style-type: none;
          margin: 0; }
          .subfooter .container .utility-links .links-left ul li, .subfooter .container .language-social .links-left ul li, .subfooter .container .utility-links .links-right ul li, .subfooter .container .language-social .links-right ul li {
            position: relative;
            display: inline-block; }
      .subfooter .container .utility-links .links-left ul li, .subfooter .container .language-social .links-left ul li {
        margin-right: 2em; }
      @media print, screen and (min-width: 40em) {
        .subfooter .container .utility-links .links-right, .subfooter .container .language-social .links-right {
          text-align: right; } }
      .subfooter .container .utility-links .links-right ul li, .subfooter .container .language-social .links-right ul li {
        padding-right: 1em; }
        .subfooter .container .utility-links .links-right ul li:last-of-type, .subfooter .container .language-social .links-right ul li:last-of-type {
          padding-right: 0; }
    .subfooter .container .language-social .social-row {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start; }
      @media print, screen and (min-width: 40em) {
        .subfooter .container .language-social .social-row {
          justify-content: flex-end; } }
      .subfooter .container .language-social .social-row .label-block, .subfooter .container .language-social .social-row .icons-block {
        flex: 0 0 auto;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; }
        @media print, screen and (min-width: 40em) {
          .subfooter .container .language-social .social-row .label-block, .subfooter .container .language-social .social-row .icons-block {
            padding-right: 1.25rem;
            padding-left: 1.25rem; } }
      .subfooter .container .language-social .social-row .label-block {
        padding-left: 0; }
      .subfooter .container .language-social .social-row .icons-block {
        margin-top: -.25rem;
        padding-right: 0; }
    .subfooter .container .language-social ul li {
      display: inline-block; }
      .subfooter .container .language-social ul li a {
        display: block;
        height: 1.5rem; }
      .subfooter .container .language-social ul li .icon-svg {
        height: 1.5rem;
        width: 1.5rem; }
    .subfooter .container .copyright-terms {
      font-size: .6rem; }
      .subfooter .container .copyright-terms::before {
        display: block;
        border-top: solid 1px #b7b7b7;
        height: 1px;
        width: 100%;
        content: "";
        margin-top: .25rem; }

.blog-nav {
  padding: .55rem 0;
  width: 100%;
  background: #f2f2f2; }
  .blog-nav .container {
    max-width: 75rem;
    margin: auto; }
  .blog-nav .title a {
    font-size: .9em;
    font-weight: 500;
    color: #007dff; }

.blog-nav-category {
  background: #ededed; }
  .blog-nav-category .container {
    max-width: 75rem;
    margin: auto;
    padding: 0 2rem; }
  .blog-nav-category .menu {
    margin-left: auto;
    margin-right: auto; }
    .blog-nav-category .menu li {
      font-size: .9rem; }
    .blog-nav-category .menu li > a {
      color: #b7b7b7;
      padding-top: 1.4rem;
      padding-bottom: 1.4rem; }
      @media print, screen and (min-width: 46.875em) {
        .blog-nav-category .menu li > a {
          padding: 1.4rem; } }
      .blog-nav-category .menu li > a:hover {
        color: #007dff; }
    .blog-nav-category .menu li.active > a {
      background: #ffffff;
      color: #007dff; }

.hero-blog-index .hero-content {
  padding-top: 2rem;
  padding-bottom: 2rem; }

.hero-blog-article .container {
  background: rgba(0, 125, 255, 0.35); }

.profile-pic {
  border-radius: 10rem;
  width: 6.5rem;
  height: 6.5rem;
  width: 7rem;
  height: 7rem;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  background: #898989;
  background-size: cover; }
  .profile-pic img {
    width: 12rem;
    height: auto; }

.section-blog-index-listing .blog-article {
  margin-bottom: 2rem;
  font-size: 1rem;
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .section-blog-index-listing .blog-article {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .section-blog-index-listing .blog-article article {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border: solid 1px #ededed;
    background: #fafafa;
    background: #ffffff;
    text-align: center; }
    .section-blog-index-listing .blog-article article header {
      line-height: .9;
      padding-top: 0;
      padding-bottom: 0; }
      .section-blog-index-listing .blog-article article header .post-image {
        overflow: hidden;
        height: 8rem;
        margin-bottom: .5rem; }
        .section-blog-index-listing .blog-article article header .post-image img {
          width: auto;
          height: 6rem;
          margin-top: 1rem; }
      .section-blog-index-listing .blog-article article header .category, .section-blog-index-listing .blog-article article header .separator {
        display: inline-block;
        font-size: .6em;
        color: #b7b7b7; }
      .section-blog-index-listing .blog-article article header a.category {
        text-transform: uppercase;
        font-weight: 500;
        border-bottom: none; }
        .section-blog-index-listing .blog-article article header a.category:hover {
          color: #007dff; }
      .section-blog-index-listing .blog-article article header .separator {
        margin: 0 .45em; }
      .section-blog-index-listing .blog-article article header h2 {
        font-size: 1.2em;
        font-weight: 400;
        text-align: center;
        color: #0a0a0a;
        color: #1f4e89;
        margin-top: .75em;
        margin-bottom: .9rem;
        padding: 0 1rem; }
    .section-blog-index-listing .blog-article article .summary {
      font-size: .75em;
      color: #333333;
      padding: 0 1rem; }
    .section-blog-index-listing .blog-article article a.read-more {
      border-color: #CACACA;
      color: #AAA; }
      .section-blog-index-listing .blog-article article a.read-more:hover {
        border-color: #007dff;
        color: #007dff; }

._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  padding: 1rem 0rem; }
  @media print, screen and (min-width: 40em) {
    ._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    ._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
      padding: 2rem 0;
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    ._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    ._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
      flex: 0 0 75%;
      max-width: 75%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    ._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    ._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    ._blog_article-width, .blog-article .articleblock-blogpostcontent .article-wrapper, .blog-article .article-next_prev, .blog-related-articles_article .wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.blog-article .container {
  padding-top: 0;
  padding-bottom: 1em; }

.blog-article div[class*="articleblock-"] {
  padding-top: 0;
  padding-bottom: 0; }

.blog-article section {
  padding-top: 0;
  padding-bottom: 0; }

.blog-article .articleblock-header {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

.blog-article .articleblock-social {
  max-width: 75rem;
  position: relative;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .blog-article .articleblock-social .social-wrapper {
      position: absolute;
      top: 2rem;
      left: .5rem;
      width: 4rem; } }
  .blog-article .articleblock-social .social-wrapper .is-stuck {
    margin-top: 5rem !important; }
  @media screen and (max-width: 39.9375em) {
    .blog-article .articleblock-social .social-wrapper .icons-row {
      padding: .6rem 0 .2rem 0; } }
  .blog-article .articleblock-social .social-wrapper .icons-row .social-link {
    height: 2.2rem;
    width: 2.2rem;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    background: #e6e6e6;
    color: #6c7f93;
    border: solid 1px #e6e6e6; }
    .blog-article .articleblock-social .social-wrapper .icons-row .social-link:hover {
      background: #ededed;
      color: #407ebf; }
    @media screen and (max-width: 39.9375em) {
      .blog-article .articleblock-social .social-wrapper .icons-row .social-link {
        margin: 1rem; } }
    @media print, screen and (min-width: 40em) {
      .blog-article .articleblock-social .social-wrapper .icons-row .social-link {
        margin-top: .3rem;
        margin-bottom: 1rem; } }
    .blog-article .articleblock-social .social-wrapper .icons-row .social-link .icon-svg {
      width: 60%;
      height: 60%;
      margin: 20%; }

.blog-article .articleblock-blogpostcontent .article-wrapper {
  position: relative; }

.blog-article .article-next_prev {
  margin: 0 auto; }

.blog-article article header {
  padding-top: 2em;
  padding-bottom: 2em;
  text-align: center; }
  .blog-article article header h1 {
    font-size: 2.2em;
    line-height: 1.2;
    color: #ffffff; }
  .blog-article article header h2 {
    font-size: 1.2em;
    font-weight: 400 !important;
    color: #e6e6e6; }
  .blog-article article header .article-summary {
    line-height: auto;
    font-size: .8em; }
  .blog-article article header .profile-pic {
    border-radius: 10rem;
    width: 3rem;
    height: 3rem;
    overflow: hidden;
    margin: 0 1em 0 0;
    display: inline-block; }
    .blog-article article header .profile-pic img {
      margin: 0 auto; }
  .blog-article article header .author, .blog-article article header .date {
    font-size: .8em;
    color: #e6e6e6; }
  .blog-article article header .separator {
    color: #fafafa; }
  .blog-article article header .language a {
    color: #121212;
    font-size: .75em;
    font-weight: 600;
    border-bottom: dotted 0.15em #121212; }
    .blog-article article header .language a:hover {
      color: #fafafa;
      border-bottom-color: #fafafa; }
  .blog-article article header .category, .blog-article article header .separator {
    display: inline-block;
    font-size: .7em;
    color: #b7b7b7; }
  .blog-article article header a.category {
    text-transform: uppercase;
    font-weight: 500;
    border-bottom: none; }
    .blog-article article header a.category:hover {
      color: #007dff; }

.blog-article article .featured-image {
  width: 100%;
  height: 12.5em;
  display: block;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  .blog-article article .featured-image img {
    width: 100%;
    height: 18em;
    overflow: visible; }

.blog-article article .article-body h1, .blog-article article .article-body h2, .blog-article article .article-body h3, .blog-article article .article-body h4, .blog-article article .article-body h5, .blog-article article .article-body h6 {
  font-weight: 500; }

.blog-article article .article-body p, .blog-article article .article-body .generic-p {
  font-family: 'Georgia', serif; }

.blog-article article .article-body ul, .blog-article article .article-body ol {
  margin-left: 3em; }

.blog-article article .article-body h1 {
  font-size: 1.8em; }

.blog-article article .article-body h2 {
  font-size: 1.6em; }

.blog-article article .article-body .articleImage {
  margin-top: 1em;
  margin-bottom: 1em;
  height: auto; }
  .blog-article article .article-body .articleImage .imageCaption {
    font-size: .8rem;
    color: #7d7d7d; }

.blog-article article .article-body .articleImage-full {
  width: 100%; }

.blog-article article .article-body .articleImage-right {
  width: 50% !important;
  float: right;
  margin-left: 1em; }

.blog-article article .article-body .articleImage-center {
  width: 75% !important;
  margin-left: auto;
  margin-right: auto; }

.blog-article article .article-body .featuredQuote blockquote {
  border-left: solid 3px #007dff;
  color: #007dff;
  font-size: 1.2em;
  padding-bottom: .5em; }

.blog-article article .article-body .callout, .blog-article article .article-body .section-callout, .blog-article article .article-body .relatedArticle, .blog-article article .article-body .featuredSnippet {
  margin-top: 2em;
  margin-bottom: 2em;
  word-wrap: break-word; }

.blog-article article .article-body .callout, .blog-article article .article-body .section-callout {
  padding: 3em;
  background: #fafafa;
  border: solid 1px #ededed; }
  .blog-article article .article-body .callout p, .blog-article article .article-body .section-callout p, .blog-article article .article-body .callout .generic-p, .blog-article article .article-body .section-callout .generic-p, .blog-article article .article-body .callout ul, .blog-article article .article-body .section-callout ul, .blog-article article .article-body .callout ol, .blog-article article .article-body .section-callout ol, .blog-article article .article-body .callout a, .blog-article article .article-body .section-callout a {
    font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif; }

.blog-article article .article-body .relatedArticle {
  background: #ffffff;
  border: solid 1px #007dff;
  padding: 1em; }

.blog-article article .article-body .featuredSnippet {
  text-align: center;
  border: solid 2px #007dff;
  border-width: 1px 0; }
  .blog-article article .article-body .featuredSnippet p, .blog-article article .article-body .featuredSnippet .generic-p {
    font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
    color: #898989;
    font-size: 1.15em;
    margin-bottom: 0;
    padding: 2em 0; }

.blog-relatedArticles-header {
  display: block;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  color: #898989;
  font-size: 1em;
  font-weight: 500;
  padding-bottom: 1rem; }
  .blog-relatedArticles-header span {
    display: inline-block;
    position: relative;
    padding-left: 0.5em;
    padding-right: 0.5em; }
    .blog-relatedArticles-header span:before, .blog-relatedArticles-header span:after {
      content: '';
      position: absolute;
      height: 100%;
      width: 9999px;
      top: 50%;
      border-top-style: solid;
      border-top-width: 1px;
      border-top-color: #cacaca; }
    .blog-relatedArticles-header span:before {
      right: 100%; }
    .blog-relatedArticles-header span:after {
      left: 100%; }

.blog-relatedArticles-card {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .blog-relatedArticles-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .blog-relatedArticles-card {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .blog-relatedArticles-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .blog-relatedArticles-card .card-wrapper {
    border: solid 1px #EAEAEA;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
    overflow: hidden; }
    .blog-relatedArticles-card .card-wrapper:hover {
      -webkit-box-shadow: 0 2px 4px #7d7d7d;
      -moz-box-shadow: 0 2px 4px #7d7d7d;
      box-shadow: 0 2px 4px #7d7d7d; }
  .blog-relatedArticles-card .card-image {
    padding: .25rem 1rem; }
    .blog-relatedArticles-card .card-image .post-image {
      width: 100%;
      height: 8rem;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
  .blog-relatedArticles-card .card-text h4 {
    font-size: .9rem; }
  .blog-relatedArticles-card .card-text p, .blog-relatedArticles-card .card-text .generic-p {
    font-size: .8rem; }
  .blog-relatedArticles-card .card-text .category {
    text-transform: uppercase;
    font-size: .7rem;
    color: #7d7d7d; }

.blog-related-articles_article {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  .blog-related-articles_article .wrapper {
    padding-left: 0;
    padding-right: 0; }

.hero-testimonials {
  background-image: none; }
  .hero-testimonials .container {
    background: #ffffff; }
    .hero-testimonials .container .hero-content {
      padding-top: 3rem;
      padding-bottom: 1.5rem;
      padding-bottom: 0rem; }
      .hero-testimonials .container .hero-content h1 {
        color: #007dff; }
      .hero-testimonials .container .hero-content p, .hero-testimonials .container .hero-content .generic-p {
        color: #0a0a0a; }
      .hero-testimonials .container .hero-content a {
        border-bottom: 1px dotted #1f4e89; }
        .hero-testimonials .container .hero-content a:hover {
          border-bottom-color: #007dff; }

.section-testimonial-personinfo .container {
  padding-bottom: 0; }
  .section-testimonial-personinfo .container h5 {
    padding-top: .5rem;
    margin-bottom: 0; }
  .section-testimonial-personinfo .container p.person-details, .section-testimonial-personinfo .container .person-details.generic-p {
    color: #b7b7b7; }

@media print, screen and (min-width: 40em) {
  .section-testimonial .container {
    padding-left: 15%;
    padding-right: 15%; } }

.section-testimonial p.summary, .section-testimonial .summary.generic-p {
  text-align: center;
  font-size: 1.4rem;
  padding-top: 2rem; }

.section-testimonial .testimonial-content h2 {
  font-size: 1.65rem;
  padding-bottom: 1.5rem;
  color: #0a0a0a;
  color: #007dff;
  color: #1f4e89;
  font-weight: 300;
  letter-spacing: -.02em; }

.section-testimonial-featurequote .container {
  padding: 0; }
  @media print, screen and (min-width: 40em) {
    .section-testimonial-featurequote .container {
      margin-left: 12%;
      margin-right: 12%; } }
  .section-testimonial-featurequote .container .content {
    background: #007dff; }
    .section-testimonial-featurequote .container .content h3 {
      padding: 1.5rem 1rem 1.5rem;
      text-align: center;
      font-size: 1.9rem;
      font-weight: 300;
      color: #007dff;
      color: #ffffff; }

.section-testimonial-video .container {
  max-width: 40rem;
  margin: 0 auto; }

.section-testimonial-video .testimonial-index-video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; }
  .section-testimonial-video .testimonial-index-video .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.section-testimonial-cards {
  background: #FCFCFC; }
  .section-testimonial-cards .testimonial-card-column {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .section-testimonial-cards .testimonial-card-column {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .section-testimonial-cards .testimonial-card-column {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .section-testimonial-cards .testimonial-card-column {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .section-testimonial-cards .testimonial-card-column {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .section-testimonial-cards .testimonial-card-column {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .section-testimonial-cards .testimonial-card {
    border: solid 1px #ededed;
    background: #ffffff;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px; }
    .section-testimonial-cards .testimonial-card .pic {
      padding: .8rem 0; }
    .section-testimonial-cards .testimonial-card .name, .section-testimonial-cards .testimonial-card .quote {
      background: #ffffff; }
    .section-testimonial-cards .testimonial-card .quote {
      color: #ffffff;
      color: #007dff;
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.4;
      padding: 1rem 1.5rem 0;
      letter-spacing: -.01em; }
    .section-testimonial-cards .testimonial-card .name {
      padding: 1rem 0; }
      .section-testimonial-cards .testimonial-card .name h5 {
        font-size: .7rem;
        font-weight: 500;
        margin-bottom: 0; }
      .section-testimonial-cards .testimonial-card .name .person-details {
        font-size: .5rem;
        color: #7d7d7d;
        margin: 0; }
    .section-testimonial-cards .testimonial-card .morelink div a {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 1em 1.4em;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 3px;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 0.9rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 1px solid #007dff;
      color: #007dff;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; }
      [data-whatinput='mouse'] .section-testimonial-cards .testimonial-card .morelink div a {
        outline: 0; }
      .section-testimonial-cards .testimonial-card .morelink div a, .section-testimonial-cards .testimonial-card .morelink div a:hover, .section-testimonial-cards .testimonial-card .morelink div a:focus {
        background-color: transparent; }
      .section-testimonial-cards .testimonial-card .morelink div a.disabled, .section-testimonial-cards .testimonial-card .morelink div a.disabled:hover, .section-testimonial-cards .testimonial-card .morelink div a.disabled:focus, .section-testimonial-cards .testimonial-card .morelink div a[disabled], .section-testimonial-cards .testimonial-card .morelink div a[disabled]:hover, .section-testimonial-cards .testimonial-card .morelink div a[disabled]:focus {
        background-color: transparent; }
      .section-testimonial-cards .testimonial-card .morelink div a:hover, .section-testimonial-cards .testimonial-card .morelink div a:focus {
        border-color: #0051a6;
        color: #0051a6; }
        .section-testimonial-cards .testimonial-card .morelink div a:hover.disabled, .section-testimonial-cards .testimonial-card .morelink div a:hover[disabled], .section-testimonial-cards .testimonial-card .morelink div a:focus.disabled, .section-testimonial-cards .testimonial-card .morelink div a:focus[disabled] {
          border: 1px solid #007dff;
          color: #007dff; }

.testimonial-profile-pic {
  border-radius: 10rem;
  width: 6.5rem;
  height: 6.5rem;
  width: 7rem;
  height: 7rem;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  background: #898989;
  background-size: cover; }
  .testimonial-profile-pic img {
    width: 12rem;
    height: auto; }

.testimonial-slider-container {
  padding: 1rem 1rem; }
  .testimonial-slider-container .orbit-previous,
  .testimonial-slider-container .orbit-next {
    color: #0a0a0a; }
    .testimonial-slider-container .orbit-previous:hover, .testimonial-slider-container .orbit-previous:active, .testimonial-slider-container .orbit-previous:focus,
    .testimonial-slider-container .orbit-next:hover,
    .testimonial-slider-container .orbit-next:active,
    .testimonial-slider-container .orbit-next:focus {
      background-color: transparent; }
  .testimonial-slider-container .orbit-previous {
    left: -1rem; }
  .testimonial-slider-container .orbit-next {
    right: -1rem; }
  .testimonial-slider-container .testimonial-slide {
    display: flex;
    justify-content: center;
    padding-top: 1rem; }
  .testimonial-slider-container .testimonial-slide-content {
    padding: 1rem 1.5rem; }
    @media screen and (min-width: 40em) {
      .testimonial-slider-container .testimonial-slide-content {
        padding: 1rem 4rem; } }
  .testimonial-slider-container .profile-pict {
    max-width: 225px; }
    .testimonial-slider-container .profile-pict img {
      border-radius: 50%; }
  .testimonial-slider-container .testimonial-slide-text {
    padding-left: 3rem;
    background: #fff !important;
    padding: 2rem 1rem 0.5rem; }
  .testimonial-slider-container .testimonial-slide-quotation {
    font: 1.5rem/2rem "Open Sans", sans-serif !important;
    position: relative;
    font-weight: 300 !important; }
    .testimonial-slider-container .testimonial-slide-quotation:before {
      content: "“";
      font-size: 6rem;
      color: #d6d6d6;
      position: absolute;
      left: -3rem;
      color: #076acd;
      font-size: 85px;
      font-weight: 700;
      font-family: serif; }
  .testimonial-slider-container .testimonial-slide-author-container {
    display: flex; }
    @media screen and (max-width: 28.0625em) {
      .testimonial-slider-container .testimonial-slide-author-container .testimonial-slide-author-info {
        margin-left: 1rem; } }

.orbit-previous {
  cursor: pointer; }
  .orbit-previous:before {
    border-color: #3197d6;
    border-top-width: 2px;
    margin-top: -0.3rem;
    margin-left: 0.3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    border-right-style: solid;
    border-right-width: 2px;
    border-top-style: solid;
    content: "";
    height: 1.2rem;
    width: 1.2rem;
    transform: translateY(-50%) rotate(-135deg) !important;
    cursor: pointer; }

.orbit-next {
  cursor: pointer; }
  .orbit-next:before {
    border-color: #3197d6;
    border-top-width: 2px;
    margin-top: -0.3rem;
    margin-left: 0.3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    border-right-style: solid;
    border-right-width: 2px;
    border-top-style: solid;
    content: "";
    height: 1.2rem;
    width: 1.2rem;
    transform: translateY(-50%) rotate(45deg) !important;
    cursor: pointer;
    margin-left: -25px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJfZm9udHMuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191dGlsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL192YWx1ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19kaXJlY3Rpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fc2VsZWN0b3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9fbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX21pc3NpbmctZGVwZW5kZW5jaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3RydWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHVyZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZW1vdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZXBsYWNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdG8tbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191dGlsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL194eS1ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19tZXRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Byb3RvdHlwZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JlbGF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm90YXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2hhZG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYXJyb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItbm9uZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL21vdGlvbi11aS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FyZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fc2VyaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19mYWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fc3Bpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fem9vbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fc2hha2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX3NsaWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL193aWdnbGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiX3RzLW1peGlucy5zY3NzIiwiX3RzLXNldHRpbmdzLnNjc3MiLCJfdHMtbWFpbi1uYXZiYXIuc2NzcyIsIl90cy1sYXlvdXQtZ2VuZXJhbC5zY3NzIiwiX3RzLXBhcnRpYWxzLnNjc3MiLCJfdHMtY29udGFjdC1lbGVtZW50cy5zY3NzIiwiX3RzLXNwZWNpZmljLTAtaG9tZXBhZ2Uuc2NzcyIsIl90cy1zcGVjaWZpYy0xLXRheHByZXAuc2NzcyIsIl90cy1zcGVjaWZpYy0yLWJ1c2luZXNzLnNjc3MiLCJfdHMtc3BlY2lmaWMtMi0xLWJ1c3RheGZpbmFuY2lhbHMuc2NzcyIsIl90cy1zcGVjaWZpYy0zLXRheHByb2Iuc2NzcyIsIl90cy1zcGVjaWZpYy00LWNvbnRhY3RfdXMuc2NzcyIsInRzLXNwZWNpZmljLTUtbGVnYWwuc2NzcyIsIl90cy1mb290ZXIuc2NzcyIsIl90cy1ibG9nLnNjc3MiLCJfdHMtdGVzdGltb25pYWxzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgJ3V0Zi04JztcclxuXHJcbkBpbXBvcnQgJ2ZvbnRzJztcclxuXHJcbkBpbXBvcnQgJ3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcbkBpbXBvcnQgJ21vdGlvbi11aSc7XHJcblxyXG4vLyBHbG9iYWwgc3R5bGVzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG5cclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcblxyXG4vLyBCYXNpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuXHJcbi8vIENvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcblxyXG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG5cclxuLy8gTGF5b3V0IGNvbXBvbmVudHNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcblxyXG4vLyBIZWxwZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xyXG5cclxuXHJcbi8qXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuKi9cclxuXHJcblxyXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIEBpbXBvcnQgJ2hhbWJ1cmdlcnNfb3ZlcnJpZGVzLnNjc3MnO1xyXG4vLyBAaW1wb3J0ICdoYW1idXJnZXJzLnNjc3MnO1xyXG4vLyBAaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2Nzcyc7XHJcbi8vQGltcG9ydCAnLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jc3MtaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2Nzcyc7XHJcblxyXG5cclxuQGltcG9ydCAndHMtbWl4aW5zJztcclxuQGltcG9ydCAndHMtc2V0dGluZ3MnO1xyXG5cclxuQGltcG9ydCAndHMtbWFpbi1uYXZiYXInO1xyXG5AaW1wb3J0ICd0cy1sYXlvdXQtZ2VuZXJhbCc7XHJcbkBpbXBvcnQgJ3RzLXBhcnRpYWxzJztcclxuQGltcG9ydCAndHMtY29udGFjdC1lbGVtZW50cyc7XHJcblxyXG5cclxuQGltcG9ydCAndHMtc3BlY2lmaWMtMC1ob21lcGFnZSc7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTEtdGF4cHJlcCc7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTItYnVzaW5lc3MnO1xyXG5AaW1wb3J0ICd0cy1zcGVjaWZpYy0yLTEtYnVzdGF4ZmluYW5jaWFscyc7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTMtdGF4cHJvYic7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTQtY29udGFjdF91cyc7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTUtbGVnYWwnO1xyXG5cclxuXHJcbkBpbXBvcnQgJ3RzLWZvb3Rlcic7XHJcblxyXG5AaW1wb3J0ICd0cy1ibG9nJztcclxuQGltcG9ydCAndHMtdGVzdGltb25pYWxzJzsiLCIvKiBUaGlzIHN0eWxlc2hlZXQgZ2VuZXJhdGVkIGJ5IFRyYW5zZm9udGVyIChodHRwOi8vdHJhbnNmb250ZXIub3JnKSBvbiBKYW51YXJ5IDE5LCAyMDE3IDE6MzkgQU0gKi9cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnQ29yZSBTYW5zIEEnO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTU1TWVkaXVtLUl0YWxpYy5lb3QnKTtcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E1NU1lZGl1bS1JdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E1NU1lZGl1bS1JdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTU1TWVkaXVtLUl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC1mYW1pbHk6J09wZW4gU2Fucycsc2Fucy1zZXJpZjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdDb3JlIFNhbnMgQSc7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNDVSZWd1bGFyLmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTQ1UmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTQ1UmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNDVSZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LWZhbWlseTonT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG59XHJcblxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdDb3JlIFNhbnMgQSc7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC5lb3QnKTtcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0EzNUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC1mYW1pbHk6J09wZW4gU2Fucycsc2Fucy1zZXJpZjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdDb3JlIFNhbnMgQSc7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC1JdGFsaWMuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC1JdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0EzNUxpZ2h0LUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtZmFtaWx5OidPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnQ29yZSBTYW5zIEEnO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTU1TWVkaXVtLmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTU1TWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNTVNZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTU1TWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LWZhbWlseTonT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0NvcmUgU2FucyBBJztcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E2NUJvbGQuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNjVCb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNjVCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E2NUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtZmFtaWx5OidPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnQ29yZSBTYW5zIEEnO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTc1RXh0cmFCb2xkLmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTc1RXh0cmFCb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNzVFeHRyYUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTc1RXh0cmFCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LWZhbWlseTonT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0NvcmUgU2FucyBBJztcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E3NUV4dHJhQm9sZC1JdGFsaWMuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNzVFeHRyYUJvbGQtSXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNzVFeHRyYUJvbGQtSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E3NUV4dHJhQm9sZC1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtZmFtaWx5OidPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbn1cclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw2MDAsNzAwLDgwMCcpO1xyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBUK1NhbnM6NDAwLDQwMGksNzAwLDcwMGknKTtcclxuLy8gQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1NZXJyaXdlYXRoZXI6NDAwLDcwMCcpOyIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRm9ybXNcclxuLy8gIDIwLiBMYWJlbFxyXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjIuIE1lbnVcclxuLy8gIDIzLiBNZXRlclxyXG4vLyAgMjQuIE9mZi1jYW52YXNcclxuLy8gIDI1LiBPcmJpdFxyXG4vLyAgMjYuIFBhZ2luYXRpb25cclxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI4LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICAyOS4gUmV2ZWFsXHJcbi8vICAzMC4gU2xpZGVyXHJcbi8vICAzMS4gU3dpdGNoXHJcbi8vICAzMi4gVGFibGVcclxuLy8gIDMzLiBUYWJzXHJcbi8vICAzNC4gVGh1bWJuYWlsXHJcbi8vICAzNS4gVGl0bGUgQmFyXHJcbi8vICAzNi4gVG9vbHRpcFxyXG4vLyAgMzcuIFRvcCBCYXJcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgcHJpbWFyeTogIzE3NzliYSxcclxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXHJcbiAgc3VjY2VzczogIzNhZGI3NixcclxuICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gIGFsZXJ0OiAjY2M0YjM3LFxyXG4gIHdoaXRlOiAjZmZmLFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xyXG4kZGFyay1ncmF5OiAjOGE4YThhO1xyXG4kYmxhY2s6ICMwYTBhMGE7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuXHJcbiAgLy8gY3VzdG9tIGNvbG9yIHBhbGV0dGU6XHJcbiAgLy8kYmx1ZS1wcmltYXJ5OiAjMzI5NmZlO1xyXG4gICRibHVlLXByaW1hcnk6ICMwMDdkZmY7XHJcbiAgJGJ1c2luZXNzLWJsdWU6ICMwNzZhY2Q7XHJcbiAgJGJsdWUtbGlnaHQtMTogIzE5OGFmZjtcclxuICAvLyAkYmx1ZS1saWdodC0yOiAjMzM5N2ZmO1xyXG4gICRibHVlLWxpZ2h0LTI6ICMwMDk1ZmY7XHJcbiAgJGJsdWUtbWlkLTE6ICMwMDU4YjM7XHJcbiAgJGJsdWUtZGFyay0xOiAjMWY0ZTg5O1xyXG4gICRibHVlLWRhcmstMjogIzAwNjRjYztcclxuICAvLyAkYmx1ZS1kYXJrLTM6ICMwMDNlN2Y7XHJcbiAgJGJsdWUtZGFyay0zOiAjMTE0NjgzO1xyXG4gICRibHVlLWdyYXktZGFyazogIzIzM0E1MjtcclxuICAkYmx1ZS1jYWxsb3V0OiAjZmFmY2ZmO1xyXG4gICRyZWQtcHJpbWFyeTogI2Y0NGQ1MjtcclxuICAkcmVkLW1lZGl1bTogZGFya2VuKCRyZWQtcHJpbWFyeSwyNSk7XHJcbiAgJGdyZWVuLWNvbW1vbjogIzEzZDU4YTtcclxuICAkYnVzaW5lc3MtZ3JlZW46ICMxNTg0M2E7XHJcbiAgJGdyYXktbGlnaHQtMTogI2ZhZmFmYTtcclxuICAvLyAkZ3JheS1saWdodC0xOiAjZjdmN2Y3O1xyXG4gICRncmF5LWxpZ2h0LTI6ICNlZGVkZWQ7XHJcbiAgJGdyYXktbGlnaHQtMzogI2U2ZTZlNjtcclxuICAkZ3JheS1taWQtMTogI2I3YjdiNztcclxuICAkZ3JheS1taWQtMjogI2NhY2FjYTtcclxuICAkZ3JheS1kYXJrLTA6ICMzNTM1MzU7XHJcbiAgJGdyYXktZGFyay0xOiAjN2Q3ZDdkO1xyXG4gICRncmF5LWRhcmstMjogIzg5ODk4OTtcclxuICAkZ3JheS1kYXJrLTM6ICMzMzMzMzM7XHJcblxyXG5cclxuICAvLyBjb2xvcnMgZm9yIHNwZWNpZmljIGVsZW1lbnRzIHNpdGUtd2lkZVxyXG4gICRjb2xvci1ib3JkZXItZ3JheTogI2Q2ZGRlMztcclxuXHJcblxyXG4gICR0cy1idXR0b24tcGFsZXR0ZTogKFxyXG4gICAgcHJpbWFyeTogJGJsdWUtcHJpbWFyeSxcclxuICAgIHNlY29uZGFyeTogJHJlZC1wcmltYXJ5LFxyXG4gICAgd2hpdGU6ICR3aGl0ZSxcclxuICAgIGRhcmstYmx1ZTogJGJsdWUtZGFyay0xLFxyXG4gICAgYnVzaW5lc3MtYmx1ZTogJGJ1c2luZXNzLWJsdWUsXHJcbiAgICBidXNpbmVzcy1ncmVlbjogJGJ1c2luZXNzLWdyZWVuLFxyXG4gICAgY29udGFjdDogZGFya2VuKCRyZWQtcHJpbWFyeSwgMTUpLFxyXG4gICAgc3VjY2VzczogIzNhZGI3NixcclxuICAgIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgICBhbGVydDogI2NjNGIzNyxcclxuICApO1xyXG5cclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4vLyAkYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRibHVlLWdyYXktZGFyaztcclxuLy8kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1mb250LWZhbWlseTogJ09wZW4gU2FucycsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogM3B4O1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcblxyXG5cclxuLy8gY3VzdG9tXHJcbiRib2R5LWJhY2tncm91bmQtYWx0OiAkZ3JheS1saWdodC0xO1xyXG4kYm9keS1iYWNrZ3JvdW5kLWFsdC0yOiAkZ3JheS1saWdodC0yO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwLFxyXG4gIHNtYWxsLXBsdXM6IDQ1MHB4LFxyXG4gIG1lZGl1bTogNjQwcHgsXHJcbiAgbWVkaXVtLXBsdXM6IDc1MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBzbWFsbC1wbHVzIG1lZGl1bSBtZWRpdW0tcGx1cyBsYXJnZSB4bGFyZ2UpO1xyXG5cclxuLy8gZm9yIE5hdmlnYXRpb24gQnJlYWtwb2ludHMgc2VlIF90cy1zZXR0aW5ncy5zY3NzXHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDMwcHgsXHJcbiAgbWVkaXVtOiA0MHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICdQVCBTYW5zJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5LWFsdGVybmF0ZTogJ0NvcmUgU2FucyBBJywgc2Fucy1zZXJpZjtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgLy8gJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAvLyAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgIC8vICdoMyc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgLy8gJ2g0JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAvLyAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE0KSxcclxuICAgIC8vICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyOCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE0KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAvLyAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgIC8vICdoMSc6ICgnZm9udC1zaXplJzogNDIpLFxyXG4gICAgLy8gJ2gyJzogKCdmb250LXNpemUnOiA0MCksXHJcbiAgICAvLyAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcclxuICAgIC8vICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgLy8gJ2g1JzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAvLyAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzYpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNiksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE1KSxcclxuICApLFxyXG4pO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4vLyAkYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XHJcbi8vICRidXR0b24tcGFkZGluZzogMS4wZW0gMi4yZW07XHJcbiRidXR0b24tcGFkZGluZzogMWVtIDEuNGVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbi8vICRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAxNSUpO1xyXG4vLyAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogMTAlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJHdoaXRlO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICR0cy1idXR0b24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC0zNSU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbi8vICRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LXJhZGl1czogMDtcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAxcmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgdGlueTogMTAwcHgsXHJcbiAgc21hbGw6IDIwMHB4LFxyXG4gIGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMTkuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kaW5wdXQtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjAuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMi4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuXHJcbi8vIDIzLiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNC4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcclxuLy8gJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcclxuLy8gJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAxMDAlO1xyXG4vLyAkb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4vLyAkb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbi8vICRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDE7XHJcbi8vICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwO1xyXG4vLyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDE7XHJcbi8vICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbi8vICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbi8vICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4vLyAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4vLyAkbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG4vLyAkb2ZmY2FudmFzLXNpemVzOiAoXHJcbi8vICAgc21hbGw6IDI1MHB4LFxyXG4vLyAgIG1lZGl1bTogMzUwcHgsXHJcbi8vICk7XHJcbi8vICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuLy8gICBzbWFsbDogMjUwcHgsXHJcbi8vICAgbWVkaXVtOiAzNTBweCxcclxuLy8gICBmdWxsLXNjcmVlbjogMTAwJSxcclxuLy8gKTtcclxuXHJcbiRvZmZjYW52YXMtc2l6ZXM6IChcclxuICBzbWFsbDogODUlLFxyXG4gIG1lZGl1bTogNTAwcHgsXHJcbiAgLy8gc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNCk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNS4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI2LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDI5LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gMzAuIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzMS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMzIuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG5cclxuLy8gMzMuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gMzQuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzUuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyAzNi4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNy4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuQGltcG9ydCAndW5pdCc7XG5AaW1wb3J0ICd2YWx1ZSc7XG5AaW1wb3J0ICdkaXJlY3Rpb24nO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAnc2VsZWN0b3InO1xuQGltcG9ydCAnZmxleCc7XG5AaW1wb3J0ICdicmVha3BvaW50JztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFNhZmVseSByZXR1cm4gYSB2YWx1ZSBmcm9tIGEgbWFwLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcmV0cmlldmUgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiB0aGUgbWFwIGtleS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCB2YWx1ZS5cbkBmdW5jdGlvbiBtYXAtc2FmZS1nZXQoJG1hcCwgJGtleSkge1xuICBAaWYgKHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcgb3IgKHR5cGUtb2YoJG1hcCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJG1hcCkgPT0gMCkpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnS2V5OiBgI3ska2V5fWAgaXMgbm90IGF2YWlsYWJsZSBpbiBgI3skbWFwfWAnO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdgI3skbWFwfWAgaXMgbm90IGEgdmFsaWQgbWFwJztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bCB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiQtemYtZm9udC1zdGFjazogKFxuICAnZ2VvcmdpYSc6IChHZW9yZ2lhLCBcIlVSVyBCb29rbWFuIExcIiwgc2VyaWYpLFxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcbiAgJ2x1Y2lkYS1ncmFuZGUnOiAoXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkJpdHN0cmVhbSBWZXJhIFNhbnNcIiwgc2Fucy1zZXJpZiksXG4gICdtb25vc3BhY2UnOiAoXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBcIk5pbWJ1cyBTYW5zIExcIiwgbW9ub3NwYWNlKSxcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxuICAndmVyZGFuYSc6IChWZXJkYW5hLCBHZW5ldmEsIFwiRGVqYVZ1IFNhbnNcIiwgc2Fucy1zZXJpZiksXG4pO1xuXG4vLy8gUmV0dXJuIGEgZm9udCBzdGFjayBsaXN0IGZyb20gYSBtYXAuIEVxdWl2YWxlbnQgdG8gYG1hcC1zYWZlLWdldCgkbmFtZSwgJC16Zi1mb250LXN0YWNrKWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCBbJC16Zi1mb250LXN0YWNrXSAtIE1hcCBvZiBmb250IHN0YWNrcyB0byByZXRyaWV2ZSBhIGxpc3QgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxuQGZ1bmN0aW9uIGZvbnQtc3RhY2soJHN0YWNrLCAkbWFwOiAkLXpmLWZvbnQtc3RhY2spIHtcbiAgQHJldHVybiBtYXAtc2FmZS1nZXQoJG1hcCwgJHN0YWNrKTtcbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuNC1yYzFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ25vcm1hbGl6ZS92YXJpYWJsZXMnO1xuQGltcG9ydCAnbm9ybWFsaXplL3ZlcnRpY2FsLXJoeXRobSc7XG5AaW1wb3J0ICdub3JtYWxpemUvbm9ybWFsaXplLW1peGluJztcbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vL1xuLy8vIENoZWNrcyB3aGV0aGVyIGAkZnVuY3Rpb25zYCBleGlzdCBpbiBnbG9iYWwgc2NvcGUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnTGlzdH0gJGZ1bmN0aW9ucyAtIGxpc3Qgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGZvclxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH0gV2hldGhlciBvciBub3QgdGhlcmUgYXJlIG1pc3NpbmcgZGVwZW5kZW5jaWVzXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygkZnVuY3Rpb25zLi4uKSB7XG4gICRtaXNzaW5nLWRlcGVuZGVuY2llczogKCk7XG4gIFxuICBAZWFjaCAkZnVuY3Rpb24gaW4gJGZ1bmN0aW9ucyB7XG4gICAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMoJGZ1bmN0aW9uKSB7XG4gICAgICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6IGFwcGVuZCgkbWlzc2luZy1kZXBlbmRlbmNpZXMsICRmdW5jdGlvbiwgY29tbWEpO1xuICAgIH1cbiAgfVxuICBcbiAgQGlmIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMCB7XG4gICAgQGVycm9yICdVbm1ldCBkZXBlbmRlbmNpZXMhIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSByZXF1aXJlZDogI3skbWlzc2luZy1kZXBlbmRlbmNpZXN9Lic7XG4gIH1cblxuICBAcmV0dXJuIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMDtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgdHJ1dGhpbmVzcyBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjaGVja1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWlzLXRydWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlID09IG51bGwsIGZhbHNlLCAkdmFsdWUgYW5kICR2YWx1ZSAhPSBudWxsIGFuZCAkdmFsdWUgIT0gJycgYW5kICR2YWx1ZSAhPSAoKSk7XG59XG4iLCIvLy9cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYCRsaXN0YCBjb250YWlucyBgJHZhbHVlYC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1jb250YWluXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gY2hlY2tcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIHZhbHVlIHRvIGxvb2sgZm9yXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIGEpXG4vLy8gLy8gdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1jb250YWluKGEgYiBjLCB6KVxuLy8vIC8vIGZhbHNlXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBub3Qgbm90IGluZGV4KCRsaXN0LCAkdmFsdWUpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtY29udGFpblxuLy8vIEBhbGlhcyBzbC1jb250YWluXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1pbmNsdWRlKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vIFJlbW92ZXMgYWxsIGZhbHNlIGFuZCBudWxsIHZhbHVlcyBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcHVyZ2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBsaXN0IHRvIHB1cmdlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXB1cmdlKG51bGwgYSBmYWxzZSBiKVxuLy8vIC8vIGEgYlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcHVyZ2UoJGxpc3QpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXRvLWxpc3QnKTtcbiAgXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgc2wtaXMtdHJ1ZSgkaXRlbSkge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRpdGVtLCBsaXN0LXNlcGFyYXRvcigkbGlzdCkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQGFsaWFzIHNsLXB1cmdlXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1jbGVhbigkbGlzdCkge1xuICBAcmV0dXJuIHNsLXB1cmdlKCRsaXN0KTtcbn1cbiIsIi8vL1xuLy8vIFJlbW92ZXMgdmFsdWUocykgYCR2YWx1ZWAgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlbW92ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlcGxhY2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgICAgICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgICAgIC0gdmFsdWUgdG8gcmVtb3ZlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlbW92ZShhIGIgYywgYSlcbi8vLyAvLyBiIGNcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtcmVwbGFjZScpO1xuXG4gIEByZXR1cm4gc2wtcmVwbGFjZSgkbGlzdCwgJHZhbHVlLCBudWxsKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlbW92ZVxuLy8vIEBhbGlhcyBzbC1yZW1vdmVcbi8vL1xuXG5AZnVuY3Rpb24gc2wtd2l0aG91dCgkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vXG4vLy8gUmVwbGFjZXMgYCRvbGRgIGJ5IGAkbmV3YCBpbiBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlcGxhY2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICRvbGQgICAtIHZhbHVlIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIG5ldyB2YWx1ZSBmb3IgJG9sZFxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCBiLCB6KVxuLy8vIC8vIGEgeiBjXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIHksIHopXG4vLy8gLy8gYSBiIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtcmVwbGFjZSgkbGlzdCwgJG9sZCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC1wdXJnZScsICdzbC10by1saXN0Jyk7XG5cbiAgJHJ1bm5pbmc6IHRydWU7XG5cbiAgQHdoaWxlICRydW5uaW5nIHtcbiAgICAkaW5kZXg6IGluZGV4KCRsaXN0LCAkb2xkKTtcblxuICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICRydW5uaW5nOiBmYWxzZTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkbGlzdDogc2V0LW50aCgkbGlzdCwgJGluZGV4LCAkdmFsdWUpO1xuICAgIH1cblxuICB9XG5cbiAgJGxpc3Q6IGlmKHNsLWlzLXRydWUoJHZhbHVlKSwgJGxpc3QsIHNsLXB1cmdlKCRsaXN0KSk7XG4gIFxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gQ2FzdHMgYCR2YWx1ZWAgaW50byBhIGxpc3QuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjYXN0IHRvIGxpc3Rcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlcGFyYXRvciBbc3BhY2VdIC0gc2VwYXJhdG9yIHRvIHVzZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC10by1saXN0KGEgYiBjLCBjb21tYSlcbi8vLyAvLyBhLCBiLCBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtdG8tbGlzdCgkdmFsdWUsICRzZXBhcmF0b3I6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZSkpIHtcbiAgQHJldHVybiBqb2luKCgpLCAkdmFsdWUsICRzZXBhcmF0b3IpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vIEBhbGlhcyBzbC10by1saXN0XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWxpc3RpZnkoJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkdmFsdWUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuQGltcG9ydCAndW5pdCc7XG5AaW1wb3J0ICd2YWx1ZSc7XG5AaW1wb3J0ICdkaXJlY3Rpb24nO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAnc2VsZWN0b3InO1xuQGltcG9ydCAnZmxleCc7XG5AaW1wb3J0ICdicmVha3BvaW50JztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgYSByb3cuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCBjb2x1bW4gY291bnQgb2YgYSBncmlkLiBDaGFuZ2luZyB0aGlzIHZhbHVlIGFmZmVjdHMgdGhlIGxvZ2ljIG9mIHRoZSBncmlkIG1peGlucywgYW5kIHRoZSBudW1iZXIgb2YgQ1NTIGNsYXNzZXMgb3V0cHV0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiBjb2x1bW5zIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4vLy8gQHNpbmNlIDYuMS4wXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgd2lsbCBhbGlnbiB0byB0aGUgb3Bwb3NpdGUgZWRnZSBvZiB0aGUgcm93LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgdXNlZCBmb3IgYW4gYWxpYXMgb2YgY29sdW1uICh3aXRoIEBleHRlbmQpLiBJZiBgZmFsc2VgLCBubyBhbGlhcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucycgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGlnaGVzdCBudW1iZXIgb2YgYC54LXVwYCBjbGFzc2VzIGF2YWlsYWJsZSB3aGVuIHVzaW5nIHRoZSBibG9jayBncmlkIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFsdWUgdG8gc3RvcmUgdGhlIGVuZCBjb2x1bW4gZmxvYXQgZGlyZWN0aW9uXG4kLXpmLWVuZC1mbG9hdDogaWYoJGdyaWQtY29sdW1uLWFsaWduLWVkZ2UsICRnbG9iYWwtcmlnaHQsICRnbG9iYWwtbGVmdCk7XG5cbkBpbXBvcnQgJ3Jvdyc7XG5AaW1wb3J0ICdjb2x1bW4nO1xuQGltcG9ydCAnc2l6ZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdndXR0ZXInO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuXG5AaW1wb3J0ICdmbGV4LWdyaWQnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIEVuYWJsZXMgdGhlIFhZIGdyaWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHh5LWdyaWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIGdyaWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgbWFyZ2luIGJldHdlZW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBtYXJnaW4gZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgaW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBwYWRkaW5nIGdyaWQuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBwYWRkaW5nIHRvIHVzZSB3aGVuIHBhZGRpbmcgdGhlIGdyaWQtY29udGFpbmVyLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIHRvIGFwcGx5IHRvIGEgZ3JpZCBjb250YWluZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2VsbHMgaW4gYW4gWFkgYmxvY2sgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR4eS1ibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuQGltcG9ydCAnZ3V0dGVycyc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2NlbGwnO1xuQGltcG9ydCAnZnJhbWUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnbGF5b3V0JztcbkBpbXBvcnQgJ2NvbGxhcHNlJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyfSksICN7eHktY2VsbC1zaXplKCRuKX0pO1xuXG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXMgKHRhZ3Mgb25seSlcbkBpbXBvcnQgJ2Jhc2UnO1xuXG4vLyBUeXBvZ3JhcGh5IGhlbHBlciBjbGFzc2VzIChjbGFzc2VzIG9ubHkpXG5AaW1wb3J0ICdoZWxwZXJzJztcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3Nlc1xuQGltcG9ydCAnYWxpZ25tZW50JztcblxuLy8gUHJpbnQgc3R5bGVzXG5AaW1wb3J0ICdwcmludCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHkge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBHbG9iYWwgc3BhY2luZyBmb3IgZm9ybSBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuQGltcG9ydCAndGV4dCc7XG5AaW1wb3J0ICdjaGVja2JveCc7XG5AaW1wb3J0ICdsYWJlbCc7XG5AaW1wb3J0ICdoZWxwLXRleHQnO1xuQGltcG9ydCAnaW5wdXQtZ3JvdXAnO1xuQGltcG9ydCAnZmllbGRzZXQnO1xuQGltcG9ydCAnc2VsZWN0JztcbkBpbXBvcnQgJ3JhbmdlJztcbkBpbXBvcnQgJ3Byb2dyZXNzJztcbkBpbXBvcnQgJ21ldGVyJztcbkBpbXBvcnQgJ2Vycm9yJztcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXg7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXNlbGVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWVycm9yO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpOztcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcbiAgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIElFIGFuZCBFZGdlXG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWV0ZXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIExlbmd0aFxuJG1ldGVyLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYW4gb3B0aW1hbCB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIGF2ZXJhZ2UgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGEgc3Vib3B0aW1hbCB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudCB7XG4gIG1ldGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRtZXRlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC8vIERpc2FibGUgYC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZWAgZnJvbSBnZXR0aW5nIHByZWZpeGVkLFxuICAgIC8vIFdlIGhhdmUgZGlzYWJsZWQgYXV0b3ByZWZpeGVyIGZpcnN0IGFuZCBhcmUganVzdCBvbmx5IHVzaW5nIFxuICAgIC8vIGAtbW96LWFwcGVhcmFuY2U6IG5vbmVgIGFzIGEgcHJlZml4IGFuZCBuZWdsZWN0aW5nIHRoZSB3ZWJraXQuXG4gICAgXG4gICAgLyohIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcblxuICAgIC8vIENocm9tZS9TYWZhcmkvRWRnZVxuICAgICY6Oi13ZWJraXQtbWV0ZXItYmFyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQge1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1zdWItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cbiAgICBcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZVxuLy8vL1xuXG4vLyBSZWxhdGlvbmFsIE1peGluc1xuQGltcG9ydCAncmVsYXRpb24nO1xuXG4vLyBCb3ggTWl4aW5cbkBpbXBvcnQgJ2JveCc7XG5cbi8vIFJvdGF0ZSBNaXhpblxuQGltcG9ydCAncm90YXRlJztcblxuLy8gVGV4dCB1dGlsaXRpZXNcbkBpbXBvcnQgJ3RleHQtdXRpbGl0aWVzJztcblxuLy8gVGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LXRyYW5zZm9ybWF0aW9uJztcblxuLy8gVGV4dCBEZWNvcmF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtZGVjb3JhdGlvbic7XG5cbi8vIEZvbnQgU3R5bGluZ1xuQGltcG9ydCAnZm9udC1zdHlsaW5nJztcblxuLy8gTGlzdCBTdHlsZSB0eXBlXG5AaW1wb3J0ICdsaXN0LXN0eWxlLXR5cGUnO1xuXG4vLyBSb3VuZGVkIFV0aWxpdHlcbkBpbXBvcnQgJ3JvdW5kZWQnO1xuXG4vLyBCb3JkZXJlZCBVdGlsaXR5XG5AaW1wb3J0ICdib3JkZXJlZCc7XG5cbi8vIFNoYWRvdyBVdGlsaXR5XG5AaW1wb3J0ICdzaGFkb3cnO1xuXG4vLyBBcnJvdyBVdGlsaXR5XG5AaW1wb3J0ICdhcnJvdyc7XG5cbi8vIFNlcGFyYXRvciBVdGlsaXR5XG5AaW1wb3J0ICdzZXBhcmF0b3InO1xuXG4vLyBPdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuQGltcG9ydCAnb3ZlcmZsb3cnO1xuXG4vLyBEaXNwbGF5IGNsYXNzZXNcbkBpbXBvcnQgJ2Rpc3BsYXknO1xuXG4vLyBQb3NpdGlvbiBIZWxwZXJzXG5AaW1wb3J0ICdwb3NpdGlvbic7XG5cbi8vIEJvcmRlciBib3hcbkBpbXBvcnQgJ2JvcmRlci1ib3gnO1xuXG4vLyBCb3JkZXIgbm9uZSBVdGlsdHlcbkBpbXBvcnQgJ2JvcmRlci1ub25lJztcblxuLy8gU2l6aW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc2l6aW5nJztcblxuLy8gU3BhY2luZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmc7XG59XG4iLCIvLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmaXJzdCgkbnVtKSB7XG4gIEBpZiAkbnVtID09IDEge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBmaXJzdCBleGFjdCBjaGlsZFxuQG1peGluIGZpcnN0LWNoaWxkIHtcbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBsYXN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgbGFzdCBleGFjdCBjaGlsZFxuQG1peGluIGxhc3QtY2hpbGQge1xuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBjaGlsZHJlbiBldmVyeSBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIG9mIGFsbCBjaGlsZHJlblxuQG1peGluIGV2ZXJ5KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IG9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGNoaWxkLlxuQG1peGluIGZpcnN0LWxhc3Qge1xuICAmOmZpcnN0LWNoaWxkLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGFmdGVyIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBBZnRlciBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBhZnRlci1maXJzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW0gKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJlZm9yZSBgJG51bWAgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZyb20gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmcm9tLWxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgZmlyc3QgYW5kIHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgY2FsbGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgXG5AbWl4aW4gZnJvbS1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfSksXG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJ1dCBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gYWxsIG90aGVyIGNoaWxkcmVuIFxuQG1peGluIGFsbC1idXQoJG51bSkge1xuICAmOm5vdCg6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiB0aGUgYCRudW1gIGZpcnN0IGFuZCB0aGUgYCRudW1gIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGV4Y2x1ZGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW5cbkBtaXhpbiBhbGwtYnV0LWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtfSk6bnRoLWxhc3QtY2hpbGQobiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCB0aGUgY2hpbGQgaWYgaXQncyB1bmlxdWUuIFRoYXQgbWVhbnMgdGhhdCBpZiB0aGVyZSBhcmUgYXQgbGVhc3QgMiBjaGlsZHJlbiwgdGhlIHN0eWxlIHdpbGwgbm90IGJlIGFwcGxpZWQuXG5AbWl4aW4gdW5pcXVlIHtcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCBjaGlsZHJlbiBpZiB0aGV5IGFyZSBub3QgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIGJlIGFwcGxpZWQuXG5AbWl4aW4gbm90LXVuaXF1ZSgpIHtcbiAgJjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGV2ZW4gY2hpbGRyZW4uXG5AbWl4aW4gZXZlbiB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBudGhgIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG50aGAgbnVtYmVyXG5AbWl4aW4gZXZlbi1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoZXZlbik6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgb2RkIGNoaWxkcmVuLlxuQG1peGluIG9kZCB7XG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIG9kZC1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQob2RkKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBgJG51bWAgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG5gIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG5gIG51bWJlclxuQG1peGluIG51bWJlci1iZXR3ZWVuKCRudW0sICRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm94XG4vLy8vXG5cbi8vLyBCb3ggTWl4aW46IEVhc2lseSBjcmVhdGUgYSBzcXVhcmUsIHJlY3RhbmdsZSBvciBhIGNpcmNsZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGhbXSBXaWR0aCBvZiB0aGUgYm94XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRbJHdpZHRoXSBIZWlnaHQgb2YgdGhlIGJveCwgZGVmYXVsdHMgdG8gYCR3aWR0aGAgdG8gZWFzaWx5IG1ha2UgYSBzcXVhcmVcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjaXJjbGVbZmFsc2VdIE1ha2VzIHRoZSBib3ggYSBjaXJjbGUsIGJ5IGRlZmF1bHQgYGZhbHNlYC5cbkBtaXhpbiBib3goXG4gICR3aWR0aCwgXG4gICRoZWlnaHQ6ICR3aWR0aCwgXG4gICRjaXJjbGU6IGZhbHNlXG4pIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBAaWYgJGNpcmNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1yb3RhdGVcbi8vLy9cblxuLy8vIFJvdGF0ZSBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZ1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZSgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVggTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWC1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVYKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVgoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVZIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFktQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWSgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVZKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWiBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBaLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVooJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWigkZGVnICsgZGVnKTtcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC11dGlsaXRpZXNcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdXRpbGl0aWVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFkZWZhdWx0O1xuXG4vLy8gSW1hZ2UgUmVwbGFjZW1lbnQgdXRpbGl0eS4gYHRleHQtaGlkZWBcbkBtaXhpbiB0ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBUcnVuY2F0aW5nIHRoZSB0ZXh0LCBlbGlwc2lzIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XSBUZXh0IFRydW5jYXRlXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcbiAgJG92ZXJmbG93OiAkcHJvdG90eXBlLXRleHQtb3ZlcmZsb3dcbikge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiAkb3ZlcmZsb3c7IFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxuQG1peGluIHRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gV3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LXdyYXBgXG5AbWl4aW4gdGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcyB7XG4gIC50ZXh0LWhpZGUge1xuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgfVxuXG4gIC50ZXh0LXRydW5jYXRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICB9XG5cbiAgLnRleHQtbm93cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LWhpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtbm93cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC10cmFuc2Zvcm1hdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBUcmFuc2Zvcm1hdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHJhbnNmb3JtYXRpb24gW10gVGV4dCBUcmFuc2Zvcm1hdGlvblxuQG1peGluIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbikge1xuICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybWF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgLnRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgXHRAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gIFx0XHRcdCAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gIFx0XHRcdCAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IGRlY29yYXRpb24gY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LWRlY29yYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IERlY29yYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVjb3JhdGlvbiBbXSBUZXh0IERlY29yYXRpb25cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgIC50ZXh0LSN7JGRlY29yYXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGRlY29yYXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBMZXR0ZXIgc3BhY2luZyBmb3IgYC5mb250LXdpZGVgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ub3JtYWxgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2lkZSBsZXR0ZXIgc3BhY2luZyFcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxldHRlci1zcGFjaW5nIFskcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmddIFdpZGUgbGV0dGVyIHNwYWNpbmcgZm9yIHRoZSBmb250XG5AbWl4aW4gZm9udC13aWRlKFxuICAkbGV0dGVyLXNwYWNpbmc6ICRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ1xuKSB7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtbm9ybWFsXSBXZWlnaHQgb2YgdGhlIGZvbnQgKG5vcm1hbClcbkBtaXhpbiBmb250LW5vcm1hbChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBXZWlnaHQgQm9sZCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxuQG1peGluIGZvbnQtYm9sZChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LWJvbGRcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgU3R5bGUgSXRhbGljXG5AbWl4aW4gZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XG4gIC5mb250LXdpZGV7XG4gICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICB9XG5cbiAgLmZvbnQtbm9ybWFsIHtcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgfVxuXG4gIC5mb250LWJvbGQge1xuICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgfVxuXG4gIC5mb250LWl0YWxpYyB7XG4gICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZm9udC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtd2lkZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ub3JtYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtaXRhbGljIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgbGlzdCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtdW5vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS1vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLXVub3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS11bm9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuLy8vIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS1vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLW9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGxpc3QtdW5vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgIHVsLmxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIHVsLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxpc3Qtb3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgIG9sLmxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgb2wuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlIHtcbiAgQGluY2x1ZGUgbGlzdC11bm9yZGVyZWQ7XG4gIEBpbmNsdWRlIGxpc3Qtb3JkZXJlZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1yb3VuZGVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciByb3VuZGVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXJhZGl1c2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vLyBSb3VuZGVkIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogQWRkcyByYWRpdXMgY29ybmVycyAoYWxsIGNvcm5lcnMpIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGl1cyBbJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXSBCb3JkZXIgcmFkaXVzIChhbGwgY29ybmVycylcbkBtaXhpbiBib3JkZXItcmFkaXVzKFxuICAkcmFkaXVzOiAkcHJvdG90eXBlLWJvcmRlci1yYWRpdXNcbikge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vLy8gUm91bmRlZCBzcXVhcmUgdXRpbGl0eSBvciByZWN0YW5nbGUgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBSb3VuZHMgYWxsIGNvcm5lcnMgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0IHRvIG1ha2UgYSBwaWxsIHNoYXBlLlxuQG1peGluIGJvcmRlci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkIHtcbiAgLnJvdW5kZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBGb3Igc3dpdGNoZXNcbiAgICB9XG4gIH1cblxuICAucmFkaXVzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaGFkb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNoYWRvdyB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm94LXNoYWRvd2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpICFkZWZhdWx0O1xuXG4vLy8gU2hhZG93IFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3ggc2hhZG93IHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNoYWRvdyBbJHByb3RvdHlwZS1ib3gtc2hhZG93XSBCb3ggU2hhZG93IG9mIGEgY29tcG9uZW50XG5AbWl4aW4gc2hhZG93KFxuICAkc2hhZG93OiAkcHJvdG90eXBlLWJveC1zaGFkb3dcbikge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcbiAgLnNoYWRvdyB7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNoYWRvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYXJyb3dcbi8vLy9cblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGFycm93YCBkaXJlY3Rpb25cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiB0aGUgQXJyb3csIGAwLjQzNzVyZW1gIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcblxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3cge1xuICBAZWFjaCAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbiBpbiAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnMge1xuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctc2l6ZSwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvblxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLW92ZXJmbG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBvdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgb3ZlcmZsb3dgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3Nlc1xuQG1peGluIG92ZXJmbG93KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdzogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIGhvcml6b250YWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKGhvcml6b250YWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy14KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy14OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gdmVydGljYWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKHZlcnRpY2FsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteSgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteTogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdyB7XG4gIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAub3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1kaXNwbGF5XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBkaXNwbGF5IGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgZGlzcGxheWAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEaXNwbGF5IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtZGlzcGxheWBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW10gRGlzcGxheSBjbGFzc2VzXG5AbWl4aW4gZGlzcGxheSgkZGlzcGxheSkge1xuICBkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheSB7XG4gIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItYm94XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgYm94LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYm94IHV0aWxpdHlcbkBtaXhpbiBib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveCB7XG4gIC5ib3JkZXItYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLW5vbmVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBub25lLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIG5vbmUgdXRpbGl0eVxuQG1peGluIGJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZSB7XG4gIC5ib3JkZXItbm9uZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBudW1iZXIgb2Ygc3BhY2VycyBjb3VudCAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtbWFyZ2luYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIE1hcmdpbiBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIE1hcmdpbiBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcbkBtaXhpbiBtYXJnaW4oXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkdG9wICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gUGFkZGluZyBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFBhZGRpbmcgUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBQYWRkaW5nIExlZnRcbkBtaXhpbiBwYWRkaW5nKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTWFyZ2luIGNsYXNzZXMgZm9yIHNwZWNpZmljIGRpcmVjdGlvbiBwcm9wZXJ0aWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXIgW10gRGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjZXIgW10gU3BhY2VyXG5AbWl4aW4gbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gYm90dG9tKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkcmlnaHQ6ICRzcGFjZXIsICRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gdmVydGljYWwpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpIHtcbiAgQGlmICgkZGlyID09IHRvcCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBsZWZ0KSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogJHNwYWNlciwgJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nIHtcbiAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgXG4gICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xuICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAuI3skcHJvcH0tI3skc3BhY2VyfSB7XG4gICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luOyBcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyICogJGdsb2JhbC1wYWRkaW5nOyBcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgIC4jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XG4gICAgICAgICAgICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luOyBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyICogJGdsb2JhbC1wYWRkaW5nOyBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAgICAgICAgICAgJi0jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXI7IFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXI7IFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBNb3Rpb24gVUkgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbS9tb3Rpb24tdWlcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5cbkBpbXBvcnQgJ3V0aWwvYW5pbWF0aW9uJztcbkBpbXBvcnQgJ3V0aWwvYXJncyc7XG5AaW1wb3J0ICd1dGlsL2tleWZyYW1lJztcbkBpbXBvcnQgJ3V0aWwvc2VsZWN0b3InO1xuQGltcG9ydCAndXRpbC9zZXJpZXMnO1xuQGltcG9ydCAndXRpbC90cmFuc2l0aW9uJztcbkBpbXBvcnQgJ3V0aWwvdW5pdCc7XG5cbkBpbXBvcnQgJ2VmZmVjdHMvZmFkZSc7XG5AaW1wb3J0ICdlZmZlY3RzL2hpbmdlJztcbkBpbXBvcnQgJ2VmZmVjdHMvc3Bpbic7XG5AaW1wb3J0ICdlZmZlY3RzL3pvb20nO1xuQGltcG9ydCAnZWZmZWN0cy9zaGFrZSc7XG5AaW1wb3J0ICdlZmZlY3RzL3NsaWRlJztcbkBpbXBvcnQgJ2VmZmVjdHMvd2lnZ2xlJztcblxuQGltcG9ydCAndHJhbnNpdGlvbnMvZmFkZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy9oaW5nZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy96b29tJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NsaWRlJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NwaW4nO1xuXG5AaW1wb3J0ICdjbGFzc2VzJztcbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi8vLyBQcm9jZXNzZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgZnVuY3Rpb24gYXJndW1lbnRzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJGFyZ3MpID09IDEge1xuICAgICRhcmc6IG50aCgkYXJncywgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigkYXJnKSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuIGNhbGwoJGFyZyk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRhcmcpID09ICdtYXAnIHtcbiAgICAgIEByZXR1cm4gJGFyZztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkYXJncy4uLik7XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQnVpbGRzIGEgc2VsZWN0b3IgZm9yIGEgbW90aW9uIGNsYXNzLCB1c2luZyB0aGUgc2V0dGluZ3MgZGVmaW5lZCBpbiB0aGUgYCRtb3Rpb24tdWktY2xhc3Nlc2AgYW5kIGAkbW90aW9uLXVpLXN0YXRlc2AgbWFwcy5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkc3RhdGVzIC0gT25lIG9yIG1vcmUgc3RyaW5ncyB0aGF0IGNvcnJlbGF0ZSB0byBhIHN0YXRlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFjdGl2ZSAtIERlZmluZXMgaWYgdGhlIHNlbGVjdG9yIGlzIGZvciB0aGUgc2V0dXAgb3IgYWN0aXZlIGNsYXNzLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZWxlY3RvciB0aGF0IGNhbiBiZSBpbnRlcnBvbGF0ZWQgaW50byB5b3VyIFNhc3MgY29kZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWJ1aWxkLXNlbGVjdG9yKCRzdGF0ZXMsICRhY3RpdmU6IGZhbHNlKSB7XG4gICRyZXR1cm46ICcnO1xuICAkY2hhaW46IG1hcC1nZXQoJG1vdGlvbi11aS1jbGFzc2VzLCBjaGFpbik7XG4gICRwcmVmaXg6IG1hcC1nZXQoJG1vdGlvbi11aS1jbGFzc2VzLCBwcmVmaXgpO1xuICAkc3VmZml4OiBtYXAtZ2V0KCRtb3Rpb24tdWktY2xhc3NlcywgYWN0aXZlKTtcblxuICBAZWFjaCAkc2VsIGluICRzdGF0ZXMge1xuICAgICRyZXR1cm46ICRyZXR1cm4gKyBpZigkY2hhaW4sICcmLicsICcjeyZ9LScpICsgJHByZWZpeCArICRzZWw7XG5cbiAgICBAaWYgJGFjdGl2ZSB7XG4gICAgICAkcmV0dXJuOiAkcmV0dXJuICsgaWYoJGNoYWluLCAnLicsICcjeyZ9LScpICsgJHByZWZpeCArICRzZWwgKyAkc3VmZml4O1xuICAgIH1cblxuICAgICRyZXR1cm46ICRyZXR1cm4gKyAnLCAnO1xuICB9XG5cbiAgQHJldHVybiBzdHItc2xpY2UoJHJldHVybiwgMSwgLTMpO1xufVxuIiwiJC1tdWktcXVldWU6ICgpO1xuXG4vLy8gUGF1c2VzIHRoZSBhbmltYXRpb24gb24gYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgdGhlbiBwbGF5cyBpdCB3aGVuIGFuIGFjdGl2ZSBjbGFzcyBpcyBhZGRlZCB0byBhIHBhcmVudC4gQWxzbyBzZXRzIHRoZSBmaWxsIG1vZGUgb2YgdGhlIGFuaW1hdGlvbiB0byBgYm90aGAuIFRoaXMgcGF1c2VzIHRoZSBlbGVtZW50IGF0IHRoZSBmaXJzdCBmcmFtZSBvZiB0aGUgYW5pbWF0aW9uLCBhbmQgaG9sZHMgaXQgaW4gcGxhY2UgYXQgdGhlIGVuZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbiVhbmltYXRlZC1lbGVtZW50IHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblxuICAuI3ttYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGFjdGl2YXRlLXF1ZXVlLWNsYXNzKX0gJiB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBuZXcgYW5pbWF0aW9uIHF1ZXVlLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbMHNdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gcGxhY2UgYXQgdGhlIGZyb250IG9mIHRoZSBhbmltYXRpb24gcXVldWUuXG5AbWl4aW4gbXVpLXNlcmllcygkZGVsYXk6IDBzKSB7XG4gICQtbXVpLXF1ZXVlOiAoKSAhZ2xvYmFsO1xuXG4gIEBpZiAkZGVsYXkgPiAwIHtcbiAgICAkaXRlbTogKCRkZWxheSwgMHMpO1xuICAgICQtbXVpLXF1ZXVlOiBhcHBlbmQoJC1tdWktcXVldWUsICRpdGVtKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vLyBBZGRzIGFuIGFuaW1hdGlvbiB0byBhbiBhbmltYXRpb24gcXVldWUuIE9ubHkgdXNlIHRoaXMgbWl4aW4gaW5zaWRlIG9mIGBtdWktc2VyaWVzKClgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbMXNdIC0gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGdhcCBbMHNdIC0gQW1vdW50IG9mIHRpbWUgdG8gcGF1c2UgYmVmb3JlIHBsYXlpbmcgdGhlIGFuaW1hdGlvbiBhZnRlciB0aGlzIG9uZS4gVXNlIGEgbmVnYXRpdmUgdmFsdWUgdG8gbWFrZSB0aGUgbmV4dCBlZmZlY3Qgb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IG9uZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAka2V5ZnJhbWVzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktcXVldWUoXG4gICRkdXJhdGlvbjogMXMsXG4gICRnYXA6IDBzLFxuICAka2V5ZnJhbWVzLi4uXG4pIHtcbiAgLy8gQnVpbGQgdGhlIGFuaW1hdGlvblxuICAka2Y6IC1tdWktcHJvY2Vzcy1hcmdzKCRrZXlmcmFtZXMuLi4pO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGVsYXkgZm9yIHRoaXMgYW5pbWF0aW9uIGJhc2VkIG9uIGhvdyBsb25nIHRoZSBwcmV2aW91cyBvbmVzIHRha2VcbiAgJGFjdHVhbC1kZWxheTogMHM7XG4gIEBlYWNoICRhbmltIGluICQtbXVpLXF1ZXVlIHtcbiAgICAkYWN0dWFsLWRlbGF5OiAkYWN0dWFsLWRlbGF5ICsgbnRoKCRhbmltLCAxKSArIG50aCgkYW5pbSwgMik7XG4gIH1cblxuICAvLyBBcHBlbmQgdGhpcyBhbmltYXRpb24ncyBsZW5ndGggYW5kIGdhcCB0byB0aGUgZW5kIG9mIHRoZSBxdWV1ZVxuICAkaXRlbTogKCRkdXJhdGlvbiwgJGdhcCk7XG4gICQtbXVpLXF1ZXVlOiBhcHBlbmQoJC1tdWktcXVldWUsICRpdGVtKSAhZ2xvYmFsO1xuXG4gIC8vIENTUyBvdXRwdXRcbiAgQGV4dGVuZCAlYW5pbWF0ZWQtZWxlbWVudDtcbiAgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbigka2YpO1xuICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYWN0dWFsLWRlbGF5O1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgYXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIGZhZGUoXG4gICRmcm9tOiAwLFxuICAkdG86IDFcbikge1xuICAkdHlwZTogdHlwZS1vZigkZnJvbSk7XG4gICRrZXlmcmFtZXM6ICgpO1xuXG4gIEBpZiAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmICRmcm9tID09IGluIHtcbiAgICAgICRmcm9tOiAwO1xuICAgICAgJHRvOiAxO1xuICAgIH0gQGVsc2UgaWYgJGZyb20gPT0gb3V0IHtcbiAgICAgICRmcm9tOiAxO1xuICAgICAgJHRvOiAwO1xuICAgIH1cbiAgfVxuXG4gICRmcm9tTmFtZTogJGZyb20gKiAxMDA7XG4gICR0b05hbWU6ICAgJHRvICAgKiAxMDA7XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdmYWRlLSN7JGZyb21OYW1lfS10by0jeyR0b05hbWV9JyxcbiAgICAwOiAob3BhY2l0eTogJGZyb20pLFxuICAgIDEwMDogKG9wYWNpdHk6ICR0byksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMzYwZGVnXSAtIEFtb3VudCB0byBzcGluLiBDYW4gYmUgYW55IENTUyBhbmdsZSB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMXR1cm5cbikge1xuICAkc3RhcnQ6IDA7XG4gICRlbmQ6IDA7XG5cbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBpZigkZGlyZWN0aW9uID09IGNjdywgJGFtb3VudCwgJGFtb3VudCAqIC0xKTtcbiAgICAkZW5kOiAwO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IDA7XG4gICAgJGVuZDogaWYoJGRpcmVjdGlvbiA9PSBjY3csICRhbW91bnQgKiAtMSwgJGFtb3VudCk7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NwaW4tI3skZGlyZWN0aW9ufS0jeyRhbW91bnR9JyxcbiAgICAwOiAodHJhbnNmb3JtOiByb3RhdGUoJHN0YXJ0KSksXG4gICAgMTAwOiAodHJhbnNmb3JtOiByb3RhdGUoJGVuZCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuQGZ1bmN0aW9uIHpvb20oXG4gICRmcm9tOiAwLFxuICAkdG86IDFcbikge1xuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NjYWxlLSN7JHRvfS10by0jeyRmcm9tfScsXG4gICAgMDogKHRyYW5zZm9ybTogc2NhbGUoJGZyb20pKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06IHNjYWxlKCR0bykpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2hha2luZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkaW50ZW5zaXR5IFs3JV0gLSBJbnRlbnNpdHkgb2YgdGhlIHNoYWtlLCBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIHNoYWtlKCRpbnRlbnNpdHk6IDclKSB7XG4gICRyaWdodDogKDAsIDEwLCAyMCwgMzAsIDQwLCA1MCwgNjAsIDcwLCA4MCwgOTApO1xuICAkbGVmdDogKDUsIDE1LCAyNSwgMzUsIDQ1LCA1NSwgNjUsIDc1LCA4NSwgOTUpO1xuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnc2hha2UtI3soJGludGVuc2l0eSAvIDElKX0nLFxuICAgICRyaWdodDogKHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkaW50ZW5zaXR5KSksXG4gICAgJGxlZnQ6ICh0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRpbnRlbnNpdHkpKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBXaGV0aGVyIHRvIG1vdmUgdG8gKGBpbmApIG9yIGZyb20gKGBvdXRgKSB0aGUgZWxlbWVudCdzIGRlZmF1bHQgcG9zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFt1cF0gLSBEaXJlY3Rpb24gdG8gbW92ZS4gQ2FuIGJlIGB1cGAsIGBkb3duYCwgYGxlZnRgLCBvciBgcmlnaHRgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFsxMDAlXSAtIERpc3RhbmNlIHRvIG1vdmUuIENhbiBiZSBhbnkgQ1NTIGxlbmd0aCB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzbGlkZShcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogdXAsXG4gICRhbW91bnQ6IDEwMCVcbikge1xuICAkZnJvbTogJGFtb3VudDtcbiAgJHRvOiAwO1xuICAkZnVuYzogJ3RyYW5zbGF0ZVknO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQgb3IgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgJGZ1bmM6ICd0cmFuc2xhdGVYJztcbiAgfVxuXG4gIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAkZnJvbTogMDtcbiAgICAkdG86ICRhbW91bnQ7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIG9yICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICAgJGZyb206IC0kZnJvbTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAgICR0bzogLSR0bztcbiAgICB9XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NsaWRlLSN7JHN0YXRlfS0jeyRkaXJlY3Rpb259LSN7c3RyaXAtdW5pdCgkYW1vdW50KX0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyRmcm9tfSknKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyR0b30pJyksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSB3aWdnbGluZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRpbnRlbnNpdHkgWzdkZWddIC0gSW50ZW5zaXR5IG9mIHRoZSB3aWdnbGUuIENhbiBiZSBhbnkgQ1NTIGFuZ2xlIHVuaXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIHdpZ2dsZSgkaW50ZW5zaXR5OiA3ZGVnKSB7XG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnd2lnZ2xlLSN7JGludGVuc2l0eX0nLFxuICAgICg0MCwgNTAsIDYwKTogKHRyYW5zZm9ybTogcm90YXRlKCRpbnRlbnNpdHkpKSxcbiAgICAoMzUsIDQ1LCA1NSwgNjUpOiAodHJhbnNmb3JtOiByb3RhdGUoLSRpbnRlbnNpdHkpKSxcbiAgICAoMCwgMzAsIDcwLCAxMDApOiAodHJhbnNmb3JtOiByb3RhdGUoMCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCR0b3AsICRsZWZ0LCAkYmx1ciwgJGNvbG9yLCAkaW5zZXQ6IGZhbHNlKSB7XHJcbiAgQGlmICRpbnNldCB7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6aW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcclxuICAgIC1tb3otYm94LXNoYWRvdzogJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwycyxlYXNlLW91dCk7ICovXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCR3aGF0OiBhbGwsICR0aW1lOiAwLjJzLCAkaG93OiBlYXNlLWluLW91dCkge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2hhdCAkdGltZSAkaG93O1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAgICAkd2hhdCAkdGltZSAkaG93O1xyXG4gICAgLW1zLXRyYW5zaXRpb246ICAgICAkd2hhdCAkdGltZSAkaG93O1xyXG4gICAgLW8tdHJhbnNpdGlvbjogICAgICAkd2hhdCAkdGltZSAkaG93O1xyXG4gICAgdHJhbnNpdGlvbjogICAgICAgICAkd2hhdCAkdGltZSAkaG93O1xyXG59XHJcblxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1yYWRpdXM6ICN7JHJhZGl1c307XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAjeyRyYWRpdXN9O1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogI3skcmFkaXVzfTtcclxuICAtbXMtYm9yZGVyLXJhZGl1czogI3skcmFkaXVzfTtcclxuICAtby1ib3JkZXItcmFkaXVzOiAjeyRyYWRpdXN9O1xyXG59XHJcblxyXG5cclxuLy8gU2lkZWxpbmVzXHJcbi8vIC0tLS0tLSBzaWRlbGluZXMgLS0tLS1cclxuXHJcbiAgJHNpZGVsaW5lcy10ZXh0LXBhZGRpbmc6IDAuNWVtICFkZWZhdWx0O1xyXG4gICRzaWRlbGluZXMtbGluZS10aGlja25lc3M6IDFweCAhZGVmYXVsdDtcclxuICAkc2lkZWxpbmVzLWxpbmUtbGVuZ3RoOiA5OTk5cHggIWRlZmF1bHQ7XHJcbiAgLy8gJHNpZGVsaW5lcy1saW5lLWNvbG9yOiBudWxsICFkZWZhdWx0O1xyXG4gICRzaWRlbGluZXMtbGluZS1jb2xvcjogJGdyYXktbWlkLTI7XHJcbiAgJHNpZGVsaW5lcy1saW5lLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuICAkc2lkZWxpbmVzLWRvdWJsZS1saW5lOiBmYWxzZSAhZGVmYXVsdDtcclxuICAkc2lkZWxpbmVzLWRvdWJsZS1saW5lLXNwYWNpbmc6IDAuNWVtICFkZWZhdWx0O1xyXG5cclxuICBAbWl4aW4gc2lkZWxpbmVzKFxyXG4gICAgJHRleHQtcGFkZGluZzogJHNpZGVsaW5lcy10ZXh0LXBhZGRpbmcsXHJcbiAgICAkbGluZS10aGlja25lc3M6ICRzaWRlbGluZXMtbGluZS10aGlja25lc3MsXHJcbiAgICAkbGluZS1sZW5ndGg6ICRzaWRlbGluZXMtbGluZS1sZW5ndGgsXHJcbiAgICAkbGluZS1jb2xvcjogJHNpZGVsaW5lcy1saW5lLWNvbG9yLFxyXG4gICAgJGxpbmUtc3R5bGU6ICRzaWRlbGluZXMtbGluZS1zdHlsZSxcclxuICAgICRkb3VibGUtbGluZTogJHNpZGVsaW5lcy1kb3VibGUtbGluZSxcclxuICAgICRkb3VibGUtbGluZS1zcGFjaW5nOiAkc2lkZWxpbmVzLWRvdWJsZS1saW5lLXNwYWNpbmcgKSB7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJHRleHQtcGFkZGluZztcclxuICAgICAgcGFkZGluZy1yaWdodDogJHRleHQtcGFkZGluZztcclxuXHJcbiAgICAgICY6YmVmb3JlLFxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAkbGluZS1sZW5ndGg7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogJGxpbmUtc3R5bGU7XHJcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpbmUtdGhpY2tuZXNzO1xyXG5cclxuICAgICAgICBAaWYgJGxpbmUtY29sb3IgIT0gbnVsbCB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkbGluZS1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkZG91YmxlLWxpbmUge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogJGxpbmUtc3R5bGU7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkbGluZS10aGlja25lc3M7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbGluZS1jb2xvcjtcclxuICAgICAgICAgIGhlaWdodDogJGRvdWJsZS1saW5lLXNwYWNpbmc7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtKCRkb3VibGUtbGluZS1zcGFjaW5nLzIpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGxpbmUtdGhpY2tuZXNzID4gMSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtKGZsb29yKCRsaW5lLXRoaWNrbmVzcy8yKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50eXBlLXNpZGVsaW5lcyB7XHJcbiAgICAvLyBAaW5jbHVkZSBzaWRlbGluZXMoKTtcclxuICB9XHJcblxyXG4gIC5kb3VibGUge1xyXG4gICAgLy8gQGluY2x1ZGUgc2lkZWxpbmVzKFxyXG4gICAgLy8gICAkZG91YmxlLWxpbmU6IHRydWVcclxuICAgIC8vICk7XHJcbiAgfVxyXG5cclxuICAvLyAuY3VzdG9tIHtcclxuICAvLyAgIEBpbmNsdWRlIHNpZGVsaW5lcyhcclxuICAvLyAgICAgJHRleHQtcGFkZGluZzogMjBweCxcclxuICAvLyAgICAgJGxpbmUtbGVuZ3RoOiAxMDAlLFxyXG4gIC8vICAgICAkbGluZS1jb2xvcjogIzI5ODBiOSxcclxuICAvLyAgICAgJGxpbmUtdGhpY2tuZXNzOiA0cHgsXHJcbiAgLy8gICAgICRsaW5lLXN0eWxlOiBkb3R0ZWRcclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyAuY3VzdG9tLTIge1xyXG4gIC8vICAgQGluY2x1ZGUgc2lkZWxpbmVzKFxyXG4gIC8vICAgICAkbGluZS1jb2xvcjogIzI3YWU2MCxcclxuICAvLyAgICAgJGxpbmUtdGhpY2tuZXNzOiA0cHhcclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG5cclxuIiwiLy8gIEN1c3RvbSBzZXR0aW5ncyBmb3IgVGF4U29sdXRpb25TXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG5cclxuXHJcblxyXG4vLyBOQVZCQVIgVkFSSUFCTEVTXHJcbiRuYXYtbW9iaWxlLWJyZWFrcG9pbnQ6IDc3MHB4O1xyXG4vLyAkbmF2LW1vYmlsZS1icmVha3BvaW50OiAkbWVkaXVtLXBsdXM7XHJcbiRuYXYtc21hbGx0ZXh0LWJyZWFrcG9pbnQ6IDk1MHB4O1xyXG5cclxuXHJcblxyXG4kbmF2YmFyLWhlaWdodC1kZXNrdG9wOiA0OXB4O1xyXG4kbmF2YmFyLWhlaWdodC1tb2JpbGU6IDUycHg7XHJcblxyXG5cclxuJG5hdi1mb250c2l6ZS1tZWRpdW06ICAgLjhyZW07XHJcbiRuYXYtZm9udHNpemUtc21hbGw6ICAuN3JlbTtcclxuXHJcbiRsYW5ndWFnZWJhci1pbnRlcmlvci1oZWlnaHQtZGVza3RvcDogXHQxMnB4O1xyXG4kbGFuZ3VhZ2ViYXItcGFkZGluZy10b3A6IFx0XHRcdFx0M3B4O1xyXG4kbGFuZ3VhZ2ViYXItcGFkZGluZy1ib3R0b206XHRcdFx0MHB4O1xyXG4kbGFuZ3VhZ2ViYXItaGVpZ2h0LWRlc2t0b3A6IFx0JGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wICsgJGxhbmd1YWdlYmFyLXBhZGRpbmctdG9wICsgJGxhbmd1YWdlYmFyLXBhZGRpbmctYm90dG9tICsgMXB4O1xyXG4iLCIvLyBOQVZJR0FUSU9OIEJBUlMgRk9SIFNJVEVcclxuXHJcbi8vIE1BSU4gTkFWSUdBVElPTiBCQVJcclxuXHJcblxyXG5cclxuLmxhbmd1YWdlLWJhciB7XHJcblx0Ly8gei1pbmRleDogOTk5MDtcclxuXHQvLyBwb3NpdGlvbjogZml4ZWQ7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHQvLyBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0Ly8gYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHQvLyBiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLDQpO1xyXG5cdC8vIGJhY2tncm91bmQ6ICRibHVlLXByaW1hcnk7XHJcblx0Ly8gYm9yZGVyLWJcclxuXHQvLyBiYWNrZ3JvdW5kOiB5ZWxsb3c7XHJcblx0cGFkZGluZzogJGxhbmd1YWdlYmFyLXBhZGRpbmctdG9wIDAgJGxhbmd1YWdlYmFyLXBhZGRpbmctYm90dG9tO1xyXG5cclxuXHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpe1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH1cclxuXHJcblx0Lm1lbnUge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdFx0Ly8gZm9udC1zaXplOiAuOGVtO1xyXG5cdFx0Ly8gbGluZS1oZWlnaHQ6ICRsYW5ndWFnZWJhci1oZWlnaHQtZGVza3RvcDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0aGVpZ2h0OiAkbGFuZ3VhZ2ViYXItaW50ZXJpb3ItaGVpZ2h0LWRlc2t0b3A7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdC8vIGxpbmUtaGVpZ2h0OiAkbGFuZ3VhZ2ViYXItaGVpZ2h0LWRlc2t0b3A7XHJcblx0XHR9XHJcblxyXG5cdFx0bGkubGFuZ3VhZ2UtaXRlbSB7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcclxuXHJcblx0XHRcdCY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuXHRcdFx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBkYXJrZW4oJHdoaXRlLCA4KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAkbGFuZ3VhZ2ViYXItaW50ZXJpb3ItaGVpZ2h0LWRlc2t0b3AgKi4yO1xyXG5cdFx0XHRmb250LXNpemU6ICRsYW5ndWFnZWJhci1pbnRlcmlvci1oZWlnaHQtZGVza3RvcCAqIDE7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wICogLjg7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm9wdGlvbi1waG9uZSB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdC8vIHdpZHRoOiAxMHJlbTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cclxuXHRcdFx0LnBob25lLWljb24ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnL3Jlc291cmNlcy9pbWcvcGhvbmUtaWNvbl9zb2xpZC5zdmcnKTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDBweDtcclxuXHJcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKCAjeyRsYW5ndWFnZWJhci1pbnRlcmlvci1oZWlnaHQtZGVza3RvcH0gKiAuNjUgKTtcclxuXHRcdFx0XHR3aWR0aDogIGNhbGMoICN7JGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wfSAqIC42NSApO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6ICBjYWxjKCAjeyRsYW5ndWFnZWJhci1pbnRlcmlvci1oZWlnaHQtZGVza3RvcH0gKiAuMiApO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogIGNhbGMoICN7JGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wfSAqIC4xNSApO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucGhvbmUtaWNvbi1zdmcge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm9wdGlvbi1sYW5ndWFnZSB7XHJcblx0XHRcdC8vIG1hcmdpbi1sZWZ0OiAuMjVyZW07XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHQvLyBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHRcdFx0Ly8gcGFkZGluZy1yaWdodDogLjI1cmVtO1xyXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0Ly8gcGFkZGluZy1yaWdodDogMHJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0XHJcblx0XHR9XHJcblxyXG5cdFx0LmFjdGl2ZS1sYW5ndWFnZSB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLm5hdi1iYXJfc3RpY2t5IHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdHRvcDogMDtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uc3RpY2t5IHtcclxuXHR6LWluZGV4OjUwO1xyXG59XHJcblxyXG4ubmF2LWJhciAge1xyXG5cdC5pcy1zdHVjay5jb250YWluZXIge1xyXG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdygxcHgsIDAsIDEwcHgsIGxpZ2h0ZW4oJGJsYWNrLDQwKSk7XHJcblx0XHQvLyBAbWl4aW4gYm94LXNoYWRvdygkdG9wLCAkbGVmdCwgJGJsdXIsICRjb2xvciwgJGluc2V0OiBmYWxzZSkge1xyXG5cdH1cclxuXHJcblx0Lm1lbnUgbGkgdWwuc3VibWVudS1kcm9wZG93biB7XHJcblx0XHQvLyBwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHQvLyB0b3A6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3A7XHJcblx0fVxyXG5cdFxyXG59XHJcblxyXG4jbmF2LWJhciAuaXMtYW5jaG9yZWQge1xyXG5cdC5tZW51IGxpIHVsLnN1Ym1lbnUtZHJvcGRvd24ge1xyXG5cdFx0Ly8gcG9zaXRpb246IGZpeGVkO1xyXG5cdFx0Ly8gdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdH1cclxuXHRcclxufVxyXG5cclxuLm5hdi1iYXIge1xyXG5cdC8vIGRpc3BsYXk6bm9uZTtcclxuXHR6LWluZGV4OiA5OTtcclxuXHRcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogJGxhbmd1YWdlYmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdC8vIGJhY2tncm91bmQ6IHB1cnBsZTtcclxuXHQvLyBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG5cclxuXHJcblxyXG5cdC5wcmltYXJ5LWxpbmtzIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHR6LWluZGV4OiAxMDA7XHJcblx0XHQvLyBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdC5yb3cgeyBtYXgtd2lkdGg6IDc2cmVtOyB9XHJcblxyXG5cclxuXHRcdC5uYXZiYXItbGVmdCwgLm5hdmJhci1jZW50ZXIsIC5uYXZiYXItcmlnaHR7XHJcblx0XHRcdHotaW5kZXg6IDEwMTtcclxuXHRcdH1cclxuXHJcblx0XHQubmF2YmFyLWxlZnQge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAjMGYwO1xyXG5cclxuXHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tb2JpbGU7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3A7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rLDApO1xyXG5cclxuXHRcdFx0LmxvZ28ge1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQudHNsb2dvIHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tb2JpbGUgKiAuNTtcclxuXHRcdFx0XHRcdC8vIG1hcmdpbi10b3A6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZSAqIC4zO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAuMzNyZW07XHJcblxyXG5cdFx0XHRcdFx0Ly8gdmVydGljYWxseSBjZW50ZXJcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRcdFx0XHQvLyBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AgKiAuMzU7XHJcblx0XHRcdFx0XHRcdC8vIGhlaWdodDogJG5hdmJhci1oZWlnaHQtZGVza3RvcCAqIC41NTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wICogLjU7XHJcblx0XHRcdFx0XHRcdC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjAlKTtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NiUpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LXNtYWxsdGV4dC1icmVha3BvaW50KSB7XHJcblx0XHRcdFx0XHRcdC8vIGhlaWdodDogJG5hdmJhci1oZWlnaHQtZGVza3RvcCAqIC40O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AgKiAuNjtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01OCUpO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU2JSk7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5uYXZiYXItcmlnaHQge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAjMGYwO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbihzaHJpbmssMCk7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0XHQuYnRuLW1vYmlsZS1tZW51IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYnRuLW1vYmlsZS1tZW51IHtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gdmVydGljYWxseSBjZW50ZXJcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5oYW1idXJnZXIge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgaGFtYnVyZ2VyKCRibHVlLXByaW1hcnksICRibHVlLWRhcmstMSwgMjRweCwgMTZweCwgMnB4LCAzKTtcclxuXHRcdFx0XHRcdC8vIGJvcmRlcjogMXB4IHNvbGlkICMwM2M7IFxyXG5cdFx0XHRcdFx0Ly9ib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYnRuLWNvbnRhY3Qge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbihmYWxzZSwgJHJlZC1wcmltYXJ5LCBkYXJrZW4oJHJlZC1wcmltYXJ5LDEwKSwgJHdoaXRlLCBzb2xpZCApO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHQvLyBwYWRkaW5nOiAuNTVyZW0gMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nOiAuNDVyZW0gMXJlbTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdFx0XHQvLyB2ZXJ0aWNhbGx5IGNlbnRlclxyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUyJSk7XHJcblxyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtc21hbGx0ZXh0LWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogLjRyZW0gLjc1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvLyBvbmx5IGZvciBkZXNrdG9wXHJcblx0XHQubmF2YmFyLWNlbnRlciB7XHRcdFxyXG5cdFx0XHRkaXNwbGF5Om5vbmU7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKGV4cGFuZCwwKTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dWwubWVudSB7XHJcblx0XHRcdFx0ICY+bGkge1xyXG5cclxuXHRcdFx0XHQgXHQmOmhvdmVyLCAmOmZvY3VzLXdpdGhpbiB7XHJcblx0XHRcdCBcdFx0XHRcclxuXHRcdFx0IFx0XHRcdD5hIHtcclxuXHRcdFx0IFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdCBcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHQgXHRcdH1cclxuXHRcdFx0IFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHQgXHQmPmEge1xyXG5cdFx0XHRcdFx0IFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0IFx0cGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AqLjM0O1xyXG5cdFx0XHQgXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHQgXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHQgXHRcdHBhZGRpbmctbGVmdDogIC42NXJlbTtcclxuXHRcdFx0XHQgXHRcdHBhZGRpbmctcmlnaHQ6IC42NXJlbTtcclxuXHRcdFx0XHQgXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdFx0XHRcdCBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LXNtYWxsdGV4dC1icmVha3BvaW50KSB7XHJcblx0XHRcdFx0XHQgXHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRcdCBcdFx0cGFkZGluZy1sZWZ0OiAgMXJlbTtcclxuXHRcdFx0XHRcdCBcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcclxuXHRcdFx0XHQgXHRcdH1cclxuXHJcblx0XHRcdFx0IFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHQgXHRcdHBhZGRpbmctbGVmdDogIDEuNXJlbTtcclxuXHRcdFx0XHRcdCBcdFx0cGFkZGluZy1yaWdodDogMS41cmVtO1xyXG5cdFx0XHRcdCBcdFx0fVxyXG5cclxuXHRcdFx0XHQgXHR9XHJcblx0XHRcdCBcdFx0XHJcblx0XHRcdFx0IH1cclxuXHJcblxyXG5cdFx0XHRcdC8vIHNob3cgc3VibWVudSBvbiBob3ZlclxyXG5cdFx0XHRcdCYgbGk6aG92ZXIgPiB1bC5zdWJtZW51LWRyb3Bkb3duLFxyXG5cdFx0XHRcdCYgbGk6Zm9jdXMtd2l0aGluID4gdWwuc3VibWVudS1kcm9wZG93bixcclxuXHRcdFx0XHQmIGxpIHVsLnN1Ym1lbnUtZHJvcGRvd246aG92ZXIge1xyXG5cdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdFxyXG5cdFx0XHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoJGdsb2JhbC13aWR0aCl7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsYyggKDEwMHZ3IC0gI3skZ2xvYmFsLXdpZHRofSkgLyAyICk7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNhbGMoICgxMDB2dyAtICN7JGdsb2JhbC13aWR0aH0pIC8gMiApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdHVsLnN1Ym1lbnUtZHJvcGRvd24ge1xyXG5cdFx0XHRcdFx0Ly8gXHJcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpub25lO1xyXG5cclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0XHRcdC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0Ly8gdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wICsgJGxhbmd1YWdlYmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0Ly8gdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0Ly8gdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJveC1zaGFkb3coMCwgNnB4LCA1cHgsIGxpZ2h0ZW4oJGJsYWNrLDUwKSApO1xyXG5cdFx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdFx0bGkuc3VibWVudS1pdGVtIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpe1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICR3aGl0ZTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogLjZyZW07XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKHNocmluaywwKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBsaWdodGVuKCRibHVlLXByaW1hcnksMTApO1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzcmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDNyZW07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oZXhwYW5kKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHktYWx0ZXJuYXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjNweDtcclxuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGdyYXktZGFyay0xLDEwKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMtd2l0aGluIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLDIpO1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHJcblx0XHRcdFx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0Ly8gLmlzLXN0aWNreSB7XHJcblx0Ly8gXHQucHJpbWFyeS1saW5rcyB7XHJcblx0Ly8gXHRcdC8vIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHQvLyBcdFx0cGFkZGluZzogLjVyZW0gMDtcclxuXHQvLyBcdFx0QGluY2x1ZGUgYm94LXNoYWRvdygwcHgsIDAsIDEwcHgsIHJnYmEoMCwgMCwgMCwgMC4zOSkpO1xyXG5cdC8vIFx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAwICNlNWU1ZTU7XHJcblxyXG5cdC8vIFx0XHQudG9wLWJhci1jZW50ZXIgI25hdmlnYXRpb24gbGk+YSB7XHJcblx0Ly8gXHRcdFx0Ly8gY29sb3I6ICRibHVlLWRhcmstMztcclxuXHQvLyBcdFx0XHQuY2FyZXQ6YmVmb3JlIHtcclxuXHQvLyBcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRibHVlLWRhcmstMztcclxuXHQvLyBcdFx0XHR9XHJcblx0Ly8gXHRcdH1cclxuXHJcblx0Ly8gXHRcdC50b3AtYmFyLXJpZ2h0IHtcclxuXHQvLyBcdFx0XHQubGFuZ3VhZ2Utc2VsZWN0LFxyXG5cdC8vIFx0XHRcdC5idG4tbGFuZ3VhZ2Uge1xyXG5cdC8vIFx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMTtcclxuXHQvLyBcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0Ly8gXHRcdFx0XHRib3JkZXItY29sb3I6ICRncmF5LWRhcmstMjtcclxuXHQvLyBcdFx0XHR9XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBcdH1cclxuXHQvLyB9XHJcblxyXG4vLyA9PT09IE1PQklMRSBOQVYgPT09PT09PT09PT1cclxuXHJcbi8vIFVzZWQgZm9yIE5hdmJhciBqYXZhc2NyaXB0XHJcbi5ib2R5X2RvX25vdF9zY3JvbGwge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG4ubW9iaWxlLW5hdiB7XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gI3skbmF2YmFyLWhlaWdodC1tb2JpbGV9ICk7XHJcblx0bWFyZ2luLXRvcDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xyXG5cdC8vIGZvciB3aWR0aCBzZWUgc2V0dGluZ3Muc2Nzcywgb2ZmIGNhbnZhcyBzZWN0aW9uXHJcblx0XHJcblxyXG5cdHVsIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcblx0XHQ+IGxpIHtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAwcHggJGdyYXktbGlnaHQtMjtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuXHRcdFx0JiA+IGEgIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAycmVtIDJyZW07XHJcblx0XHRcdFx0Y29sb3I6ICRibHVlLWRhcmstMztcclxuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHVsIHtcclxuXHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCR3aGl0ZSwxLjUpO1xyXG5cdFx0XHRcdFx0Ly8gYmFja2dyb3VuZDogZGFya2VuKCR3aGl0ZSwyKTtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogZGFya2VuKCRncmF5LWxpZ2h0LTIsMyk7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAuNXJlbSAwO1xyXG5cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHQud3JhcHBlciB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdygpO1xyXG5cdFx0XHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdFx0XHRmaWxsOiBjdXJyZW50Y29sb3I7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogbGlnaHRlbigkYmx1ZS1wcmltYXJ5LDEwKTtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogM3JlbTtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAzcmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKGV4cGFuZCk7XHJcblx0XHRcdFx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHktYWx0ZXJuYXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjlyZW07IFxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDByZW07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMHJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDByZW07XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGdyYXktZGFyay0xLDEwKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4tdGV4dF9ub2ljb24ge1xyXG5cdFx0XHRcdFx0XHRcdGg0LCBwIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHRcdFx0LmNvbnRhY3QtYnRuIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBidXR0b24oZmFsc2UsICRyZWQtcHJpbWFyeSwgYXV0bywgJHdoaXRlLCBzb2xpZCk7XHJcblx0XHRcdFx0bWFyZ2luOiAuNXJlbSBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0PiBsaTpmaXJzdC1vZi10eXBle1xyXG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAxcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0XHJcblx0XHQ+IGxpOmxhc3Qtb2YtdHlwZXtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMHB4O1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRcclxuXHRcdGxpLm1lbnVpdGVtLXBob25lIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtIDA7XHJcblxyXG5cdFx0XHQubnVtYmVyIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDEuMWVtO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0Ly8gbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xyXG5cdFx0XHRcdC8vIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5LWFsdGVybmF0ZTtcclxuXHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdC5waG9uZS1pY29uLXN2ZyB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdGhlaWdodDogMS44ZW07XHJcblx0XHRcdFx0d2lkdGg6IDEuOGVtO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogLjVlbTtcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxufSIsIi8qXHJcblx0XHJcblx0KysrKysrKysrKysgQkFTSUMgU1RSVUNUVVJFIE1BUCArKysrKysrKysrKysrXHJcblx0U2VlIHRoaXMgbWFwIGZvciBhIGdlbmVyYWwgc3VtbWFyeSBvZiBob3cgdGhlIHNlY3Rpb24gYmxvY2tzIHdvcmsuXHJcblxyXG5cdHwgc2VjdGlvblxyXG5cdFx0fCBjb250YWluZXJcclxuXHRcdFx0fCBjb250ZW50IChST1cpXHRcdC0tLS0tT1ItLS0tICBcdHwgaWNvbi1ncm91cCAoUk9XKVxyXG5cdFx0XHRcdHwgY29udGVudC1ibG9jazpcdFx0XHRcdFx0fCBpY29uLWJsb2NrXHJcblx0XHRcdFx0XHR8PGgyLHAsdWwgc3R5bGluZz5cdFx0XHRcdFx0fDxoMixwLHVsIHN0eWxpbmc+XHJcbiovXHJcblxyXG5cclxuXHJcblxyXG4vKi0tLS0tLSAgU1RBUlQgVE9DICAtLS0tLS1cclxuMS4gQmFzZSBFbGVtZW50c1xyXG5cdGEuIENvbnRhaW5lcnMgJiBTcGFjaW5nXHJcblx0Yi4gQ29sb3JzXHJcblx0Yy4gVGV4dHMgJiBIZWFkZXJzXHJcblx0ZC4gTGlua3NcclxuXHRlLiBCdXR0b25zXHJcblx0Zi4gSWNvbnMgLyBTVkdcclxuXHRnLiBCb3JkZXJzICYgRGl2aWRlcnNcclxuXHJcbjIuIFNlY3Rpb24gTGF5b3V0XHJcblx0YS4gU2VjdGlvbiBCYXNlXHJcblx0Yi4gQWx0ZXJuYXRlIFNlY3Rpb24gU3R5bGVzXHJcblxyXG4zLiBDb250ZW50IExheW91dHNcclxuXHRhLiBDb21tb24gTGF5b3V0c1xyXG5cdGIuIENvbnRlbnQgU3R5bGVzXHJcblxyXG5cclxuNC4gQ29udGVudC1CbG9ja3MgXHJcblx0YS4gQ29udGVudC1CbG9jayBMYXlvdXRzIChpbnNpZGUpXHJcblx0Yi4gQ29udGVudCBCbG9jayBUeXBlcyAoZGVzY3JpcHRpb24sIGltYWdlKVxyXG5cdGMuIE90aGVyIEJsb2NrIFR5cGVzIChjYXJkcywgZXRjKVxyXG5cclxuXHJcbjUuIEljb24tR3JvdXAgTGF5b3V0c1xyXG5cdGEuIEJhc2VcclxuXHRiLiBDb21tb24gTGF5b3V0c1xyXG5cdGMuIEljb24tQmxvY2sgTGF5b3V0c1xyXG5cdGQuIEljb24tQmxvY2sgU3R5bGVzXHJcblxyXG42LiBQcmVkZWZpbmVkIFNlY3Rpb25zXHJcblx0XHJcbjcuIFBhZ2UtU3BlY2lmaWMgU2VjdGlvbiBDbGFzc2VzICYgTW9kaWZpY2F0aW9uXHJcblxyXG5cclxuLS0tLS0tICBFTkQgVE9DICAtLS0tLS0gKi9cclxuXHJcblxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyAxLiBCYXNlIEVsZW1lbnRzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcblxyXG5cclxuXHQvLyBhLiBDb250YWluZXJzICYgU3BhY2luZ1xyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHRib2R5IHtcclxuXHRcdFx0Ly9lbmFibGUgZm9udCBzbW9vdGhpbmdcclxuXHRcdFx0Ly8td2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRcdFx0Ly8tbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cdFx0XHRmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcblxyXG5cdFx0XHQjbmF2YmFyX3BsYWNlaG9sZGVyIHtcclxuXHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LW1vYmlsZS1icmVha3BvaW50KSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6ICRsYW5ndWFnZWJhci1oZWlnaHQtZGVza3RvcDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdG1haW4jbWFpbi1jb250ZW50IHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LW1vYmlsZS1icmVha3BvaW50KSB7XHJcblx0XHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3A7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gJGNvbnRhaW5lci13aWR0aDogcmVtLWNhbGMoOTkwKTtcclxuXHRcdC8vICRjb250YWluZXItd2lkdGg6IHJlbS1jYWxjKDEwODApO1xyXG5cdFx0JGNvbnRhaW5lci13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcblx0XHRcclxuXHRcdC5zZWN0aW9uLXBhZGRpbmctc3RhbmRhcmQge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNXJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDVyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogNHJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0QG1peGluIGNvbnRhaW5lci10ZW1wbGF0ZSB7XHJcblx0XHRcdG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aDtcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250YWluZXItdGVtcGxhdGUge1xyXG5cdFx0XHRtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XHJcblx0XHRcdG1hcmdpbjogYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHQuY29udGFpbmVyLXBhZGRpbmctc3RhbmRhcmQge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDJyZW07XHJcblx0XHR9XHJcblxyXG5cclxuXHQvLyBiLiBDb2xvcnNcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHQvLyBCYWNrZ3JvdW5kIGdyYWRpZW50c1xyXG5cdFx0QG1peGluIGJsdWUtYmx1ZWdyZWVuLWdyYWRpZW50KCkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNTBkZWcsIHJnYmEoMjUsIDEzNiwgMjU1LCAxKSwgcmdiYSgzNywgMTcyLCAyMDIsIDEpICk7XHJcblxyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiByZ2JhKDI1LCAxMzYsIDI1NSwgMSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNSwgMTM2LCAyNTUsIDEpIDAlLCByZ2JhKDk4LCAyMDMsIDIyNywgMSkgMTAwJSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIHJpZ2h0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNSwgMTM2LCAyNTUsIDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDk4LCAyMDMsIDIyNywgMSkpKTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1LCAxMzYsIDI1NSwgMSkgMCUsIHJnYmEoOTgsIDIwMywgMjI3LCAxKSAxMDAlKTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNSwgMTM2LCAyNTUsIDEpIDAlLCByZ2JhKDk4LCAyMDMsIDIyNywgMSkgMTAwJSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1LCAxMzYsIDI1NSwgMSkgMCUsIHJnYmEoOTgsIDIwMywgMjI3LCAxKSAxMDAlKTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNSwgMTM2LCAyNTUsIDEpIDAlLCByZ2JhKDk4LCAyMDMsIDIyNywgMSkgMTAwJSk7XHJcblx0XHRcdC8vIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMTk4OGZmJywgZW5kQ29sb3JzdHI9JyM2MmNiZTMnLCBHcmFkaWVudFR5cGU9MSk7XHJcblx0XHR9XHJcblxyXG5cdFx0QG1peGluIGJsdWUtYmx1ZWdyZWVuLWxpbmVhci1ncmFkaWVudCgpIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBkYXJrZW4ocmdiYSgyNSwgMTM2LCAyNTUsIDEpLDYpLCBsaWdodGVuKHJnYmEoMzcsIDE3MiwgMjAyLCAxKSwwKSApO1xyXG5cdFx0fVxyXG5cdFx0XHJcblxyXG5cdFx0QG1peGluIGhlcm8tYmx1ZS1ncmFkaWVudCgpIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgwLCA5NSwgMTkxLCAwLjg1KSAwJSwgcmdiYSgwLCAxMjUsIDI1NSwgMC44NSkgMzYlLCByZ2JhKDAsIDEyNSwgMjU1LCAwLjg1KSA2MyUsIHJnYmEoMCwgNzYsIDE4MywgMC44NSkgMTAwJSk7XHJcblx0XHR9XHJcblxyXG5cdFx0QG1peGluIGhlcm8tYmx1ZS1ncmFkaWVudC10cmFuc3BhcmVudCgpIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgwLCA5NSwgMTkxLCAwLjc1KSAwJSwgcmdiYSgwLCAxMjUsIDI1NSwgMC43NSkgMzYlLCByZ2JhKDAsIDEyNSwgMjU1LCAwLjc1KSA2MyUsIHJnYmEoMCwgNzYsIDE4MywgMC43NSkgMTAwJSk7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdEBtaXhpbiBncmF5LWdyYWRpZW50KCkge1xyXG5cdFx0XHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZWVlZWVlKzAsZmFmYWZhKzU0ICovXHJcblx0XHRcdGJhY2tncm91bmQ6IHJnYigyMzgsIDIzOCwgMjM4KTtcclxuXHRcdFx0LyogT2xkIGJyb3dzZXJzICovXHJcblx0XHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyMzgsIDIzOCwgMjM4LCAxKSAwJSwgcmdiYSgyNTAsIDI1MCwgMjUwLCAxKSA1NCUpO1xyXG5cdFx0XHQvKiBGRjMuNi0xNSAqL1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjM4LCAyMzgsIDIzOCwgMSkgMCUsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMSkgNTQlKTtcclxuXHRcdFx0LyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyMzgsIDIzOCwgMjM4LCAxKSAwJSwgcmdiYSgyNTAsIDI1MCwgMjUwLCAxKSA1NCUpO1xyXG5cdFx0XHQvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cclxuXHRcdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNlZWVlZWUnLCBlbmRDb2xvcnN0cj0nI2ZhZmFmYScsIEdyYWRpZW50VHlwZT0xKTtcclxuXHRcdFx0LyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqL1xyXG5cdFx0fVxyXG5cclxuXHRcdEBtaXhpbiBsaWdodC1ibHVlLWdyYWRpZW50IHtcclxuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyMzEsIDIzOCwgMjQ1LCAxKTtcclxuXHRcdFx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDIzMSwgMjM4LCAyNDUsIDEpIDAlLCByZ2JhKDE4MCwgMjE0LCAyNDcsIDEpIDEwMCUpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjMxLCAyMzgsIDI0NSwgMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMTgwLCAyMTQsIDI0NywgMSkpKTtcclxuXHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDIzMSwgMjM4LCAyNDUsIDEpIDAlLCByZ2JhKDE4MCwgMjE0LCAyNDcsIDEpIDEwMCUpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDIzMSwgMjM4LCAyNDUsIDEpIDAlLCByZ2JhKDE4MCwgMjE0LCAyNDcsIDEpIDEwMCUpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyMzEsIDIzOCwgMjQ1LCAxKSAwJSwgcmdiYSgxODAsIDIxNCwgMjQ3LCAxKSAxMDAlKTtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyMzEsIDIzOCwgMjQ1LCAxKSAwJSwgcmdiYSgxODAsIDIxNCwgMjQ3LCAxKSAxMDAlKTtcclxuXHRcdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNlN2VlZjUnLCBlbmRDb2xvcnN0cj0nI2I0ZDZmNycsIEdyYWRpZW50VHlwZT0xKTtcclxuXHRcdH0gXHJcblxyXG5cdFx0QG1peGluIGJsdWUtZ3JheS1ncmFkaWVudCB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICM4ZTllYWIgIWltcG9ydGFudDtcclxuXHRcdFx0LyogZmFsbGJhY2sgZm9yIG9sZCBicm93c2VycyAqL1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y3ZjlmOSwgI2U5ZjRmZCkgIWltcG9ydGFudDtcclxuXHRcdFx0LyogQ2hyb21lIDEwLTI1LCBTYWZhcmkgNS4xLTYgKi9cclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjdmOWY5LCAjZTlmNGZkKSAhaW1wb3J0YW50O1xyXG5cdFx0XHQvKiBXM0MsIElFIDEwKy8gRWRnZSwgRmlyZWZveCAxNissIENocm9tZSAyNissIE9wZXJhIDEyKywgU2FmYXJpIDcrICovXHJcblx0XHR9XHJcblxyXG5cclxuXHRcdFxyXG5cdC8vIGMuIFRleHQgJiBIZWFkZXJzIFxyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHRcclxuXHRcdC5mb250LWFsdGVybmF0ZS0xIHtcclxuXHRcdFx0Ly8gZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdFx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU7XHJcblx0XHR9XHJcblxyXG5cdFx0aDEge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IDIuNHJlbTtcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAxLjhyZW07XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogMS42cmVtO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAuNHJlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdH1cclxuXHJcblx0XHRoMiB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGgzIHtcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAxLjJyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdC8vIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5LWFsdGVybmF0ZTtcclxuXHRcdFx0Ly8gZm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdH1cclxuXHJcblx0XHRoNCB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHQvLyBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU7XHJcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHR9XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdFx0Ly8gZm9udDogMTZweC8yM3B4ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdFx0XHQvLyBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR9XHJcblxyXG5cclxuXHQvLyByZXVzYWJsZSB0ZXh0IGVsZW1lbnRzXHJcblx0XHQuZ2VuZXJpYy1oMiB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHR9XHJcblxyXG5cdFx0LmdlbmVyaWMtaDMge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IDEuNXJlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IC41cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5nZW5lcmljLWg0IHtcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAxLjVyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAuNXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuZ2VuZXJpYy1oNSB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7IC8vIGxldHRlci1zcGFjaW5nOiA7OiAtLjAyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAuNXJlbTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmdlbmVyaWMtcCB7XHJcblx0XHRcdEBleHRlbmQgcDtcclxuXHRcdH1cclxuXHJcblx0XHJcblx0Ly8gYWx0ZXJuYXRlIGhlYWRlciBzdHlsaW5nc1xyXG5cdFx0LmgzLWFsdCB7XHJcblx0XHRcdC8vIEBleHRlbmQgLmdlbmVyaWMtaDM7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5LWFsdGVybmF0ZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdH1cclxuXHJcblx0XHQuaDQtYWx0IHtcclxuXHRcdFx0Ly8gQGV4dGVuZCAuZ2VuZXJpYy1oNDtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHktYWx0ZXJuYXRlO1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5oNS1hbHQge1xyXG5cdFx0XHQvLyBAZXh0ZW5kIC5nZW5lcmljLWg0O1xyXG5cdFx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmg2LWFsdCB7XHJcblx0XHRcdC8vIEBleHRlbmQgLmdlbmVyaWMtaDQ7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5LWFsdGVybmF0ZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdH1cclxuXHJcblxyXG5cdC8vIHRleHQgYWxpZ25tZW50c1xyXG5cdFx0LnRleHQtbGVmdCB7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0LnRleHQtc2l6ZS1zbWFsbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjlyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LnRleHQtc2l6ZS1zbWFsbGVyIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRcdH0gXHJcblxyXG5cclxuXHJcblxyXG5cdC8vIGQuIExpbmtzIFxyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHQkbGluay1jb2xvci1kZWZhdWx0OiAkYmx1ZS1kYXJrLTE7IFxyXG5cdFx0Ly8gJGxpbmstY29sb3ItZGVmYXVsdDogJGJsdWUtZGFyay0zO1xyXG5cdFx0JGxpbmstY29sb3ItZGVmYXVsdC1ob3ZlcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkbGluay1jb2xvci1kZWZhdWx0O1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogJGxpbmstY29sb3ItZGVmYXVsdC1ob3ZlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBtaXhpbiBsaW5rLWNvbG9yKCRsaW5rLWNvbG9yOlwiXCIsICRsaW5rLWNvbG9yLWhvdmVyOlwiXCIpIHtcclxuXHRcdFx0Ly8gQ09MT1JcclxuXHRcdFx0QGlmICRsaW5rLWNvbG9yICE9IFwiXCIge1xyXG5cdFx0XHRcdGNvbG9yOiAkbGluay1jb2xvcjtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBIT1ZFUlxyXG5cdFx0XHRcdEBpZiAkbGluay1jb2xvci1ob3ZlciAhPVwiXCJ7XHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRsaW5rLWNvbG9yLWhvdmVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAZWxzZSB7XHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRsaW5rLWNvbG9yLWRlZmF1bHQtaG92ZXI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAZWxzZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRsaW5rLWNvbG9yLWRlZmF1bHQ7XHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGxpbmstY29sb3ItZGVmYXVsdC1ob3ZlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC8vbGluay1kb3R0ZWQtY29sb3IgaXMgb3B0aW9uYWxcclxuXHRcdEBtaXhpbiBsaW5rLWRvdHRlZC11bmRlcmxpbmUoJGxpbmstZG90dGVkLWJvcmRlci1jb2xvcjpcIlwiLCAkbGluay1kb3R0ZWQtYm9yZGVyLWNvbG9yLWhvdmVyOlwiXCIpIHtcclxuXHJcblx0XHRcdEBpZiAkbGluay1kb3R0ZWQtYm9yZGVyLWNvbG9yICE9IFwiXCIge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGxpbmstZG90dGVkLWJvcmRlci1jb2xvcjtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGlmICRsaW5rLWRvdHRlZC1ib3JkZXItY29sb3ItaG92ZXIgIT0gXCJcIiB7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRsaW5rLWRvdHRlZC1ib3JkZXItY29sb3ItaG92ZXI7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiBsaWdodGVuKCRsaW5rLWRvdHRlZC1ib3JkZXItY29sb3IsMTUpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHRcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gaWYgbm8gbGluayBjb2xvciBkZWZpbmVkLCB1c2UgZGVmYXVsdFxyXG5cdFx0XHRAZWxzZSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkbGluay1jb2xvci1kZWZhdWx0O1xyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGxpbmstY29sb3ItZGVmYXVsdC1ob3ZlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0gXHJcblxyXG5cclxuXHRcdGEud2hpdGVsaW5rIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBtaXhpbiBsaW5rLWRvdHRlZC11bmRlcmxpbmVfd2hpdGUge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICR3aGl0ZTtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblx0XHR9IFxyXG5cclxuXHJcblx0XHQubGluay1jYXJldC1yaWdodDo6YWZ0ZXIge1xyXG5cdFx0XHRoZWlnaHQ6IDlweDtcclxuXHRcdFx0d2lkdGg6IDlweDtcclxuXHRcdH1cclxuXHJcblx0XHQubGluay1jYXJldC1yaWdodDo6YWZ0ZXIge1xyXG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuXHRcdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0XHRcdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0XHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5saW5rLWNhcmV0LWxlZnQ6OmFmdGVyLFxyXG5cdFx0LmxpbmstY2FyZXQtcmlnaHQ6OmFmdGVyLFxyXG5cdFx0LmxpbmstY2FyZXQtdXA6OmFmdGVyLFxyXG5cdFx0LmxpbmstY2FyZXQtYmVsb3c6OmFmdGVyIHtcclxuXHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMnB4O1xyXG5cdFx0XHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XHJcblx0XHRcdGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IC4zcmVtO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0XHR3aWR0aDogOXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDlweDtcclxuXHRcdH1cclxuXHJcblxyXG5cclxuXHJcblx0Ly8gZS4gQnV0dG9uc1xyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHQuYnV0dG9uIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdQVCBTYW5zJywgc2Fucy1zZXJpZjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAzLjNyZW07XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxN3B4O1xyXG5cdFx0XHRmb250LXNpemU6IDEuMXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5idXR0b24taG92ZXItc29saWRfYmx1ZXtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRibHVlLXByaW1hcnksMTUpO1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogZGFya2VuKCRibHVlLXByaW1hcnksMTUpO1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYnV0dG9uLWhvdmVyLXNvbGlkX3JlZHtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRyZWQtcHJpbWFyeSwxNSkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbigkcmVkLXByaW1hcnksMTUpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHJcblxyXG5cdC8vIGYuIFNWRyAvIEljb25zXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHQuaWNvbi1zdmctbWF4IHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pY29uLXN2Zy1oZWlnaHQtc3RkLCAuaWNvbi1zdmctaGVpZ2h0LW1lZGl1bSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogN3JlbTtcclxuXHJcblx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0Ly8gXHRoZWlnaHQ6IDlyZW07XHJcblx0XHRcdC8vIH1cclxuXHRcdH1cclxuXHJcblx0XHRcdFxyXG5cclxuXHRcdC5pY29uLXN2Zy1oZWlnaHQteHNtYWxsIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAzcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pY29uLXN2Zy1oZWlnaHQtc21hbGwge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDVyZW07XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5pY29uLXN2Zy1oZWlnaHQtbGFyZ2V7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogOXJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRoZWlnaHQ6IDEycmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lmljb24tc3ZnLWhlaWdodC14bGFyZ2V7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTJyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5pY29uLXN2Zy1oZWlnaHQtMnhsYXJnZXtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxNXJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRoZWlnaHQ6IDE4cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHJcblx0Ly8gZy4gQm9yZGVycyAmIERpdmlkZXJzXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblx0XHQudC1iZHItYm90dG9tIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcblx0XHRcdGJvcmRlci13aWR0aDogMXB4O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdH1cclxuXHJcblx0XHQudC1iZHItdG9wIHtcclxuXHRcdFx0Ym9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcblx0XHRcdGJvcmRlci13aWR0aDogMXB4O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdH1cclxuXHJcblx0XHQuY21uLWRpdmlkZXIge1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCBsaWdodGVuKCRjb2xvci1ib3JkZXItZ3JheSw1KTtcclxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwO1xyXG5cdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbi10b3A6IC41cmVtO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuXHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0Ly8gMi4gU2VjdGlvbiBMYXlvdXRcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHRcclxuXHRcclxuXHQvLyBTZWN0aW9uIEJhc2VcclxuXHQuc2VjdGlvbiB7XHJcblx0XHRAZXh0ZW5kIC5zZWN0aW9uLXBhZGRpbmctc3RhbmRhcmQ7XHJcblx0XHRcclxuXHJcblx0XHQvLyBMZXQgQ09OVEFJTkVSIGhhbmRsZSBIT1JJWk9OVEFMIFBBRERJTkcsXHJcblx0XHQvLyBMZXQgQ09OVEVOVCBoYW5kbGUgVkVSVElDQUwgUEFERElORyFcclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRAZXh0ZW5kIC5jb250YWluZXItdGVtcGxhdGU7XHJcblx0XHRcdEBleHRlbmQgLmNvbnRhaW5lci1wYWRkaW5nLXN0YW5kYXJkO1xyXG5cclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGNvbnRlbnQ6IHBhZGRpbmdcclxuXHRcdC5jb250ZW50e1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMi41cmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29udGVudDpmaXJzdC1vZi10eXBlLCAuY29udGVudC1ub19wYWRkaW5nIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQtc21hbGxfcGFkZGluZyB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250YWluZXItbm9wYWRkaW5nIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250YWluZXItbm9wYWRkaW5nLXNtYWxsIHtcclxuXHRcdFx0LnNtYWxsLTEyLCAuc21hbGwtMTEsIC5zbWFsbC0xMHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDByZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIGNvbnRlbnQ6IGludGVyaW9yIHN0eWxpbmdcclxuXHRcdC5jb250ZW50IHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcclxuXHRcdFx0XHJcblx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcblx0XHRcdFx0Ly8gbWFyZ2luLXRvcDoycmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRoMSwgaDIsIGgzIHsgXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0OyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGgyIHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5nZW5lcmljLWgyO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHJcblx0XHRcdFx0JitwLmludHJvIHtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4zZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRoMyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuZ2VuZXJpYy1oMztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdEBleHRlbmQgLmdlbmVyaWMtcDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRwIHtcdHRleHQtYWxpZ246IGxlZnQ7IH1cclxuXHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRhOm5vdCguYnV0dG9uLCAuY2FyZC1saW5rLCAuaWNvbi1ibG9jaykgIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGJsdWUtZGFyay0xO1xyXG5cclxuXHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0XHQvL2RvdHRlZCBib3JkZXIgdW5kZXIgcmVndWxhciBsaW5rcywgYXMgbG9uZyBhcyB0aGV5J3JlIG5vdCBidXR0b25zXHJcblx0XHRcdGE6bm90KC5jYXJkLWxpbmssIC5idXR0b24sIC5pY29uLWJsb2NrKSAge1xyXG5cdFx0XHRcdC8vIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Ly8gYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdG5vIGRvdHRlZCBib3JkZXIgdW5kZXIgdGhlc2UgYnV0dG9uIGNsYXNzZXNcclxuXHRcdFx0Ly8gYS5idXR0b24sIGEuY2FyZC1saW5rLCBhLmljb24tYmxvY2sge1xyXG5cdFx0XHQvLyBcdGJvcmRlci1ib3R0b206IGluaGVyaXQ7XHJcblx0XHRcdFx0XHJcblx0XHRcdC8vIFx0Jjpob3ZlciB7XHJcblx0XHRcdC8vIFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHQvLyBcdH1cclxuXHRcdFx0Ly8gfVxyXG5cclxuXHJcblx0XHRcdC5pY29uLWJsb2NrID4gYSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRmb250LXNpemU6IC43NXJlbTtcclxuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wZW07XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHQvLyBTZWN0aW9uIEFkanVzdG1lbnQgQ2xhc3Nlc1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0LnQtbXItdG17XHJcblx0XHRcdG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdC50LW1yLXRtLTJ7XHJcblx0XHRcdG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQucGRuZ3Rwbm9uZXtcclxuXHRcdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdC5wZG5nYnRtbm9uZXtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0XHJcblx0XHR9XHJcblx0XHQucmV2ZWFsLW92ZXJsYXl7XHJcblx0XHRcdHotaW5kZXg6IDk5OTk7XHJcblx0XHR9XHJcblx0XHRcclxuXHJcblx0XHQvLyAucGFkZGluZy1ub25le1xyXG5cdFx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC8vIFx0XHRwYWRkaW5nOiAwcmVtICFpbXBvcnRhbnQ7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHJcblx0XHRzZWN0aW9uIHA6bGFzdC1jaGlsZCwgYXJ0aWNsZSBwOmxhc3QtY2hpbGR7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcmVtO1xyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cdC8vIEFsdGVybmF0ZSBTZWN0aW9uIFN0eWxlc1xyXG5cdC8vIFNlY3Rpb24gQmFja2dyb3VuZHMgJiBCb3JkZXJzXHJcblx0LnNlY3Rpb24td2hpdGUge1xyXG5cdFx0YmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb24tZ3JheSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kLWFsdDtcclxuXHR9XHJcblxyXG5cdC5zZWN0aW9uLWdyYXktMiB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kLWFsdC0yO1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb24tYmx1ZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZS1saWdodC0yO1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblxyXG5cdC5zZWN0aW9uLW5vYmcge1xyXG5cdFx0YmFja2dyb3VuZDpub25lO1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb24tYmctZ3JhZGllbnQtZ3JheSB7XHJcblx0XHRAaW5jbHVkZSBncmF5LWdyYWRpZW50OyBcclxuXHR9XHJcblxyXG5cdC5zZWN0aW9uLWJnLWdyYWRpZW50LWJsdWUtZ3JheSB7XHJcblx0XHRAaW5jbHVkZSBibHVlLWdyYXktZ3JhZGllbnQ7XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbi1ib3JkZXItZ3JheSB7XHJcblx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggJGdyYXktbGlnaHQtMTtcclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQvLyAzLiBDb250ZW50IExheW91dHNcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHRcclxuXHQuc2VjdGlvbiB7XHJcblxyXG5cclxuXHRcdC8vIEJhc2UgQ29udGVudCBjbGFzc2VzXHJcblx0XHRcclxuXHJcblx0XHQuY29udGVudC1jZW50ZXJlZCB7XHRcdFx0XHJcblx0XHQvLyBzdGFuZGFyZCBiZWhhdmlvcjogbGVmdC1hbGlnbiBvbiBtb2JpbGUsIGNlbnRlciBhdCB3aWRlciB3aWR0aHNcclxuXHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGgxLFxyXG5cdFx0XHRoMixcclxuXHRcdFx0aDMsXHJcblx0XHRcdGg0IHtcclxuXHRcdFx0XHQvLyBtYXgtd2lkdGg6IDQycmVtO1xyXG5cdFx0XHRcdC8vIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdC8vIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdC8vIFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH0gXHJcblxyXG5cdFx0LmNvbnRlbnQtY2VudGVyZWRfYWxsIHtcclxuXHRcdC8vIGNlbnRlciBhdCBBTEwgdmlld3BvcnQgd2lkdGhzXHJcblxyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gQ29tbW9uIENvbnRlbnQgTGF5b3V0c1xyXG5cdFx0Ly8gLmNvbnRlbnQtbGF5b3V0LXNvbG8tcmlnaHR7XHJcblx0XHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gXHRcdHBhZGRpbmc6IDAgMXJlbTtcclxuXHRcdC8vIFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTsgXHJcblx0XHQvLyBcdH1cdFxyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC5jb250ZW50LWxheW91dC1zb2xvLWxlZnQsXHJcblx0XHQvLyAuY29udGVudC1sYXlvdXQtc29sby1yaWdodCxcclxuXHRcdC8vIFx0e1xyXG5cdFx0Ly8gXHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7IC8vIG1hcmdpbi1sZWZ0OiA1JTtcclxuXHRcdC8vIFx0Ly8gbWFyZ2luLXJpZ2h0OiA1JTtcclxuXHRcdC8vIFx0LmdyYXBoaWMsXHJcblx0XHQvLyBcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHQvLyBcdFx0Ly8gQGV4dGVuZCAuYWxpZ24tc2VsZi1taWRkbGU7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LmdyYXBoaWMge1xyXG5cdFx0Ly8gXHRcdEBleHRlbmQgLm1lZGl1bS01OyAvLyBAZXh0ZW5kIC5tZWRpdW0tb2Zmc2V0LTE7XHJcblx0XHQvLyBcdFx0Ly8gbWFyZ2luOiAwO1xyXG5cdFx0Ly8gXHRcdHRleHQtYWxpZ246IGNlbnRlcjsgLy8gcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cdFx0Ly8gXHRcdC8vYmFja2dyb3VuZDogcmdiYSgxNTAsMSwxNDUsLjUpO1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gXHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHRcdC5pY29uLXN2ZyB7XHJcblx0XHQvLyBcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHQvLyBcdFx0XHRoZWlnaHQ6IDIwcmVtO1xyXG5cdFx0Ly8gXHRcdFx0d2lkdGg6IDIwcmVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0Ly8gXHRcdC8vYmFja2dyb3VuZDogcmdiYSgxLDE1MCwxNDUsLjUpO1xyXG5cdFx0Ly8gXHRcdEBleHRlbmQgLm1lZGl1bS01O1xyXG5cdFx0Ly8gXHRcdC50ZXh0LWlubmVyIHtcclxuXHRcdC8vIFx0XHRcdEBleHRlbmQgLnRleHQtbGVmdDtcclxuXHRcdC8vIFx0XHRcdG1heC13aWR0aDogMzkwcHg7XHJcblx0XHQvLyBcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLmNvbnRlbnQtbGF5b3V0LXNvbG8tbGVmdCB7XHJcblx0XHQvLyBcdC5ncmFwaGljIHtcclxuXHRcdC8vIFx0XHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0xO1xyXG5cdFx0Ly8gXHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHQvLyBcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMjtcclxuXHRcdC8vIFx0XHRAZXh0ZW5kIC5tZWRpdW0tb3JkZXItMjtcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC5jb250ZW50LWxheW91dC1zb2xvLXJpZ2h0IHtcclxuXHRcdC8vIFx0LmdyYXBoaWMge1xyXG5cdFx0Ly8gXHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTE7XHJcblx0XHQvLyBcdFx0QGV4dGVuZCAubWVkaXVtLW9yZGVyLTI7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdC8vIFx0XHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0yO1xyXG5cdFx0Ly8gXHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLmNvbnRlbnQtbGF5b3V0LXNvbG8tY2VudGVyIHtcclxuXHRcdC8vIFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0Ly8gXHQuY29udGVudC1ibG9jayB7XHJcblx0XHQvLyBcdFx0QGV4dGVuZCAuYWxpZ24tc2VsZi1taWRkbGU7XHJcblx0XHQvLyBcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHQvLyBcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHQvLyBcdFx0LnRleHQtaW5uZXIge1xyXG5cdFx0Ly8gXHRcdFx0aDIge1xyXG5cdFx0Ly8gXHRcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHQvLyBcdFx0XHRcdG1heC13aWR0aDogNjAwcHg7XHJcblx0XHQvLyBcdFx0XHR9XHJcblx0XHQvLyBcdFx0XHRwIHtcclxuXHRcdC8vIFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0Ly8gXHRcdFx0XHRtYXgtd2lkdGg6IDcwMHB4O1xyXG5cdFx0Ly8gXHRcdFx0fVxyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQuZ3JhcGhpYyB7XHJcblx0XHQvLyBcdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAuY29udGVudC1sYXlvdXQtMi0xIHtcclxuXHRcdC8vIFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHQvLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdC8vIFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLy8gU3BlY2lhbCBMYXlvdXRzXHJcblx0XHQvLyAuY29udGVudC1sYXlvdXQtbGVmdC1oZWFkZXIge1xyXG5cdFx0Ly8gXHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHQvLyBcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdH0gXHJcblxyXG5cclxuXHQvLyBiLiBDb250ZW50IFN0eWxlc1xyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ly8gQ2FsbG91dHNcclxuXHRcclxuXHQuY2FsbG91dCB7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbi1jYWxsb3V0IHtcclxuXHRcdEBleHRlbmQgLmNhbGxvdXQ7XHJcblx0fSBcclxuXHJcblx0Ly8gSGlnaGxpZ2h0IENvbnRhaW5lciBMYXlvdXRzXHJcblx0Ly8gTk9URTogdXNlIC5jb250YWluZXItbm9wYWRkaW5nIG9uIHBhcmVudCBjb250YWluZXIhXHJcblx0QG1peGluIGNvbnRlbnQtaGlnaGxpZ2h0LWJveCB7XHJcblx0XHQvLyBtYXJnaW4tbGVmdDogM3JlbTtcclxuXHRcdC8vIG1hcmdpbi1yaWdodDogM3JlbTtcclxuXHR9XHJcblxyXG5cdC5jb250ZW50LWhpZ2hsaWdodC1ib3gtYmx1ZSB7XHJcblx0XHRAaW5jbHVkZSBjb250ZW50LWhpZ2hsaWdodC1ib3g7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYmx1ZS1saWdodC0yLCAuOTUpO1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGJsdWUtbGlnaHQtMjtcclxuXHR9XHJcblxyXG5cdC5jb250ZW50LWhpZ2hsaWdodC1ib3gtZ3JlZW4ge1xyXG5cdFx0QGluY2x1ZGUgY29udGVudC1oaWdobGlnaHQtYm94O1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGdyZWVuLWNvbW1vbiwgLjk1KTtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICRncmVlbi1jb21tb247XHJcblx0fVxyXG5cclxuXHQuY29udGVudC1oaWdobGlnaHQtb3V0bGluZS1ncmF5IHtcclxuXHRcdEBpbmNsdWRlIGNvbnRlbnQtaGlnaGxpZ2h0LWJveDtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICRncmF5LW1pZC0xO1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDFweDtcclxuXHR9IFxyXG5cclxuXHQvL0NhbGxvdXQgU3R5bGluZ1xyXG5cdC5jb250ZW50LWhpZ2hsaWdodC10b3AtYm90dG9tLWdyYXkge1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGdyYXktbGlnaHQtMjtcclxuXHRcdGJvcmRlci13aWR0aDogMXB4IDA7XHJcblx0fSBcclxuXHJcblx0Ly8gNC4gQ29udGVudC1CbG9ja3NcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFxyXG5cdC8vIGEuIENvbnRlbnQtQmxvY2sgTGF5b3V0cyAoaW5zaWRlKVxyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0Ly8gdWwuZmVhdHVyZWxpc3Qge1xyXG5cdFx0Ly8gXHRsaXN0LXN0eWxlOiBub25lOyAvL3BhZGRpbmctdG9wOjFyZW07XHJcblx0XHQvLyBcdGxpIHtcclxuXHRcdC8vIFx0XHQvL21hcmdpbi10b3A6IDEuNWVtO1xyXG5cdFx0Ly8gXHRcdC8vbWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0Ly8gXHRcdC8vbGluZS1oZWlnaHQ6IDEuMjVlbTtcclxuXHRcdC8vIFx0XHQubGktY2hlY2ttYXJrIHtcclxuXHRcdC8vIFx0XHRcdC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwOi8vcGxhY2Vob2xkLml0LzMweDMwP3RleHQ94pyTJyk7XHJcblx0XHQvLyBcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9yZXNvdXJjZXMvaW1nL2NoZWNrbWFyay5zdmcnKTtcclxuXHRcdC8vIFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHQvLyBcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcclxuXHRcdC8vIFx0XHRcdHBhZGRpbmctbGVmdDogMy43NWVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHQvLyBcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHt9XHJcblx0XHQvLyBcdFx0aDQge1xyXG5cdFx0Ly8gXHRcdFx0Zm9udC1zaXplOiAxLjFyZW07XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHRcdHAge1xyXG5cdFx0Ly8gXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdFx0Ly8gdWwuZmVhdHVyZWxpc3QtMi0xIHtcclxuXHRcdC8vIFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcclxuXHRcdC8vIFx0bGkge1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHQvLyBcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdFx0Ly8gcC5jZW50ZXItZmxvYXQge1xyXG5cdFx0Ly8gXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdC8vIFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0Ly8gfVxyXG5cdH1cclxuXHJcblxyXG5cdC8vIGIuIENvbnRlbnQgQmxvY2sgVHlwZXMgKGRlc2NyaXB0aW9uLCBpbWFnZSlcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkaW5nIHtcclxuXHRcdHAge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IC44NXJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGluZy1jZW50ZXJlZCB7XHJcblx0XHRwIHtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtMTI7XHJcblx0XHRcdEBleHRlbmQgLm1lZGl1bS0xMTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRwYWRkaW5nOiAxcmVtIDFyZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmc6IDJyZW0gMXJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5zdWItYmxvY2sge1xyXG5cdFx0aDUge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IC44cmVtO1xyXG5cdFx0fVxyXG5cdFx0cCB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogLjdyZW07IFxyXG5cdFx0XHQvLyBmb250LXNpemU6IC44cmVtOyBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ncmFwaGljIHtcclxuXHRcdHBhZGRpbmc6IDEuNXJlbTtcclxuXHR9IFxyXG5cclxuXHQuZ3JhcGhpY19zbWFsbCB7XHJcblx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdH0gXHJcblxyXG5cclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHQvLyBcdC8vIC5jb250YWluZXIge1xyXG5cdC8vIFx0Ly8gXHRwYWRkaW5nOiAwcmVtIDAuOXJlbSAhaW1wb3J0YW50O1xyXG5cdC8vIFx0Ly8gfVxyXG5cdC8vIFx0LmRlc2NyaXB0aW9uIHtcclxuXHQvLyBcdFx0cGFkZGluZzogMHJlbSAxcmVtO1xyXG5cdC8vIFx0XHQvLyBtYXJnaW4tdG9wOiAwcmVtO1xyXG5cdC8vIFx0fVxyXG5cdC8vIFx0LmdyYXBoaWMge1xyXG5cdC8vIFx0XHRwYWRkaW5nOiAycmVtIDByZW0gMHJlbTtcclxuXHQvLyBcdH1cclxuXHQvLyB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQvLyBjLiBDYXJkIEJsb2NrIFR5cGVzIChjYXJkcywgZXRjKVxyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHJcblx0LmNhcmQtd3JhcHBlciB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdH1cclxuXHJcblx0LmNhcmQgeyAgXHRcdFx0XHRcdC8vIGJhc2Ugc3R5bGluZyBmb3IgY2FyZFxyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHQvLyBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuXHRcdHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0cGFkZGluZzogMXJlbSAxLjVyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LmNhcmQtc2VjdGlvbiB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0cCB7IGZvbnQtc2l6ZTogLjlyZW07IH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHJcblx0Ly8gYWRkLW9ucyBmb3IgY2FyZFxyXG5cclxuXHRcdC5jYXJkLWhvdmVyLWhpZ2hsaWdodCB7XHRcdFxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3ItYm9yZGVyLWdyYXksIDIwKTtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwIDE4cHggNDBweCAtMTBweCByZ2JhKDAsIDAsIDAsIC4xOCk7XHJcblx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xyXG5cdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0Ly8gbGF5b3V0IGhlbHBlcnMgZm9yIGNhcmRzXHJcblxyXG5cdFx0LmNhcmQtbWVkaXVtLXNpZGV3YXlzIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIG9ubHkpIHtcclxuXHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwcmVtO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cdC8vIGQuIE5hdnMgYW5kIFBpY2tlcnNcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHQuYmFzZS1zZXJ2aWNlcy1waWNrZXIge1xyXG5cdFx0XHJcblx0XHQuc2VydmljZXMtZ3JvdXAge1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtIDAgMDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LnNlcnZpY2UtY2FyZCB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogI0Y0RjlGRjtcclxuXHRcdFx0XHQvLyBib3JkZXItY29sb3I6ICM5RUFFQkM7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRoNSB7IFxyXG5cdFx0XHRcdFx0Ly8gZm9udC1mYW1pbHk6ICdQVCBTYW5zJywgc2Fucy1zZXJpZjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY2FyZC1saW5rIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0Ly8gNS4gSWNvbi1Hcm91cCBMYXlvdXRzXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHRcclxuXHQvLyBnZW5lcmljIGljb24tZ3JvdXAgZm9yIGljb24gbGF5b3V0cyBpbiBzZWN0aW9uc1xyXG5cdC5pY29uLWdyb3VwLTEge1xyXG5cclxuXHRcdC5pY29uLWJsb2NrIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoNSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZTtcclxuXHJcblx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBsaW5rLWRvdHRlZC11bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDBlbTtcclxuXHRcdFx0XHRmb250LXNpemU6IC42NWVtO1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDdyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogOHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0Ly9oZWlnaHQ6IDlyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IFxyXG5cclxuXHRcdFx0Lmljb24tYmxvY2stY29udGVudHJvdyB7XHJcblx0XHRcdFx0LnRleHQtaW5uZXIge1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuaWNvbi1ncm91cCB7XHJcblx0XHQvLyBTZXQgdGhlIHdpZHRoIG9mIHJvd3NcclxuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7IC8vcGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdC8vIHBhZGRpbmctbGVmdDogXHQxMCU7XHJcblx0XHRcdC8vIHBhZGRpbmctcmlnaHQ6IFx0MTAlO1xyXG5cdFx0fSAvL0ZpeCBmb3IgSUUxMVxyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdC5pY29uLWJsb2NrIHtcclxuXHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHRoNSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xyXG5cdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Ly9wYWRkaW5nOiAwIDFlbTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMGVtO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjY1ZW07XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdGhlaWdodDogNnJlbTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA3cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHQvLyBoZWlnaHQ6IDhyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdC8vaGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSAvL1xyXG5cdFx0XHQuaWNvbi1ibG9jay1jb250ZW50cm93IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xyXG5cdFx0XHRcdC50ZXh0LWlubmVyIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyAuZ3JvdXAtd2lkZSB7XHJcblx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0Ly8gXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHQvLyBcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHQvLyBcdH1cclxuXHQvLyB9XHJcblxyXG5cdC8vIC5ncm91cC1pbnNldCB7XHJcblx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0Ly8gXHRcdHBhZGRpbmctbGVmdDogMTAlO1xyXG5cdC8vIFx0XHRwYWRkaW5nLXJpZ2h0OiAxMCU7XHJcblx0Ly8gXHR9XHJcblx0Ly8gfVxyXG5cclxuXHJcblx0Ly8gaWNvbi1ncm91cCBjb21tb24gbGF5b3V0c1xyXG5cdFxyXG5cdC8vIDQtYWNyb3NzIGZvciBtZWRpdW0tdXAsIDItYWNyb3NzIGZvciBzbWFsbFxyXG5cdC8vIC5pY29uLWdyb3VwLTQtMiB7XHJcblx0Ly8gXHQuaWNvbi1ibG9jayB7XHJcblx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0Ly8gXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0fVxyXG5cdC8vIH0gXHJcblxyXG5cdC8vIDQtYWNyb3NzIGZvciBtZWRpdW0tdXAsIDItYWNyb3NzIGZvciBzbWFsbFxyXG5cdC8vIC5pY29uLWdyb3VwLTQtMSB7XHJcblx0Ly8gXHQuaWNvbi1ibG9jayB7XHJcblx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC8vIFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBcdH1cclxuXHQvLyB9IFxyXG5cclxuXHQvLyAzLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAzLWFjcm9zcyBmb3Igc21hbGxcclxuXHQvLyAuaWNvbi1ncm91cC0zIHtcclxuXHQvLyBcdC5pY29uLWJsb2NrIHtcclxuXHQvLyBcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHQvLyBcdH1cclxuXHQvLyB9IFxyXG5cclxuXHQvLyAzLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAyLWFjcm9zcyBmb3Igc21hbGxcclxuXHQvLyAuaWNvbi1ncm91cC0zLTIge1xyXG5cdC8vIFx0Lmljb24tYmxvY2sge1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC8vIFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBcdH1cclxuXHQvLyB9IFxyXG5cclxuXHQvLyAvLyAzLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAxLWFjcm9zcyBmb3Igc21hbGxcclxuXHQvLyAuaWNvbi1ncm91cC0zLTEge1xyXG5cdC8vIFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdC8vIFx0Lmljb24tYmxvY2sge1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC8vIFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBcdH1cclxuXHQvLyB9IFxyXG5cclxuXHQvLyAvLyAyLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAxLWFjcm9zcyBmb3Igc21hbGxcclxuXHQvLyAuaWNvbi1ncm91cC0yLTEge1xyXG5cdC8vIFx0Lmljb24tYmxvY2sge1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHQvLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQvLyBcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdC8vIFx0XHR9XHJcblx0Ly8gXHR9XHJcblx0Ly8gfVxyXG5cclxuXHQvLyAuaWNvbi1ncm91cC0yY2xvc2UtMSB7XHJcblx0Ly8gXHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0Ly8gXHQuaWNvbi1ibG9jayB7XHJcblx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0Ly8gXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHJcblx0Ly8gLmljb24tZ3JvdXAtaW5zZXQge1xyXG5cdC8vIFx0cGFkZGluZy1sZWZ0OiAyMCU7XHJcblx0Ly8gXHRwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcblx0Ly8gfSBcclxuXHJcblx0Ly8gaWNvbiBibG9jayBsYXlvdXRzICggdXNlIHdpdGggLmljb24tYmxvY2stY29udGVudHJvdyApXHJcblx0Ly8gLmljb24tYmxvY2stbGF5b3V0LXNpZGV0ZXh0IHtcclxuXHQvLyBcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCk7IC8vIEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHQvLyBcdC5pY29uIHtcclxuXHQvLyBcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHQvLyBcdH1cclxuXHQvLyBcdC5kZXNjcmlwdGlvbiB7XHJcblx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0Ly8gXHRcdHAge1xyXG5cdC8vIFx0XHRcdEBleHRlbmQgLmdlbmVyaWMtcDtcclxuXHQvLyBcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0OyAvL2ZvbnQtc2l6ZTogMWVtO1xyXG5cdC8vIFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBcdH1cclxuXHQvLyB9IFxyXG5cclxuXHJcblxyXG5cdC8vIGQuIEljb24tQmxvY2sgU3R5bGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC8qIC5pY29uLWJsb2NrLTIge1xyXG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0aDUge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBsaW5rLWRvdHRlZC11bmRlcmxpbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHQvL3BhZGRpbmc6IDAgMWVtO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMGVtO1xyXG5cdFx0XHRmb250LXNpemU6IC42NWVtO1xyXG5cdFx0XHRjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cdFx0fVxyXG5cdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGhlaWdodDogN3JlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiA4cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHQvL2hlaWdodDogOXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fSAvL1xyXG5cdFx0Lmljb24tYmxvY2stY29udGVudHJvdyB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblx0XHRcdC50ZXh0LWlubmVyIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSAgKi9cclxuXHJcblxyXG5cclxuXHRcclxuXHJcblx0Ly8gNi4gUHJlZGVmaW5lZCBTZWN0aW9uc1xyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC8vLmJpbGxib2FyZCB7IGJhY2tncm91bmQ6IHVybChcImh0dHA6Ly9wbGFjZWhvbGQuaXQvMzUweDE1MFwiKTsgfVxyXG5cdCNiaWxsYm9hcmQge1xyXG5cdFx0Y29sb3I6ICNmMzA7XHJcblx0fSAvLy5tYWluIHsgbWF4LXdpZHRoOjEwMDBweDt9XHJcblx0Ly8gY29tbW9ubHktdXNlZCBzZWN0aW9uIHR5cGVzXHJcblxyXG5cclxuIFxyXG5cclxuXHQvLyBnZW5lcmljIHNlY3Rpb24gc3R5bGVzXHJcblx0c2VjdGlvbi5zdWJoZXJvIHtcclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRAZXh0ZW5kIC5jb250YWluZXItcGFkZGluZy1zdGFuZGFyZDtcclxuXHRcdFx0Ly8gcGFkZGluZzogM3JlbSAycmVtO1xyXG5cdFx0fVxyXG5cdFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uICgxMik7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Ly8gZm9udC1zaXplOiAxLjE1cmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC4yNXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHJcblx0Ly8gSGVybyBnZW5lcmljIHN0eWxlc1xyXG5cdC5oZXJvLWdlbmVyaWMtYmFja2dyb3VuZC1sYXllcmVkIHtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnL3Jlc291cmNlcy9pbWcvcDRfQDJYLnBuZycpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lOyBcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgwLCA5NSwgMTkxLCAwLjg1KSAwJSwgcmdiYSgwLCAxMjUsIDI1NSwgMC44NSkgMzYlLCByZ2JhKDAsIDEyNSwgMjU1LCAwLjg1KSA2MyUsIHJnYmEoMCwgNzYsIDE4MywgMC44NSkgMTAwJSk7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0Lmhlcm8ge1xyXG5cdFx0QGV4dGVuZCAuaGVyby1nZW5lcmljLWJhY2tncm91bmQtbGF5ZXJlZDtcclxuXHRcdC8vIGJhY2tncm91bmQ6IHVybCgnL3Jlc291cmNlcy9pbWcvcDRfQDJYLnBuZycpO1xyXG5cdFx0Ly8gYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0Ly8gbWF4LXdpZHRoOiBub25lOyBcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGJsdWUtcHJpbWFyeSwgMC4xNSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwgOTUsIDE5MSwgMC44NSkgMCUsIHJnYmEoMCwgMTI1LCAyNTUsIDAuODUpIDM2JSwgcmdiYSgwLCAxMjUsIDI1NSwgMC44NSkgNjMlLCByZ2JhKDAsIDc2LCAxODMsIDAuODUpIDEwMCUpO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5jb250ZW50IHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIpOyAvLyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDYyLCAxMjcsIDAuNTIpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5oZXJvLWNvbnRlbnQge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpOyBcclxuXHRcdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiA0cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5wYWdlbmFtZSB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYwKTsgLy8gY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wKTtcclxuXHRcdFx0XHRmb250LXNpemU6IC42cmVtO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCk7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwcHg7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHggMHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IC4zcmVtIC41cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucGFnZWljb24ge1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdGhlaWdodDogNXJlbTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoMSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdC8qIGZvbnQtc2l6ZTogMnJlbTsgKi9cclxuXHRcdFx0XHQvLyBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCk7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHggMHB4O1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IC4zcmVtIC41cmVtOyBcclxuXHRcdFx0XHQvLyBmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudDtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAxcmVtO1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0XHRcdFx0Ly8gbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWxpZ2h0LTE7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMTAlO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMCAxcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lmhlcm8tc21hbGwge1xyXG5cclxuXHRcdC5oZXJvLWNvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi5jdGEge1xyXG5cdEBleHRlbmQgLnNlY3Rpb247IC8vIGdyYWRpZW50IGJhY2tncm91bmRcclxuXHRAaW5jbHVkZSBibHVlLWJsdWVncmVlbi1ncmFkaWVudDtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdC5jb250ZW50IHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcclxuXHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHQuY29udGVudC1ibG9jayB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5pbmZvLWxpbmsge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAuNXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnByaWRlLWJhciB7XHJcblx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMTtcclxuXHRiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0yO1xyXG5cdGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRwYWRkaW5nOiAuNXJlbSAwO1xyXG5cdHBhZGRpbmctdG9wOiAwLjVyZW07XHJcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTsgLy8gcGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHJcblx0XHQuY29udGVudCB7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMC44cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coY29sbGFwc2UpO1xyXG5cdFx0XHRcclxuXHRcdFx0Ly8gQGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHQvLyBAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFxyXG5cdFx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcclxuXHRcdFx0XHRmb250LXNpemU6IDEuNHJlbTtcclxuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRcdFx0Ly8gcGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdC8vIHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG5cdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRcdFx0XHRcdC8vIHBhZGRpbmctbGVmdDogMC41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gXHJcblxyXG5cdFx0XHQvLyBzcGVjaWZpYyBpY29uc1xyXG5cdFx0XHQubWVkYWwtaWNvbiB7XHJcblx0XHRcdFx0Ly9wYWRkaW5nLXJpZ2h0OiAxcmVtOyBcclxuXHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAzcmVtO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDNyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuY29udGVudC1zdGFja2VkIHtcclxuXHRcdFx0LmRlc2NyaXB0aW9uLFxyXG5cdFx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGVzdGltb25pYWxzLXRleHQge1xyXG5cdHBhZGRpbmctdG9wOiAzcmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG5cdGJhY2tncm91bmQ6ICNmYWZhZmE7XHJcblx0QGV4dGVuZCAuc2VjdGlvbjsgLy8gQGluY2x1ZGUgZ3JheS1ncmFkaWVudDtcclxuXHQvLyBAaW5jbHVkZSBibHVlLWJsdWVncmVlbi1ncmFkaWVudCgpO1xyXG5cdC8vQGluY2x1ZGUgbGlnaHQtYmx1ZS1ncmFkaWVudCgpO1xyXG5cdC5jb250YWluZXIge1xyXG5cdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHRcdC5jb250ZW50IHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdygpO1xyXG5cdFx0XHQucXVvdGUge1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHQvLyBjb2xvcjogI0ZGRjtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMWVtIDFlbSAuNWVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQucHJvZmlsZSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdFx0LnBpYyB7XHJcblx0XHRcdFx0XHQucGVyc29uLXBpYyB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHRcdGhlaWdodDogNXJlbTtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuaW5mbyB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdFx0Ji5uYW1lIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBcInNlYW1sZXNzbHkgaW50ZWdyYXRlZFwiIGJ1c2luZXNzIGNhcmRzXHJcbi5zZWFtbGVzc2x5LWludGVncmF0ZWQtYnVzaW5lc3Mtc2VydmljZXMge1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAjOGU5ZWFiICFpbXBvcnRhbnQ7XHJcblx0LyogZmFsbGJhY2sgZm9yIG9sZCBicm93c2VycyAqL1xyXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjdmOWY5LCAjZTlmNGZkKSAhaW1wb3J0YW50O1xyXG5cdC8qIENocm9tZSAxMC0yNSwgU2FmYXJpIDUuMS02ICovXHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjdmOWY5LCAjZTlmNGZkKSAhaW1wb3J0YW50O1xyXG5cdC8qIFczQywgSUUgMTArLyBFZGdlLCBGaXJlZm94IDE2KywgQ2hyb21lIDI2KywgT3BlcmEgMTIrLCBTYWZhcmkgNysgKi9cclxuXHRcclxuXHQuYnVzLWFkZGwtc2VydmljZXMtcGlja2VyIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRcclxuXHJcblx0XHRcdC5zZXJ2aWNlX2NhcmRfd3JhcHBlciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zZXJ2aWNlX2NhcmQge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMTVweCAzNXB4IHJnYmEoNTAsNTAsOTMsLjEpLDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuMDcpO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMXJlbSAwO1xyXG5cclxuXHRcdFx0XHRcdC5yb3cgeyBcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tdG9wO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0XHRcdFx0QGV4dGVuZCAuaDMtYWx0O1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuIiwiLy8gQ29udGFjdCBVcyBQYXJ0aWFscyBhbmQgRm9ybSBFbGVtZW50c1xyXG5cclxuLy8gcmV1c2FibGUgY29udGFjdCBmb3JtIGNvZGVcclxuXHQuY29udGFjdC1mb3JtLWNvbnRhaW5lciB7XHJcblx0fVxyXG5cclxuXHQvLyB0aGUgYWN0dWFsIGZvcm1cclxuXHRmb3JtLmZvcm0tY29udGFjdCwgLm1hdXRpY2Zvcm1fd3JhcHBlciAubWF1dGljZm9ybS1pbm5lcmZvcm0gLm1hdXRpY2Zvcm0tcGFnZS13cmFwcGVyIHtcclxuXHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblxyXG5cdFx0aW5wdXQge1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDAgMCAxcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG5cdFx0XHQmOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oYmxhY2ssIDgwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRleHRhcmVhIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHR0ZXh0YXJlYSNkZXNjcmlwdGlvbiwgdGV4dGFyZWEubWF1dGljZm9ybS10ZXh0YXJlYSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IC4ycmVtO1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuXHJcblx0XHRcdCY6YWN0aXZlLCAmOmZvY3VzLCAmOnZhbGlkIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6OnBsYWNlaG9sZGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRib3R0b206IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBob25leXBvdCBmaWVsZCBmb3Igc3BhbW1lcnNcclxuXHRcdGlucHV0I2RvbnRGaWxsVGhpc091dCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcblx0XHQvL1N0eWxlcyBmb3IgZW1iZWRkZWQgbWF1dGljIGZvcm1cclxuXHRcdHNwYW4ubWF1dGljZm9ybS1oZWxwbWVzc2FnZSB7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHR9XHJcblx0XHRzcGFuLm1hdXRpY2Zvcm0tZXJyb3Jtc2cge1xyXG5cdFx0XHRjb2xvcjogJHJlZC1wcmltYXJ5O1xyXG5cdFx0XHRmb250LXNpemU6IC44ZW07XHJcblx0XHQgICAgZGlzcGxheTogYmxvY2s7XHJcblx0XHQgICAgbWFyZ2luLXRvcDogLTE2cHg7XHJcblx0XHQgICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XHJcblx0XHQgICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cclxuLy8gQ29udGFjdCBGb3JtIFBhcnRpYWxcclxuXHQuY29udGFjdC1zdHJpcGUge1xyXG5cdFx0Ly8gcGFkZGluZy10b3A6IDRyZW07XHJcblx0XHQvLyBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHRcdEBleHRlbmQgLnNlY3Rpb24tcGFkZGluZy1zdGFuZGFyZDtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgZGFya2VuKHJnYmEoMjUsIDEzNiwgMjU1LCAxKSw2KSwgbGlnaHRlbihyZ2JhKDM3LCAxNzIsIDIwMiwgMSksOCkgKTtcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaGVhZGVyIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHJcblx0XHRcdFx0aDIgeyBcclxuXHRcdFx0XHRcdEBleHRlbmQgLmdlbmVyaWMtaDI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwIHsgXHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdFx0XHRcdC8vIHdoaXRlLXNwYWNlOiBwcmU7XHJcblxyXG5cdFx0XHRcdFx0LnRzLXBob25lIHtcclxuXHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDRweDtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LnRzLXBob25lLXN0YXIge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjdlbTtcclxuXHRcdFx0XHRcdFx0dG9wOiAtLjdlbTtcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRhe1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogZGFya2VuKCRidXNpbmVzcy1ibHVlLDIwKTtcclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdC8vIGNvbG9yOiBsaWdodGVuKCRidXNpbmVzcy1ibHVlLDQwKTtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHJlZC1tZWRpdW07XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHJlZC1tZWRpdW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGgyLCBwIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudHMtaG91cnMge1xyXG5cdFx0XHRcdC8vIGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cclxuXHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkYmx1ZS1kYXJrLTEsMTApO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogZG90dGVkIDFweDtcclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHsgXHJcblx0XHRcdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1kYXJrLTE7IFxyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGdyYXktbGlnaHQtMjsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC50cy1kaXJlY3Rpb25zIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mb3JtLXdyYXBwZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwIDE4cHggNDBweCAtMTBweCByZ2JhKDAsIDAsIDAsIC4xOCk7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHJcblxyXG5cdFx0XHRcdC5zaWRlYmFyLCAuY29udGFjdC1mb3JtLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zaWRlYmFyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkbGlnaHQtZ3JheTtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICRibHVlLWRhcmstMSwgJGJ1c2luZXNzLWJsdWUgKTtcclxuXHRcdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVyZW07XHJcblx0XHRcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRociB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIGZvciB0aGUgYWN0dWFsIGZvcm0sIGxvb2sgYXQgdGhlIGNsYXNzIC5jb250YWN0LWZvcm0tY29udGFpbmVyIGJlbG93XHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5jb250YWN0LWNvbnRlbnQge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93OyAvL0BleHRlbmQgLmNvbGxhcHNlO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHQuY29udGFjdC1jb250ZW50LWJsb2NrIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0LFxyXG5cdFx0XHRcdFx0MCk7IC8vcGFkZGluZy1sZWZ0OiA0cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDEwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdG1hcmdpbjogMCAtMXB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmPi5jb250ZW50LWlubmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgLy9iYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4zKTtcclxuXHRcdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRncmF5LWxpZ2h0LTI7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAycmVtIDJyZW07XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMwYTBhMGE7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuYnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4wMDZlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LnBob25lIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcbiIsIi8qICBcclxuXHRcclxuXHQtLS0tLSBIT01FIFBBR0UgLS0tLS0tLVxyXG5cdFxyXG5cclxuXHQrKysrKysrKysrKyBCQVNJQyBTVFJVQ1RVUkUgTUFQICsrKysrKysrKysrKytcclxuXHRTZWUgdGhpcyBtYXAgZm9yIGEgZ2VuZXJhbCBzdW1tYXJ5IG9mIGhvdyB0aGUgc2VjdGlvbiBibG9ja3Mgd29yay5cclxuXHJcblx0fCBzZWN0aW9uXHJcblx0XHR8IGNvbnRhaW5lclxyXG5cdFx0XHR8IGNvbnRlbnQgKFJPVylcdFx0LS0tLS1PUi0tLS0gIFx0fCBpY29uLWdyb3VwIChST1cpXHJcblx0XHRcdFx0fCBjb250ZW50LWJsb2NrOlx0XHRcdFx0XHR8IGljb24tYmxvY2tcclxuXHRcdFx0XHRcdHw8aDIscCx1bCBzdHlsaW5nPlx0XHRcdFx0XHR8PGgyLHAsdWwgc3R5bGluZz5cclxuKi9cclxuXHJcblxyXG5cclxuXHQuaGVyby1ob21lIHtcclxuXHRcdEBleHRlbmQgLnNlY3Rpb247XHJcblx0XHRcclxuXHRcdC8vIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdC8vIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9yZXNvdXJjZXMvaW1nL3Nwcml0ZXMuc3ZnJyk7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiB1cmwoJy9yZXNvdXJjZXMvaW1nL3A0X0AyWC5wbmcnKTsgXHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9yZXNvdXJjZXMvaW1nL2hlYWRlci1iYWNrZ3JvdW5kLmpwZycpOyBcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0LmZ1bGxzY3JlZW4tYmdfX3ZpZGVvIHtcclxuXHRcdFx0Ly8gei1pbmRleDogLTE7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0Ly90b3A6IC0zcmVtO1xyXG5cdFx0XHQvLyB3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQuYnV0dG9uLnByaW1hcnkuYnVzaW5lc3MtYmx1ZS5sYXJnZSB7XHJcblx0XHRcdGJvcmRlcjogMXB0IHNvbGlkICM4ZWMxZjM7XHJcblx0XHR9XHJcblx0XHRcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0Ly8gei1pbmRleDogMjtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAyNTBweDtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC8vIFlvdW5nIG1hbiBCR1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3Jlc291cmNlcy9pbWcvaGVhZGVyLWJpbGxib2FyZC0xLmpwZycpOyBcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBMYWR5IEJHXHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvcmVzb3VyY2VzL2ltZy9oZWFkZXItYmlsbGJvYXJkLTIuanBnJyk7IFxyXG5cclxuXHRcdFx0XHQvLyBCZWFyZCBNYW4gQkdcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9yZXNvdXJjZXMvaW1nL2hlYWRlci1iaWxsYm9hcmQtMy5qcGcnKTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cclxuXHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvcmVzb3VyY2VzL2ltZy9oZWFkZXItYmlsbGJvYXJkLTEucG5nJyk7IFxyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3Jlc291cmNlcy9pbWcvaGVhZGVyLWJpbGxib2FyZC0yLnBuZycpOyBcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0Ly8gQGluY2x1ZGUgaGVyby1ibHVlLWdyYWRpZW50O1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYmx1ZS1wcmltYXJ5LCAwLjUpOyBcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogcmdiYSgwLDEyNSwyNTUsMC41KTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogJGJsdWUtcHJpbWFyeTsgXHJcblx0XHRcdC8vIEBpbmNsdWRlIGhlcm8tYmx1ZS1ncmFkaWVudC10cmFuc3BhcmVudDtcclxuXHRcdFx0XHJcblx0XHRcdHBhZGRpbmctdG9wOiAzcmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0Ly8gbWluLWhlaWdodDogMjRyZW07XHJcblx0XHRcdFx0bWluLWhlaWdodDogMzJyZW07XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDYuNXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMy41cmVtO1xyXG5cdFx0XHR9IFxyXG5cclxuXHRcdFx0XHJcblx0XHRcdC5jb250ZW50IHtcclxuXHJcblx0XHRcdFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdGgxIHtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdFx0cHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDFlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRhLndoaXRlbGlua3tcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lX3doaXRlKCk7XHJcblxyXG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRcdFx0XHRcdFx0Ly8gZm9udC1zaXplOiAuOXJlbTtcclxuXHRcdFx0XHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjZmZmO1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQvKlxyXG5cdC5ob21lLXN1Ymhlcm8tc2VydmljZXMge1xyXG5cdFx0Lmljb24tZ3JvdXAge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA4JTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA4JTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMiU7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTIlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuaWNvbi1ibG9jayB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHRcdFx0fSAvL2JhY2tncm91bmQ6IHJnYmEoOTAsOTAsOTAsLjMpO1xyXG5cdFx0XHQuYnV0dG9uLXdyYXBwZXIge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDFyZW07XHJcblx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggI2VhZWFlYTtcclxuXHRcdFx0fVxyXG5cdFx0XHRoNSB7XHJcblx0XHRcdFx0QGV4dGVuZCAuZ2VuZXJpYy1oNTsgLy8gZm9udC1zaXplOiAuOXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAwO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAzNXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDg1MHB4KSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5idG4ge1xyXG5cdFx0XHRcdC8vZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHQvL0BleHRlbmQgLmhvbGxvdztcclxuXHRcdFx0XHRAZXh0ZW5kIC5idXR0b247XHJcblx0XHRcdFx0QGV4dGVuZCAucHJpbWFyeTtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDByZW07XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDsgLy8gcGFkZGluZzogLjc1cmVtO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjc1cmVtOyAvLyBtaW4td2lkdGg6IDdyZW07XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQqL1xyXG5cclxuXHQuaG9tZS10YXhwcmVwLXNlY3Rpb24ge1xyXG5cdFx0cGFkZGluZy10b3A6IDMuNXJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzLjVyZW07XHJcblx0XHQvLyBAZXh0ZW5kIC5zZWN0aW9uLXBhZGRpbmctc3RhbmRhcmQ7XHJcblxyXG5cdFx0LmNvbnRhaW5lciB7XHJcblx0XHRcdC8vcGFkZGluZzogMXJlbSBhdXRvO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzb3VyY2VzL2ltZy90YXhwcmVwX2xhZHlfY2hlY2ttYXJrX2ZpbGxlZC5zdmdcIik7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW07XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDNyZW0gMXJlbTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdHBhZGRpbmc6IDByZW0gMnJlbTtcclxuXHRcdFx0aDIge1xyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IDNyZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAwcmVtIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5ncmFwaGljIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHQvLyBwYWRkaW5nOiAwcmVtIDJyZW07XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0Ly8gbWFyZ2luOiAycmVtIDA7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0Ly9cdGJhY2tncm91bmQ6IHJnYmEoMjUsIDEzNiwgMjU1LCAwLjA2KTtcclxuXHRcdFx0Ly8gIGJvcmRlcjogc29saWQgMXB4IHJnYmEoMCwgMTI1LCAyNTUsIDAuMTgpO1xyXG5cdFx0XHQvLyBib3JkZXItd2lkdGg6IDFweCAwO1xyXG5cdFx0XHQvL1x0fVxyXG5cdFx0XHQuY2lyY2xlIHtcclxuXHRcdFx0XHQvLyB3aWR0aDogMThyZW07XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0XHQvLyBib3JkZXI6IHNvbGlkIDFweCAjQ0NDO1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwcmVtKTtcclxuXHRcdFx0XHQvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogcmdiYSgwLCAxNDgsIDI1NSwgMC4yODYyNzQ1MDk4MDM5MjE1NSk7XHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdC8vIG1hcmdpbi1sZWZ0OiAycmVtO1xyXG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEzcmVtO1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogLTJyZW07XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyN3JlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ob21lLWJ1c2luZXNzIHtcclxuXHJcblx0XHQuY29udGFpbmVyLWNhcmRzIHtcclxuXHRcdFx0cGFkZGluZzogMXJlbSAxcmVtIDByZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDByZW0gMXJlbSAzcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2FyZCB7XHJcblxyXG5cdFx0XHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdC5pY29uLXN2ZyB7IGhlaWdodDogN3JlbTsgfVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0Lmljb24tcGF5cm9sbCB7IGhlaWdodDogOXJlbTt9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuYnV0dG9uIHtcclxuXHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oJGJsdWUtcHJpbWFyeSwxNSk7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogZGFya2VuKCRibHVlLXByaW1hcnksMTUpO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHQuaG9tZS1idXNpbmVzcy1zZXJ2aWNlcyB7XHJcblxyXG5cclxuXHJcblx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHQvLyBcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG5cdFx0XHRcclxuXHRcdFx0LmJ1c2luZXNzLWljb25zIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogLjVyZW07XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEuNXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbnRlbnQtY2VudGVyZWQge1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC5ncm91cC13aWRlIHtcclxuXHRcdFx0XHRcdC8vIG1pbi1oZWlnaHQ6IDE0cmVtO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQuaWNvbi1ibG9jayB7XHJcblx0XHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdC8vICY6aG92ZXIgc3ZnIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdGhlaWdodDogOHJlbTtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDFzO1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0LyogU2FmYXJpICovXHJcblx0XHRcdFx0XHRcdFx0Ly8gXHR0cmFuc2l0aW9uOiBoZWlnaHQgMXM7XHJcblx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdC5ob21lLXRheHByb2JsZW1zLWJ1cy1wZXJzb25hbCB7XHJcblx0XHRwYWRkaW5nLXRvcDogMy41cmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDMuNXJlbTsgLy8gQGV4dGVuZCAuc2VjdGlvbjtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3Jlc291cmNlcy9pbWcvcDQucG5nJyk7IC8vIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0LTI7XHJcblxyXG5cdFx0LmNvbnRhaW5lciB7XHJcblx0XHRcdC8vcGFkZGluZzowO1xyXG5cdFx0XHQvLyBwYWRkaW5nLXRvcDogXHQuNXJlbTtcclxuXHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IC41cmVtO1xyXG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRcdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDY0Y2MrMCwwMDY0Y2MrMTAwJjErMCwwKzI5LDArNjUsMSsxMDAgKi9cclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDAsMTAwLDIwNCwxKSAwJSwgcmdiYSgwLDEwMCwyMDQsMCkgMjklLCByZ2JhKDAsMTAwLDIwNCwwKSA2NSUsIHJnYmEoMCwxMDAsMjA0LDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMCwxMDAsMjA0LDEpIDAlLHJnYmEoMCwxMDAsMjA0LDApIDI5JSxyZ2JhKDAsMTAwLDIwNCwwKSA2NSUscmdiYSgwLDEwMCwyMDQsMSkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwxMDAsMjA0LDEpIDAlLHJnYmEoMCwxMDAsMjA0LDApIDI5JSxyZ2JhKDAsMTAwLDIwNCwwKSA2NSUscmdiYSgwLDEwMCwyMDQsMSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG5cdFx0XHQvLyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwNjRjYycsIGVuZENvbG9yc3RyPScjMDA2NGNjJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRkaXYuY29udGVudC1oaWdobGlnaHQtYm94LXJlZCB7XHJcblx0XHRcdFx0XHRjb2xvcjogIzIzM0E1MjtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFwdCBzb2xpZCAjRjQ0RDUyO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZmY7IC8vJjpob3ZlcntcclxuXHRcdFx0XHRcdC8vXHRiYWNrZ3JvdW5kOiAjZjlmYWZhO1xyXG5cdFx0XHRcdFx0Ly8gYm94LXNoYWRvdzogMCAxOHB4IDQwcHggLTEwcHggcmdiYSgwLDAsMCwuMTgpO1xyXG5cdFx0XHRcdFx0Ly9ib3JkZXItY29sb3I6ICMwNzZhY2Q7XHJcblx0XHRcdFx0XHQvL2JhY2tncm91bmQ6IHJnYmEoMjQ0LDc3LDgyLDAuMDUpO1xyXG5cdFx0XHRcdFx0Ly99XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuY29udGVudCB7XHJcblx0XHRcdG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aCAtIDRyZW07IC8vIHBhZGRpbmc6IDRyZW0gMiU7XHJcblx0XHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3Jlc291cmNlcy9pbWcvdGF4aXNzdWVzX2xhZHlfYmcuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0xMHJlbSBib3R0b207XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTUwJSAxMDAlOyAvL2JhY2tncm91bmQtc2l6ZTogMTAwJSA7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoODUwcHgpIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5jb250ZW50LWJsb2NrIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHQvLyBjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDJyZW07XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogM3JlbTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDNyZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdC5waWMge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEzcmVtO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLTEuNXJlbTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0XHRcdFx0Ly9tYXJnaW4tdG9wOjJyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMjVyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMThyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5zdmctaWNvbiB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblxyXG5cclxuLy8gPT09PSBVTktOT1dOIENPREUgID09PT09PT09PT09PT09PT09PT09PT1cclxuXHRcclxuXHJcblx0Ly8gTmF2YmFyXHJcblx0XHQubGFuZ3VhZ2Utc2VsZWN0IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMC43NXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xyXG5cdFx0XHQjZXhhbXBsZU1vZGFsMTEge1xyXG5cdFx0XHRcdHRvcDogMy41cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdFx0Lmxhbmd1YWdlLXNlbGVjdCB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5pY29uLWNvbnRhY3Qge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAuMnJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblxyXG5cdC8vIEJhZCB3b3JrIGJ5IEFydW5cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcclxuXHRcdCNtb2JpbGUtbmF2IHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblx0Lm1hcmdpbnRvcG5vbmVTe1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDAhaW1wb3J0YW50O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMCFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblxyXG5cdC8vID8/IENsZWFuIHRoaXMgdXAgLS0gQmFkIHdvcmsgYnkgQXJ1blxyXG5cdCNmaXJzdE1vZGFsVGl0bGUge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0fVxyXG5cclxuXHQubW9kYWwtY29udGFjdC1mb3JtIHtcclxuXHRcdC5zbWFsbC0xMi5jb2x1bW5zIHtcclxuXHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdH1cclxuXHRcdC50ZXh0YXJlIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdH1cclxuXHRcdGgzIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDAuOXJlbTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHJlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdFx0LmFsaWduLWNlbnRlciB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHRmb250LXNpemU6IC45cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdG1hcmdpbi10b3A6IDBweDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDBweDtcclxuXHRcdH1cclxuXHRcdGxhYmVsPlt0eXBlPSdjaGVja2JveCddIHtcclxuXHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0fVxyXG5cdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0aGVpZ2h0OiA1cmVtO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdH1cclxuXHRcdC5pY29uLWNvbnRhY3Qge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMnJlbTtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0aGVpZ2h0OiA4LjVyZW07XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHQgc29saWQgI2MwZGNmNztcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwLjNyZW07XHJcblx0XHRcdFx0Jjpob3ZlciBzdmcge1xyXG5cdFx0XHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiNjMGRjZjc7XHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nLXRvcDogMHJlbTtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBUbyBERUxFVEVcclxuXHJcblx0Ly8gc3RhbmRhcmQgbWFyZ2luc1xyXG5cdFx0Ly8gLnQtbXItdDEge1xyXG5cdFx0Ly8gXHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC50LW1yLXQxNSB7XHJcblx0XHQvLyBcdG1hcmdpbi10b3A6IDEuNXJlbTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAudC1tci10MyB7XHJcblx0XHQvLyBcdG1hcmdpbi10b3A6IDNyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLnQtbXItdCB7XHJcblx0XHQvLyBcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLnQtbXItdC1idG4ge1xyXG5cdFx0Ly8gXHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0Ly8gXHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAudC1tci10LTUge1xyXG5cdFx0Ly8gXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLnQtcGQtdC02IHtcclxuXHRcdC8vIFx0bWFyZ2luLXRvcDogNnJlbTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAudC1tci10NCB7XHJcblx0XHQvLyBcdG1hcmdpbi10b3A6IDRyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cclxuXHRcdC8vIC5iZ2ZhZmEge1xyXG5cdFx0Ly8gXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC5zZWN0aW9uLWdyYXktZGFyayB7XHJcblx0XHQvLyBcdGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmQgIWltcG9ydGFudDtcclxuXHRcdC8vIFx0YmFja2dyb3VuZDogI2ZkZmRmZCAhaW1wb3J0YW50O1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC5ncmFwaHAxOXJlbSB7XHJcblx0XHQvLyBcdGhlaWdodDogMTlyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLmdyYXBocDE3cmVtIHtcclxuXHRcdC8vIFx0aGVpZ2h0OiAxN3JlbTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAucGRuZ2J0bSB7XHJcblx0XHQvLyBcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cdC8vIC5saW5rLWNhcmV0LWJlbG93OjphZnRlciB7XHJcblx0Ly8gXHRoZWlnaHQ6IDlweDtcclxuXHQvLyBcdHdpZHRoOiA5cHg7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyAubGluay1jYXJldC1iZWxvdzo6YWZ0ZXIge1xyXG5cdC8vIFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0Ly8gXHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuXHQvLyBcdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0Ly8gXHQtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0Ly8gXHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0Ly8gXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O1xyXG5cdC8vIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQvLyAuY21uLWRpdmlkZXItbmV4dCB7XHJcblx0Ly8gXHRib3JkZXI6IHNvbGlkICNkZGRkZGQ7XHJcblx0Ly8gXHRib3JkZXItd2lkdGg6IDFweCAwIDA7XHJcblx0Ly8gXHRjbGVhcjogYm90aDtcclxuXHQvLyBcdGhlaWdodDogMDtcclxuXHQvLyB9XHJcblxyXG5cdFxyXG5cclxuXHJcblxyXG5cclxuXHQvLyBzZWN0aW9uLnNlY3Rpb24uc2VhbWxlc3NseS1pbnRlZ3JhdGVkLWJ1c2luZXNzLXNlcnZpY2VzLnNlYW1sZXNzbHktaW50ZWdyYXRlZCAuY29udGFpbmVyIHtcclxuXHQvLyBcdHBhZGRpbmc6IDByZW07XHJcblx0Ly8gfVxyXG5cclxuXHJcblx0IiwiXHJcblxyXG5cclxuXHQvLyBUYXggUHJlcDogTWFpbiBQYWdlXHJcblxyXG5cdC50YXhwcmVwLWhlcm8ge1xyXG5cdFx0Lmhlcm8tY29udGVudCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgwLCA5NSwgMTkxLCAwLjEwKSAwJSwgcmdiYSgwLCAxMjUsIDI1NSwgMC4xMCkgMzYlLCByZ2JhKDAsIDEyNSwgMjU1LCAwLjEwKSA2MyUsIHJnYmEoMCwgNzYsIDE4MywgMC4xMCkgMTAwJSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwgOTUsIDE5MSwgMS4wMCkgMCUsIHJnYmEoMCwgMTI1LCAyNTUsIDEuMDApIDM2JSwgcmdiYSgwLCAxMjUsIDI1NSwgMS4wMCkgNjMlLCByZ2JhKDAsIDc2LCAxODMsIDEuMDApIDEwMCUpO1xyXG5cclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzb3VyY2VzL2ltZy90YXhwcmVwX2JnX3BhdHRlcm5fZGFyay5zdmdcIik7XHJcblx0XHRcdC8vIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTYwcHggYXV0bztcclxuXHJcblx0XHRcdGgxLHAge1xyXG5cdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRoMSB7XHJcblx0XHRcdFx0Ly8gZm9udC1zaXplOiAyLjhyZW07XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHQudGF4cHJlcC1zZXJ2aWNlcy1waWNrZXIge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiA0cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRcclxuXHRcdC5mZWF0dXJlcy1zZWN0aW9uIHtcclxuXHJcblx0XHRcdC8vIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHRcdFx0ei1pbmRleDoxMCAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyMXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9yZXNvdXJjZXMvaW1nL3RheC1iZy1wYXR0ZXJuXzIucG5nXCIpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkd2hpdGUsMik7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGVzYXR1cmF0ZShsaWdodGVuKCRibHVlLXByaW1hcnksNDkpLDI1KTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzb3VyY2VzL2ltZy90YXhwcmVwX2JnX3BhdHRlcm4uc3ZnXCIpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMjBweCBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYWxsLWZlYXR1cmVze1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExLDApO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwLDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZlYXR1cmVzLXJvdyB7XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cclxuXHRcdFx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LmNhcmQge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMgZG93bil7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IC41cmVtO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAuNXJlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0Y0RjlGRjtcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogIzlFQUVCQztcclxuXHRcdFx0XHRcdFx0XHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMS4wcmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jYXJkLWxpbmsge1xyXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHJcblxyXG5cdFx0XHRcdFx0XHQvLyBjb2x1bW4gYWxpZ25tZW50cyBGSVJTVCwgaW5uZXIgY29udGVudCBzZXBhcmF0ZSBiZWxvd1xyXG5cdFx0XHRcdFx0XHQuY29sdW1uLWljb257XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi10ZXh0e1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyBpbm5lciBjb250ZW50XHJcblx0XHRcdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gLnNlcnZpY2VzLWdyb3VwIHtcclxuXHRcdC8vIFx0Ly8gYmFja2dyb3VuZDogaHNsYSgyMTEsIDk5JSwgOTclLCAxKTtcclxuXHRcdC8vIFx0cGFkZGluZzogMXJlbSAwOyAvLyBib3JkZXI6IHNvbGlkIDFweCAjYTRkMGZmO1xyXG5cdFx0Ly8gXHQvLyBib3JkZXItd2lkdGg6IDFweCAwO1xyXG5cdFx0Ly8gfVxyXG5cdFx0Ly8gLnNlcnZpY2UtY2FyZCB7XHJcblx0XHQvLyBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdC8vIFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ly8gXHRtaW4taGVpZ2h0OiAxMHJlbTtcclxuXHRcdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHQvLyBcdFx0bWluLWhlaWdodDogOXJlbTtcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQmOmhvdmVyIHtcclxuXHRcdC8vIFx0XHRiYWNrZ3JvdW5kOiAjRjRGOUZGO1xyXG5cdFx0Ly8gXHRcdGJvcmRlci1jb2xvcjogIzlFQUVCQztcclxuXHRcdC8vIFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdC8vIFx0XHRcdHBhZGRpbmctdG9wOiAxLjByZW07XHJcblx0XHQvLyBcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdC8vIFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdC8vIFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdFx0c3ZnIHtcclxuXHRcdC8vIFx0XHRcdGhlaWdodDogNS41cmVtO1xyXG5cdFx0Ly8gXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdHN2ZyB7XHJcblx0XHQvLyBcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHQvLyBcdFx0aGVpZ2h0OiA1cmVtO1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gXHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0Ly8gXHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHQvLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHQvLyBcdFx0XHRwYWRkaW5nOiAwcmVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0XHRhIHtcclxuXHRcdC8vIFx0XHRcdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdFx0Ly8gXHRcdFx0QGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lO1xyXG5cdFx0Ly8gXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdC8vIFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0Ly8gXHRcdFx0fVxyXG5cdFx0Ly8gXHRcdFx0Y29sb3I6ICMxZjRlODk7XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblx0fVxyXG5cclxuXHJcblx0LnRheHByZXAtdGFrZS1jYXJlLW9mLXRheGVzIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwcmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDByZW07XHJcblx0XHQvLyBwYWRkaW5nOiA1cmVtIDA7XHJcblx0XHQvLyBwYWRkaW5nOiAwO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3Jlc291cmNlcy9pbWcvdGF4cHJlcF9iZ19wYXR0ZXJuX2Rhcmsuc3ZnXCIpO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxNjBweCBhdXRvO1xyXG5cclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNXJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDVyZW07XHJcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjY1KTtcclxuXHRcdH1cclxuXHJcblx0XHQuZmVhdHVyZXMtc2VjdGlvbiB7XHJcblx0XHRcdC8vIHBhZGRpbmctdG9wOiAwcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwcmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUsMCk7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyBvbmx5KSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0XHQudGF4cHJlcF9sYWR5IHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDIxcmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDIzcmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmFsbC1mZWF0dXJlcyB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2LDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuZmVhdHVyZSB7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDByZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMHJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDNyZW07XHJcblxyXG5cdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHQvKiBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHR9ICovXHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigyKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHJcblx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuaWNvbi1zdmctaGVpZ2h0LWxhcmdlO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdGhlaWdodDogOXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pY29uLWRvbGxhciB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLTFyZW07XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoMyB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQudGF4cHJlcC1leHBlcnQtdGVhbSB7XHJcblx0XHQvLyAuY21uLWRpdmlkZXIge1xyXG5cdFx0Ly8gXHR3aWR0aDogYXV0bztcclxuXHRcdC8vIH1cclxuXHJcblx0XHQuZmVhdHVyZXMtc2VjdGlvbiB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGFsbC1mZWF0dXJlcyA+IHJvdyA+IGZlYXR1cmUgPiByb3cgPiBbY29sdW1uLWljb24gJiBjb2x1bW4tdGV4dF1cclxuXHRcdC5hbGwtZmVhdHVyZXMge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjsgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7IFxyXG5cclxuXHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdFx0Lmljb24ge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5pY29uLXN2Zy1oZWlnaHQteHNtYWxsO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNHJlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSwwKTtcdFx0XHQvLyBjb2x1bW5zIGZpcnN0XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4LDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC50LWJkci10b3A7XHRcdC8vIHN0eWxpbmcgc2Vjb25kXHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogLjVyZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogLjVyZW0gMXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRcdC8vIEBleHRlbmQgLmg0LWFsdDtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOTVlbTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOTVlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQudGF4cHJlcC1idXNpbmVzcy1zZWN0aW9uIHtcclxuXHRcdHBhZGRpbmctdG9wOiA2cmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDZyZW07XHJcblx0XHRcclxuXHRcdC5hbGwtZmVhdHVyZXMge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDRyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogM3JlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0yO1xyXG5cdFx0XHRcdEBleHRlbmQgLm1lZGl1bS1wbHVzLW9yZGVyLTE7XHJcblxyXG5cdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDdyZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDlyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyB3aWR0aDogYXV0bztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAZXh0ZW5kIC5tZWRpdW0tb3JkZXItMTtcclxuXHRcdFx0XHRAZXh0ZW5kIC5tZWRpdW0tcGx1cy1vcmRlci0yO1xyXG5cclxuXHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblxyXG5cdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdEBleHRlbmQgLmg0LWFsdDtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4wNWVtO1xyXG5cdFx0XHRcdFx0Ly8gZm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjAxZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ1c2luZXNzLXRlYXNlci1yb3cge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNHJlbTtcclxuXHJcblx0XHRcdC53cmFwcGVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEuNXJlbTtcclxuXHRcdFx0XHQvLyBAZXh0ZW5kIC5zZWN0aW9uLWdyYXk7XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAuc2VjdGlvbi1iZy1ncmFkaWVudC1ibHVlLWdyYXk7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgaGVyby1ibHVlLWdyYWRpZW50O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGJsdWUtcHJpbWFyeSw0OC41KTtcclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jb2x1bW4tY29udGVudCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHJcblx0IFx0IFx0XHQvLyBjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdGgzIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4wZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHAsYSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uLWdyYXBoaWMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMywwKTtcclxuXHJcblx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdGhlaWdodDogN3JlbTtcclxuXHRcdFx0XHRcdC8vIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5saW5rLWNhcmV0LXJpZ2h0OjphZnRlciB7XHJcblx0XHRcdFx0aGVpZ2h0OiA3cHg7XHJcblx0XHRcdFx0d2lkdGg6IDdweDtcclxuXHRcdFx0XHQvLyBwb3NpdGlvbjogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IC01cHg7XHJcblx0XHRcdFx0Ym90dG9tOiAycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHJcblx0XHRcdGgzIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5ib3gge1xyXG5cdFx0XHRcdGJvcmRlcjogMXB0IHNvbGlkICM5RUFFQkM7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwcHggMHB4IDFweDtcclxuXHRcdFx0XHRtYXJnaW46IDEuMnJlbSAwcmVtIDFyZW07XHJcblx0XHRcdFx0YmFja2dyb3VuZDogI0ZERkRGRDtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogN3JlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHQuZG90dGVkLXJpZ2h0IHtcclxuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDJwdCBkb3R0ZWQgI2VhZWFlYTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5kZXNjcmlwdGlvbi5jYXJkIHtcclxuXHRcdFx0bWluLWhlaWdodDogMjcuNXJlbTtcclxuXHRcdH1cclxuXHRcdC5pbnRyby1ibG9jayB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IGRvdHRlZCAwcHggJGdyYXktbWlkLTE7XHJcblx0XHR9XHJcblx0XHQuc2VydmljZS1ibG9jayB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuY2FyZCB7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5kZXNjcmlwdGlvbi5zbWFsbC1jZW50ZXJlZCB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHJcblx0XHQubWFudGVuZ2Etc3UtbmVnb2NpbyB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5jYXJkIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAxcmVtIDByZW0gMC41cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmJ1dHRvbi1ib3JkZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgIzE0Njc5ZTtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRcdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHRcdFx0XHRcdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMXJlbSAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMHJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAuOGVtIDEuNXJlbTtcclxuXHRcdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0fVxyXG5cclxuXHQudGF4cHJlcC10YXgtcHJvYmxlbXMge1xyXG5cdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmdyYXBoaWMge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRwYWRkaW5nLXRvcDogMHJlbTtcclxuXHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDByZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDowO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaW1nLXNpemUtd3JhcHBlciB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGhlaWdodDogMTRyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE3cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDI0cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmltZy1zaXplLXdyYXBwZXIgaW1nIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cdCIsIlx0XHJcbi8vIEJ1c2luZXNzIE1haW5cdFxyXG5cclxuXHQuYnVzaW5lc3Mtb3ZlcnZpZXcge1xyXG5cclxuXHRcdC5jb250YWluZXI6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250YWluZXItY2FyZHMge1xyXG5cdFx0XHRwYWRkaW5nOiAwcmVtIDFyZW0gMHJlbTtcclxuXHJcblx0XHRcdC5jb250ZW50IHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblxyXG5cdFx0LmNhcmQtd3JhcHBlciB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEsMCk7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0XHQuY2FyZCB7XHJcblxyXG5cdFx0XHRcdFx0Ly9jb2x1bW4gc2l6ZXMgZm9yIGRpZmZlcmVudCBsYXlvdXRzXHJcblx0XHRcdFx0XHQucm93IC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKDEyKTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKDQpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LnJvdyAuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgxMik7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSg4KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5ob2xsb3cge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5idXR0b24taG92ZXItc29saWRfYmx1ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cclxuXHRcdC5sYXJnZS1jYXJkcyB7XHJcblx0XHRcdC5jYXJkIHtcclxuXHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zbWFsbC1jYXJkcyB7XHJcblx0XHRcdC5jYXJkIHtcclxuXHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA2LjVyZW07XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHJcblxyXG4vLyBCdXNpbmVzczogVGF4ICYgRmluYW5jaWFsc1xyXG4vLyAtLS0gc2VlIHNlcGFyYXRlIHBhcnRpYWwgZmlsZSAtLS0tLVxyXG5cclxuXHJcblxyXG4vLyBCdXNpbmVzczogUGF5cm9sbCBNYWluXHJcblxyXG5cclxuXHQuYnVzaW5lc3MtcGF5cm9sbCB7XHJcblx0XHRwYWRkaW5nLXRvcDozLjVyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTozLjVyZW07XHJcblx0fVxyXG5cclxuXHJcblx0LmJ1c3ByLWZlYXR1cmVzLXBpY2tlciB7XHJcblx0XHRAZXh0ZW5kIC5iYXNlLXNlcnZpY2VzLXBpY2tlcjtcclxuXHJcblx0XHQuc2VydmljZXMtZ3JvdXAge1xyXG5cclxuXHRcdFx0LmNhcmQtd3JhcHBlcntcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzIG9ubHkpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXNpemUoMTApO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnNlcnZpY2UtY2FyZCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMXJlbSAxLjVyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMXJlbSAycmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdFx0Ly8gY29sdW1uIHNpemluZywgYWxpZ25tZW50IGFuZCBwYWRkaW5nIE9OTFkgLS0gdG8gbWFrZSB0aGlzIGVhc2llciB0byB1bmRlcnN0YW5kLiBTdHlsaW5nIGlzIGJlbG93LlxyXG5cdFx0XHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdyhjb2xsYXBzZSk7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblxyXG5cclxuXHRcdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCwwKTtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IC41cmVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDcpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIGNvbHVtbiBzdHlsaW5nIGhlcmVcclxuXHRcdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRoNSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gcGFkZGluZy1sZWZ0OjA7XHJcblx0XHRcdFx0XHRcdFx0Ly8gcGFkZGluZy1yaWdodDowO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQmPiBzcGFuIHtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZTtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkYmx1ZS1kYXJrLTE7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cclxuXHQuYnVzcHIteWVhci1lbmQtcGF5cm9sbCB7XHJcblx0XHQvLyBwYWRkaW5nLXRvcDogNHJlbTtcclxuXHJcblx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMjtcclxuXHRcdFx0Ly8gQGV4dGVuZCAubWVkaXVtLW9yZGVyLTE7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDkpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNyk7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDcpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0Ly8gXHRwYWRkaW5nOiAwcmVtO1xyXG5cdFx0XHQvLyB9XHJcblx0XHR9XHJcblxyXG5cdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHJcblx0XHQuX2ljb24tcmVwdGNoa21hcmsge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDExcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQuYnVzcHItcGF5cm9sbC10YXgtcHJvYmxlbXMge1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblxyXG5cdFx0LndyYXBwaW5nLWJveCB7XHJcblx0XHRcdHBhZGRpbmc6IDFyZW0gMDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZzogMnJlbSAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi1pY29uIHtcclxuXHJcblx0XHRcdC5pY29uLXN2Zy1tYXgge1xyXG5cdFx0XHRcdGhlaWdodDogMTJyZW07XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE2cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdC8vIHBhZGRpbmc6IDByZW0gYXV0byAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYnVzcHItcGF5LWZlYXR1cmVzIHtcclxuXHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAzcmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAuY29sbGFwc2U7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1sZWZ0O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHQvLyBAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nOiAuN3JlbTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Lmljb24ge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5pY29uLXN2Zy1oZWlnaHQtc3RkO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDkpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC5mZWUtZGV0YWlsIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICM4Nzg3ODc7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0XHJcblxyXG5cdC5idXNwci1ndWlkYW5jZS1hc3Npc3RhbmNlIHtcclxuXHRcclxuXHRcdC8vIGNvbHVtbiBhbGlnbm1lbnRzIGFuZCBwYWRkaW5ncyBGSVJTVCwgc3R5bGluZ3Mgc2VwYXJhdGVcclxuXHRcdC5mZWF0dXJlLXJvdyB7XHJcblxyXG5cdFx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pY29uLXJvdyB7XHJcblx0XHRcdFx0XHQgQGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdFx0IEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHJcblx0XHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuaWNvbi13cmFwcGVyIHtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDZyZW07XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDZyZW07XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMXJlbTtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDFyZW0gYXV0bztcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDRyZW07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6ICA3LjZyZW07XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNy42cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMXJlbTtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDVyZW07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIGNvbnRlbnQgc3R5bGluZyBmb3Igc3R1ZmYgaW5zaWRlIGNvbHVtbnNcclxuXHRcdC5jb2x1bW4taWNvbntcclxuXHJcblx0XHRcdC5pY29uLXdyYXBwZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcclxuXHRcdFx0XHRib3JkZXI6IDFwdCBzb2xpZCBsaWdodGVuKCRjb2xvci1ib3JkZXItZ3JheSw1KTtcclxuXHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGg0IHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSBcclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBCdXNpbmVzczogTW92ZSB0byB0aGUgVVNcclxuXHQuYnVzbW92ZXVzYS1lc3RhYmxpc2gge1xyXG5cclxuXHRcdC5mZWF0dXJlcy1yb3cge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblxyXG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzIG9ubHkpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAzcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQuaWNvbi1yb3cge1xyXG5cclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29ue1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbHVtbi10ZXh0e1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdC5idXNtb3ZldXNhLWNvdW50cmllcy1hc3Npc3RlZCB7XHJcblx0XHQuY29udGVudCB7XHJcblxyXG5cdFx0XHQuY29sdW1uLWdsb2JlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uLXRleHQge1xyXG5cclxuXHRcdFx0XHQuY29tbWVudCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mbGFncyB7XHJcblx0XHRcdFx0bWluLWhlaWdodDogM3JlbTtcclxuXHRcdFx0XHR1bCB7XHJcblx0XHRcdFx0XHRsaXN0LXN0eWxlOiBub25lOyBcclxuXHJcblx0XHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QgY29sbGFwc2UpO1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAucm93O1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuY29sbGFwc2U7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5zbWFsbC11cC0zO1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAubGFyZ2UtdXAtNTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5jb2x1bW47XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDNyZW07XHJcblxyXG5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDMuNXJlbTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuYnVzbW92ZXVzYS1jb3Zlci1iYXNpY3Mge1xyXG5cdFx0LmV2YWx1YW1vcy1sYXMtbWVqb3JlcyB7XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMC45cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Y29sb3I6ICM1MzY0NzU7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNzVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5pY29uLXN2Zy1jdXN0b20ge1xyXG5cdFx0XHRoZWlnaHQ6IDEycmVtO1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdH1cclxuXHRcdC5ncmFwaGljIHtcclxuXHRcdFx0Ly8gcGFkZGluZzogMS41cmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdC8vIHBhZGRpbmc6IDByZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5idXNtb3ZldXNhLWFkZGl0aW9uYWwtc2VydmljZXMge1xyXG5cdFx0YmFja2dyb3VuZDogIzhlOWVhYiAhaW1wb3J0YW50O1xyXG5cdFx0LyogZmFsbGJhY2sgZm9yIG9sZCBicm93c2VycyAqL1xyXG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmN2Y5ZjksICNlOWY0ZmQpICFpbXBvcnRhbnQ7XHJcblx0XHQvKiBDaHJvbWUgMTAtMjUsIFNhZmFyaSA1LjEtNiAqL1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjdmOWY5LCAjZTlmNGZkKSAhaW1wb3J0YW50O1xyXG5cdFx0LyogVzNDLCBJRSAxMCsvIEVkZ2UsIEZpcmVmb3ggMTYrLCBDaHJvbWUgMjYrLCBPcGVyYSAxMissIFNhZmFyaSA3KyAqL1xyXG5cdFx0QGV4dGVuZCAuYmFzZS1zZXJ2aWNlcy1waWNrZXI7XHJcblx0XHQuc2VydmljZS1jYXJkOmhvdmVyIHN2ZyB7XHJcblx0XHRcdGhlaWdodDogNXJlbTtcclxuXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0fVxyXG5cdFx0LnNlcnZpY2UtY2FyZDpob3ZlciAuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdH1cclxuXHRcdC5zZXJ2aWNlLWNhcmQge1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAxMHJlbTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdFx0LmNhcmQtc2VjdGlvbiB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHRcdFx0XHRoNSB7XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZTtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICMxZjRlODk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSBcclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBCdXNpbmVzczogR2V0LVJlZ2lzdGVyZWQgUGFnZVxyXG5cdC5idXNyZWdpc3Rlci1wbGFuLW9yZ2FuaXplIHtcclxuXHRcdFxyXG5cdFx0LmhlYWRlci1zZWN0aW9uIHtcclxuXHJcblx0XHRcdC8vIEBleHRlbmQgLmNvbnRlbnQtY2VudGVyZWQ7XHJcblx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0XHJcblx0XHRcdC5jb2x1bW4taGVhZGVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBjb2x1bW4gc2l6ZXMsIHBhZGRpbmdzLCBhbmQgYWxpZ25tZW50cyBzZXBhcmF0ZSBmcm9tIGNvbnRlbnQgc3R5bGluZ1xyXG5cdFx0LmZlYXR1cmVzLXJvdyB7XHJcblx0XHRcdC8vIEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0QGV4dGVuZCAuYWxpZ24tc3BhY2VkO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKSB7IFxyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblxyXG5cdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHQvLyBwYWRkaW5nOjFyZW07XHJcblx0XHRcdEBleHRlbmQgLmdyYXBoaWNfc21hbGw7XHJcblx0XHRcdFxyXG5cdFx0XHQuaWNvbiB7XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAuaWNvbi1zdmctZmVhdHVyZS1zaXplX21lZGl1bTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYnVzcmVnaXN0ZXItcmVnaXN0ZXIteW91ci1idXNpbmVzcyB7XHJcblxyXG5cdFx0LmhlYWRlciB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC1wbHVzLW9yZGVyLTI7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLXBsdXMtb3JkZXItMTtcclxuXHJcblx0XHRcdC8vIEBleHRlbmQgLm1lZGl1bS1wbHVzLW9mZnNldC0yO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCwwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLXBsdXMtb3JkZXItMTtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtcGx1cy1vcmRlci0yO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4taWNvbiAuaWNvbiB7XHJcblx0XHRcdEBleHRlbmQgLmljb24tc3ZnLWhlaWdodC0yeGxhcmdlO1xyXG5cclxuXHRcdFx0aGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0aGVpZ2h0OjEycmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYnVzcmVnaXN0ZXItcmV2aWV3LWlzc3VlcyB7XHJcblx0XHRcclxuXHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTE7XHJcblx0XHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0yO1xyXG5cclxuXHRcdFx0bWFyZ2luLXRvcDogLTFyZW07XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0Lmljb24ge1xyXG5cdFx0XHRcdEBleHRlbmQgLmljb24tc3ZnLWhlaWdodC0yeGxhcmdlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTI7XHJcblx0XHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNyk7XHJcblx0XHRcdH1cdFxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQuY29udGFpbmVye1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLXRvcDogMXJlbSFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5jYWxsb3V0IHtcclxuXHJcblx0XHRcdC8vIHBhZGRpbmc6IDByZW07XHJcblx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHQvLyBcdHBhZGRpbmc6IDByZW0gMHJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHQvLyBcdG1hcmdpbjogMCFpbXBvcnRhbnQ7XHJcblx0XHRcdC8vIFx0aDJ7XHJcblx0XHRcdC8vIFx0XHRtYXJnaW4tdG9wOiAxcmVtIWltcG9ydGFudDtcclxuXHRcdFx0Ly8gXHR9XHJcblx0XHRcdC8vIH1cclxuXHRcdH1cclxuXHRcdHN2ZyB7XHJcblx0XHRcdC8vIGhlaWdodDogMjFyZW07XHJcblx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHQvLyBcdGhlaWdodDogMTVyZW07XHJcblx0XHRcdC8vIH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5idXNyZWdpc3Rlci1tYW5hZ2UtZ3Jvdy15b3VyLWJ1c2luZXNzIHtcclxuXHRcdC8vIGJhY2tncm91bmQ6ICM4ZTllYWIgIWltcG9ydGFudDtcclxuXHRcdC8vIC8qIGZhbGxiYWNrIGZvciBvbGQgYnJvd3NlcnMgKi9cclxuXHRcdC8vIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjdmOWY5LCAjZTlmNGZkKSAhaW1wb3J0YW50O1xyXG5cdFx0Ly8gQ2hyb21lIDEwLTI1LCBTYWZhcmkgNS4xLTZcclxuXHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y3ZjlmOSwgI2U5ZjRmZCkgIWltcG9ydGFudDtcclxuXHRcdC8vIC8vIFczQywgSUUgMTArLyBFZGdlLCBGaXJlZm94IDE2KywgQ2hyb21lIDI2KywgT3BlcmEgMTIrLCBTYWZhcmkgNytcclxuXHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gXHRoM3tcclxuXHRcdC8vIFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LmNvbHVtbi5zbWFsbC0xMi5tZWRpdW0tNi5tZWRpdW0tcGx1cy02e1xyXG5cdFx0Ly8gXHRcdHBhZGRpbmctbGVmdDogMHJlbTtcclxuXHRcdC8vIFx0XHRwYWRkaW5nLXJpZ2h0OiAwcmVtO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblx0XHQvLyBoM3tcclxuXHRcdC8vIFx0Y29sb3I6ICMxZjRlODk7XHJcblx0XHQvLyB9XHJcblx0XHQvLyAuY2FyZC13cmFwcGVyIHtcclxuXHRcdC8vIFx0LmNhcmQge1xyXG5cdFx0Ly8gXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHQvLyBcdFx0LmNhcmQtc2VjdGlvbiB7XHJcblx0XHQvLyBcdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0Ly8gXHRcdFx0aDUge1xyXG5cdFx0Ly8gXHRcdFx0XHRhIHtcclxuXHRcdC8vIFx0XHRcdFx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdC8vIFx0XHRcdFx0XHRAaW5jbHVkZSBsaW5rLWRvdHRlZC11bmRlcmxpbmU7XHJcblx0XHQvLyBcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdC8vIFx0XHRcdFx0XHRjb2xvcjogIzFmNGU4OTtcclxuXHRcdC8vIFx0XHRcdFx0fVxyXG5cdFx0Ly8gXHRcdFx0fVxyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQuc2VydmljZS1jYXJkOmhvdmVyIHtcclxuXHRcdC8vIFx0XHRiYWNrZ3JvdW5kOiAjRjRGOUZGO1xyXG5cdFx0Ly8gXHRcdGJvcmRlci1jb2xvcjogIzlFQUVCQztcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQuc2VydmljZS1jYXJkIHtcclxuXHRcdC8vIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQvLyBcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ly8gXHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xyXG5cdFx0Ly8gXHRcdHN2ZyB7XHJcblx0XHQvLyBcdFx0XHRoZWlnaHQ6IDVyZW07XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC5zZXJ2aWNlLWNhcmQ6aG92ZXIgLmNhcmQtc2VjdGlvbiB7XHJcblx0XHQvLyBcdFx0cGFkZGluZy10b3A6IDEuMHJlbTtcclxuXHRcdC8vIFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LnNlcnZpY2UtY2FyZDpob3ZlciBzdmcge1xyXG5cdFx0Ly8gXHRcdGhlaWdodDogNS41cmVtO1xyXG5cdFx0Ly8gXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0Ly8gXHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdC8vIFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHRcdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHQvLyBoMntcclxuXHRcdFx0XHRcclxuXHRcdC8vIFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdHB7XHJcblx0XHQvLyBcdFx0dGV4dC1hbGlnbjogbGVmdCFpbXBvcnRhbnQ7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHRcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQiLCIvLyBCdXNpbmVzcyBUYXggYW5kIEZpbmFuY2lhbHM6IE1haW4gJiBTdWJwYWdlc1xyXG5cdFxyXG5cclxuLy8gU3ViLW5hdiBmb3IgZW50aXJlIHNlY3Rpb25cclxuXHJcblx0LnN1Yi1uYXYge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdC8vIGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTsgXHJcblx0XHQvL21hcmdpbjogMCAycmVtO1xyXG5cdFx0Ly8gZGlzcGxheTogYmxvY2s7XHJcblx0XHQvLyB3aWR0aDogMTAwJTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLDcpO1xyXG5cclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHQvLyBAZXh0ZW5kIC5tZW51LWNlbnRlcmVkO1xyXG5cdFx0XHQvLyBvdmVyZmxvdy14OiBzY3JvbGw7XHJcblx0XHRcdC8vIG1hcmdpbi1ib3R0b206IC0xN3B4O1xyXG5cdFx0XHQvLyBwYWRkaW5nOiAwIDFyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1lbnUge1xyXG5cdFx0XHRsaSB7XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZzogMXJlbSAxcmVtO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AgKiAuNDtcclxuXHRcdFx0XHRcdC8vIGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luLWxlZnQ6IDEuNXJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsaS5pcy1hY3RpdmUge1xyXG5cclxuXHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AgKyAxcHg7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRcdC8vIG1hcmdpbi1ib3R0b206IC0xMHB4O1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0XHRcdFx0Ly8gYmFja2dyb3VuZDogeWVsbG93O1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogLTEwcHg7XHJcblx0XHRcdFx0XHQvLyBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJHJlZC1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHQvLyBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJHdoaXRlO1xyXG5cdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkYmx1ZS1kYXJrLTEsNSk7XHJcblxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkYmx1ZS1kYXJrLTEsNSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmJ1c2luZXNzLXN1Ym5hdiB7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0xO1xyXG5cdFx0Ly8gYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRncmF5LWxpZ2h0LTI7XHJcblx0XHRcclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHQvLyBAZXh0ZW5kIC5uYXYtY29udGFpbmVyLXRlbXBsYXRlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5kLW5vbmUtYmxvY2sge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHotaW5kZXg6IDk5OTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmxvZ28ge1xyXG5cdFx0XHQvLyBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdFx0XHRhIGltZyB7XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiAyNnB4O1xyXG5cdFx0XHRcdGhlaWdodDogJG5hdmJhci1oZWlnaHQtbW9iaWxlICogLjU7XHJcblx0XHRcdFx0Ly8gdmVydGljYWxseSBjZW50ZXJcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC50b3AtYmFyLWNlbnRlci1tIHtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmJ0bi1ibG9jayB7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuXHRcdFx0LmJ0bi1jb250YWN0IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBidXR0b24oZmFsc2UsICRyZWQtcHJpbWFyeSwgYXV0bywgJHdoaXRlLCBzb2xpZCk7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LW1vYmlsZS1icmVha3BvaW50IGRvd24pIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0Zm9udC1zaXplOjAuN3JlbTtcclxuXHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAuOHJlbTtcclxuXHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcblxyXG5cdFx0XHRcdC8vIHZlcnRpY2FsbHkgY2VudGVyXHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQuc3RpY2t5LmlzLXN0dWNrIHtcclxuXHRcdFx0ei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IGF1dG87XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5kLW5vbmUtYmxvY2sge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudG9wLWJhci1jZW50ZXItbSB7XHJcblx0XHRcdFx0Ly8gd2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0Ly8gcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdH1cclxuXHJcblx0XHQuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qIFx0XHRcclxuXHRcdG5hdi5zdWItbmF2IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0dG9wOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCovXHJcblxyXG5cclxuXHRcdHVsIHtcclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdC8vIHBhZGRpbmc6IDByZW0gMXJlbTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nOiAxLjFyZW0gMHJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0Ly8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdC8vIGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRcdC8vIGNvbG9yOiAjMWY0ZTg5ICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHQvLyBmb250LXdlaWdodDogNjAwO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHQvLyBwYWRkaW5nOiAxcmVtIDAuNXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0bGkuYWN0aXZlIHtcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdC8vIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjQ0ZDUyO1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDE1cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIFBBR0U6IEJ1c2luZXNzIFRheCBhbmQgRmluYW5jaWFscyAtIE1haW5cclxuXHJcblx0LmJ1c2Zpbi1pbnRybyB7XHJcblx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuXHRcdC5oZWFkZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdH1cclxuXHJcblx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdGhlaWdodDogMTJyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuYnVzZmluLXBsYW5zIHtcclxuXHJcblx0XHQuaGVhZGVyIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jYXJkcy1yb3cge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uLWNhcmQge1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCwwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5pY29uLXN2Zy1oZWlnaHQtbWVkaXVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5pY29uLXBheXJvbGwge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8vIGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29uY2x1c2lvbi1zZWN0aW9uIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRcclxuXHQuYnVzZmluLWZlYXR1cmVzLW1haW4ge1xyXG5cdFx0LmhlYWRlciB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIC5ncm91cC13cmFwcGVyIFxyXG5cdFx0LmZlYXR1cmVzLXNlY3Rpb24ge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDFyZW07XHJcblxyXG5cdFx0XHQuYWxsLWZlYXR1cmVzIHtcclxuXHRcdFx0XHQvL2JvcmRlcjogZG90dGVkIDFweCAjZWFlYWVhO1xyXG5cdFx0XHRcdC8vYmFja2dyb3VuZDogJGJsdWUtY2FsbG91dDtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEsMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mZWF0dXJlIHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xyXG5cdFx0XHRcdFx0Ly8gQGV4dGVuZCAuc21hbGwtcGx1cy1vZmZzZXQtMTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzcmVtO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDRyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCk7XHJcblxyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdGg1IHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuaDUtYWx0O1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LmNtbi1kaXZpZGVyIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC53cmFwcGVyIHtcclxuXHRcdFx0XHRcdC8vIHBhZGRpbmc6IC41cmVtO1xyXG5cdFx0XHRcdFx0Ly8gLmluc2lkZS13cmFwcGVyIHtcclxuXHRcdFx0XHRcdC8vIFx0Ly8gYm9yZGVyOiBzb2xpZCAxcHggI2VhZWFlYTtcclxuXHRcdFx0XHRcdC8vIFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0IGNvbGxhcHNlKTtcclxuXHRcdFx0XHRcdC8vIFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdFx0Ly8gXHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFx0XHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHt9XHJcblx0XHRcdFx0XHQvLyBcdC5pY29uIHtcclxuXHRcdFx0XHRcdC8vIFx0XHRiYWNrZ3JvdW5kOiAjZmZmOyAvLyBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0XHRcdFx0Ly8gXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdC8vIFx0XHRtYXJnaW46IDAuNXJlbSAwcmVtOyAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0Ly8gXHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHQvLyBcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdC8vIFx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0XHRcdC8vIFx0XHRcdGhlaWdodDogNHJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0bWF4LWhlaWdodDogNHJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0Ly8gXHRcdH1cclxuXHRcdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdFx0Ly8gXHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdFx0Ly8gXHRcdHBhZGRpbmctdG9wOiAwLjVyZW0gO1xyXG5cdFx0XHRcdFx0Ly8gXHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cclxuXHRcdFx0XHRcdC8vIFx0XHRoNSB7XHJcblx0XHRcdFx0XHQvLyBcdFx0XHRAZXh0ZW5kIC5oNS1hbHQ7XHJcblx0XHRcdFx0XHQvLyBcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0XHQvLyBcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0Y29sb3I6ICMxNDMzNTM7XHJcblx0XHRcdFx0XHQvLyBcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHQvLyBcdFx0XHQvLyBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcblx0XHRcdFx0XHQvLyBcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbmNsdXNpb24tc2VjdGlvbiB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG4vLyBQQUdFOiBCdXNpbmVzcyBUYXggYW5kIEZpbmFuY2lhbHMgLSBGZWF0dXJlcyAvIEJlbmVmaXRzXHJcblxyXG5cdC5idXNmaW4tYmVuZWZpdHMtaW50cm8ge1xyXG5cdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHJcblxyXG5cdFx0LmZlYXR1cmVzLXNlY3Rpb24ge1xyXG5cdFx0XHJcblx0XHQuYWxsLWZlYXR1cmVzIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZXMtcm93IHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jYXJkIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IC41cmVtIDFyZW07XHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cdFx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHQvLyBwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0XHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0Y0RjlGRjtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM5RUFFQkM7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0LmNhcmQtc2VjdGlvbiB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMS4wcmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQucm93IHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LmNhcmQtbGluayB7XHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29ue1xyXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMsMCk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMsMCk7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMy41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbHVtbi10ZXh0e1xyXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCwwKTtcclxuXHRcdFx0XHRcdC8vIHBhZGRpbmc6IDAgLjVyZW0gMCAwO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRoNSB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmg1LWFsdDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuYnVzZmluLWZlYXR1cmVzLXBpY2tlciB7XHJcblx0XHRAZXh0ZW5kIC5iYXNlLXNlcnZpY2VzLXBpY2tlcjtcclxuXHRcdC5zZXJ2aWNlcy1ncm91cCB7XHJcblx0XHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpOyAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0Ly8gXHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdC5idXNmaW4tdGF4ZXMtc29sdXRpb24ge1xyXG5cclxuXHRcdC5zZWN0aW9uLWhlYWRlciB7XHJcblx0XHRcdC5oZWFkZXIge1xyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zZWN0aW9uLWdyYXBoaWMge1xyXG5cclxuXHRcdFx0cGFkZGluZy10b3A6IC41cmVtO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC5ncmFwaGljIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExLDApO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwLDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRibHVlLXByaW1hcnksNDUpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9yZXNvdXJjZXMvaW1nL2J1c19iZ19wYXR0ZXJuLnN2Z1wiKTtcclxuXHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMTBweCBhdXRvO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE2MHB4IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHQvLyBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggbGlnaHRlbigkYmx1ZS1wcmltYXJ5LDE1KTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdHJhbnNwYXJlbnRpemUobGlnaHRlbigkYmx1ZS1wcmltYXJ5LDE1KSwuOCk7XHJcblx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggbGlnaHRlbigkY29sb3ItYm9yZGVyLWdyYXksMDkpO1xyXG5cdFx0XHRcdC8vIGJvcmRlci13aWR0aDogMHB4IDA7XHJcblxyXG5cdFx0XHRcdC5iZy1vdmVybGF5IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0Ly8gaGVpZ2h0OiAxMHJlbTtcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogMTJyZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAuNXJlbSAwIC4yNXJlbTtcclxuXHRcdFx0XHRcdC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKGRhcmtlbigkd2hpdGUsMSksLjUpO1xyXG5cdFx0XHRcdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsMjU1LDI1NSwuMzUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LC42NSkgMjglLCByZ2JhKDI1NSwyNTUsMjU1LC42NSkgNzIlLCByZ2JhKDI1NSwyNTUsMjU1LC4zNSkgMTAwJSk7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZShsaWdodGVuKCRibHVlLXByaW1hcnksNDcpLC41KTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNpcmNsZS13cmFwcGVye1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGhlaWdodDogOHJlbTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEycmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcmVtKTtcclxuXHRcdFx0XHRcdC8vIHdpZHRoOiAyMHJlbTtcclxuXHRcdFx0XHRcdC8vIHdpZHRoOiA4MCU7XHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nOiAuNXJlbSAuOHJlbSAuN3JlbTtcclxuXHRcdFx0XHRcdC8vIGJhY2tncm91bmQ6ICNGRkY7XHJcblx0XHRcdFx0XHQvLyBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHRcdFx0XHQvLyBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdGhlaWdodDoxMDAlO1xyXG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnNlY3Rpb24tZmVhdHVyZXMge1xyXG5cdFx0XHQvLyBwYWRkaW5nLXRvcDogMHJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0XHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cclxuXHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi10b3A7XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMSwwKTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEsMCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0Ly8gaGVpZ2h0OiAycmVtO1xyXG5cdFx0XHRcdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHQvLyBcdGhlaWdodDogMnJlbTtcclxuXHRcdFx0XHRcdFx0Ly8gfVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gaGVpZ2h0OiA0cmVtO1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEuNXJlbTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gaGVpZ2h0OiA1cmVtO1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMS41cmVtO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IC41cmVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0c3ZnLmNoZWNrbWFyayB7XHJcblx0XHRcdFx0XHRcdC8vIG1hcmdpbi10b3A6IC0uNXJlbTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkYmx1ZS1wcmltYXJ5LDE1KTtcclxuXHRcdFx0XHRcdFx0Ly8gZmlsbDogJHdoaXRlO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjg1ZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSwwKTtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0aDUge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuaDUtYWx0O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gLmljb24ge1xyXG5cdFx0Ly8gXHQuaWNvbi1zdmcge1xyXG5cdFx0Ly8gXHRcdGhlaWdodDogNnJlbTtcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdFx0Ly8gLmdyYXBoaWMge1xyXG5cdFx0Ly8gXHRwYWRkaW5nOiAwOyAvL2JhY2tncm91bmQ6IGhzbGEoMjExLCAxMDAlLCA5OSUsIDEpO1xyXG5cdFx0Ly8gXHQvL2JvcmRlcjogc29saWQgMXB4ICNkMGU2ZmY7XHJcblx0XHQvLyBcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0Ly8gXHRwYWRkaW5nLWJvdHRvbTogMXJlbTsgLy9ib3JkZXItd2lkdGg6IDFweCAwO1xyXG5cdFx0Ly8gXHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblx0XHQvLyAuZGVzY3JpcHRpb24ge1xyXG5cdFx0Ly8gXHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdC8vIFx0XHRcdHBhZGRpbmc6IDByZW07XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdC8vIFx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQuZmVhdHVyZWxpc3Qge1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCBjb2xsYXBzZSk7IC8vIEBleHRlbmQgLmNvbGxhcHNlO1xyXG5cdFx0Ly8gXHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdC8vIFx0XHQuaWNvbi1yb3cge1xyXG5cdFx0Ly8gXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0Ly8gXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdFx0Ly8gXHRcdFx0XHRwYWRkaW5nOiAxcmVtIDEuNXJlbSAxLjVyZW07XHJcblx0XHQvLyBcdFx0XHR9XHJcblx0XHQvLyBcdFx0XHQuZmVhdHVyZS1pY29uIHtcclxuXHRcdC8vIFx0XHRcdFx0Ym9yZGVyOiAxcHQgc29saWQgIzlFQUVCQztcclxuXHRcdC8vIFx0XHRcdFx0bWFyZ2luOiAxLjJyZW0gMHJlbSAxcmVtO1xyXG5cdFx0Ly8gXHRcdFx0XHRiYWNrZ3JvdW5kOiAjRkRGREZEO1xyXG5cdFx0Ly8gXHRcdFx0XHRwYWRkaW5nOiAxcmVtIDByZW07XHJcblx0XHQvLyBcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdC8vIFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHQvLyBcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdC8vIFx0XHRcdFx0XHR3aWR0aDogMjgwcHg7XHJcblx0XHQvLyBcdFx0XHRcdH1cclxuXHRcdC8vIFx0XHRcdH1cclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdFx0LmZlYXR1cmUge1xyXG5cdFx0Ly8gXHRcdFx0LnRleHQge1xyXG5cdFx0Ly8gXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHQvLyBcdFx0XHR9XHJcblx0XHQvLyBcdFx0XHRoNCB7XHJcblx0XHQvLyBcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcclxuXHRcdC8vIFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0Ly8gXHRcdFx0fVxyXG5cdFx0Ly8gXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblx0XHQvLyBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0Ly8gXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0Ly8gXHRcdFx0fVxyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdH1cclxuXHJcblxyXG5cdC5idXNmaW4tbWFuYWdlIHtcclxuXHJcblx0XHQuaGVhZGVyLXNlY3Rpb24ge1xyXG5cdFx0XHQuaGVhZGVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlYXR1cmVzLXNlY3Rpb24ge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmFsbC1mZWF0dXJlcyB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQucm93IHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHRcdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMsMCk7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1zZWxmLXRvcDtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogNXJlbTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA3cmVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDkpO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuODVlbTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdGg1IHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuYnVzZmluLWZ1dHVyZSB7XHJcblxyXG5cdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMTtcclxuXHRcdFx0QGV4dGVuZCAubWVkaXVtLW9yZGVyLTI7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQsMCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQsMCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdGhlaWdodDogMTVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMjtcclxuXHRcdFx0QGV4dGVuZCAubWVkaXVtLW9yZGVyLTE7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblxyXG5cdFx0LmNvbnRhaW5lciB7XHJcblx0XHRcdFxyXG5cdFx0XHQudC1iZHItdG9wIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogNnJlbTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAzcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwcmVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDByZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmJ1c2Zpbi10YXhleHBlbnNlIHtcclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDByZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSBcclxuXHJcblxyXG5cdC5idXNmaW4tdGVhbSB7XHJcblx0XHRcclxuXHRcdC5mZWF0dXJlcy1zZWN0aW9uIHtcclxuXHJcblx0XHRcdC5hbGwtZmVhdHVyZXMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuXHRcdFx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKXtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMsMCk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHQvLyBEZWZpbmUgaGVpZ2h0IGZvciBpY29uXHJcblx0XHRcdFx0XHQkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbDogM3JlbTtcclxuXHRcdFx0XHRcdCRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LXNtYWxsLXBsdXM6IDMuNXJlbTtcclxuXHRcdFx0XHRcdCRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bTogNHJlbTtcclxuXHRcdFx0XHRcdCRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bS1wbHVzOiA1cmVtO1xyXG5cclxuXHRcdFx0XHRcdC5jaXJjbGUtd3JhcHBlciB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGdyYXktbGlnaHQtMSwgMSUpO1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCBsaWdodGVuKCRibHVlLXByaW1hcnksIDQyJSk7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTByZW0pO1xyXG5cdFx0XHRcdFx0XHQvLyBoZWlnaHQ6IDdyZW07XHJcblx0XHRcdFx0XHRcdC8vIHdpZHRoOiA3cmVtO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbCAqIDEuMjU7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbCAqIDEuMjU7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbCAvIDg7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtc21hbGwtcGx1cyAqIDEuMjU7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LXNtYWxsLXBsdXMgKiAxLjI1O1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbC1wbHVzIC8gODtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtbWVkaXVtICogMS4yNTtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtbWVkaXVtICogMS4yNTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtbWVkaXVtIC8gODtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1tZWRpdW0tcGx1cyAqIDEuMjU7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bS1wbHVzICogMS4yNTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtbWVkaXVtLXBsdXMgLyA4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbDtcclxuXHRcdFx0XHRcdFx0Ly8gd2lkdGg6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LXNtYWxsO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LXNtYWxsLXBsdXM7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1tZWRpdW0tcGx1cztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHJcbi8vIFBBR0U6IEJ1c2luZXNzIFRheCBhbmQgRmluYW5jaWFscyAtIFByaWNpbmdcclxuXHJcblx0LnByaWNpbmctdGFiIHtcclxuXHRcdC5wcmljaW5nLXRhYmxlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkbWVkaXVtLWdyYXk7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHR9XHRcclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJG1lZGl1bS1ncmF5O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAuODc1cmVtIDEuMTI1cmVtO1xyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0LnByaWNlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuXHRcdFx0XHRmb250LXNpemU6IDJyZW07XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHQ6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0XHJcblxyXG4iLCJcdC8vIFRheCBQcm9ibGVtczogTWFpbiBQYWdlXHJcblx0Lmhlcm8tdGF4cHJvYmxlbXMge1xyXG5cdFx0Lmhlcm8tY29udGVudCB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRheHByb2JsZW1zLXN1Ymhlcm8ge1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHJcblxyXG5cdFx0LmhlYWRlcntcclxuXHRcdFx0QGV4dGVuZCAuc2hyaW5rO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGg0IHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRjb2xvcjogZGFya2VuKCR3aGl0ZSw1KTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Ly8gY29udGVudDogJyc7XHJcblx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OjFweDtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnNlcnZpY2VzLXBpY2tlciB7XHJcblx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0XHJcblx0XHRcdC5zZXJ2aWNlIHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSl7XHJcblx0XHRcdFx0XHRcdC8vIEBleHRlbmQgLmxhcmdlLW9mZnNldC0xO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBjb2x1bW4gc2l6ZXMsIGFsaWdubWVudHMsIGFuZCBzcGFjaW5ncyBGSVJTVCwgY29udGVudHMgc2VwYXJhdGUgYmVsb3dcclxuXHRcdFx0XHQuY2FyZCB7XHJcblxyXG5cdFx0XHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0Ly8gY29udGVudHMgaGVyZVxyXG5cdFx0XHRcdC5jYXJkIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDdweDtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHJcblx0XHRcdFx0XHQucm93IC5jb2x1bW4tdGV4dCBoNSBhIHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuZm9udC1hbHRlcm5hdGUtMTtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbigkYmx1ZS1wcmltYXJ5LDEwKTtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYm94LXNoYWRvdyAoMHB4LCAwcHgsIDI1cHgsIHJnYmEoMCwwLDAsLjE1KSk7XHJcblxyXG5cdFx0XHRcdFx0XHQucm93IC5jb2x1bW4tdGV4dCBhIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogZGFya2VuKCRibHVlLWRhcmstMSw1KTtcclxuXHRcdFx0XHRcdFx0XHQvLyBjb2xvcjogZGFya2VuKCRyZWQtcHJpbWFyeSwzMCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC8vIC5yb3cgLmNvbHVtbi1pY29uIHN2ZyB7XHJcblx0XHRcdFx0XHRcdC8vIFx0XHRoZWlnaHQ6IDZyZW07XHJcblx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHQvLyBcdFx0XHRoZWlnaHQ6IDdyZW07XHJcblx0XHRcdFx0XHRcdC8vIFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRcdFx0aGVpZ2h0OiA4cmVtO1xyXG5cdFx0XHRcdFx0XHQvLyBcdFx0fVxyXG5cdFx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0LnJvdyB7XHJcblxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDVyZW07XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDZyZW07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkYmx1ZS1kYXJrLTE7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0LnNlcnZpY2VzLWdyb3VwIHtcclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiBoc2xhKDIxMSwgOTklLCA5NyUsIDEpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDByZW07IC8vIGJvcmRlcjogc29saWQgMXB4ICNhNGQwZmY7XHJcblx0XHRcdFx0Ly8gYm9yZGVyLXdpZHRoOiAxcHggMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VydmljZS1jYXJkIHtcclxuXHRcdFx0XHQvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdC8vIG1pbi1oZWlnaHQ6IDEwcmVtO1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0Ly8gbWluLWhlaWdodDogOXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0Y0RjlGRjtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogIzlFQUVCQztcclxuXHRcdFx0XHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMS4wcmVtO1xyXG5cdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA1LjVyZW07XHJcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdC8vIHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0Ly8gaGVpZ2h0OiA1cmVtO1xyXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHQvLyBcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHQvLyBmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdFx0XHRcdFx0Ly8gQGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lO1xyXG5cdFx0XHRcdFx0XHQvLyBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHQvLyBjb2xvcjogJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRcdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2FyZC1saW5rIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudGF4cHJvYmxlbXMtcHJvbWlzZSB7XHJcblx0XHRwYWRkaW5nLXRvcDogNHJlbTtcclxuXHJcblx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdHBhZGRpbmc6IDByZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IGluaGVyaXQ7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0Ly8gcGFkZGluZzogMHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5ib3JkZXItcmVkIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB0IHNvbGlkICNGNUM1QzY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LmdyYXBoaWMgaW1nIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0bWF4LWhlaWdodDogMTNyZW07XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDI3cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogbm9uZTtcclxuXHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAtMS41cmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50YXhwcm9ibGVtcy1idXNpbmVzcy1pc3N1ZXMsXHJcblx0LnRheHByb2JsZW1zLXBlcnNvbmFsLWlzc3VlcyB7XHJcblx0XHQuYm94LXN2ZyB7XHJcblx0XHRcdC8vIGJvcmRlcjogMXB0IHNvbGlkICM5RUFFQkM7XHJcblx0XHRcdG1hcmdpbjogMS4ycmVtIDByZW0gMXJlbTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogI0ZGRjtcclxuXHRcdH1cclxuXHRcdC5ib3gtc3ZnMSB7XHJcblx0XHRcdC8vIGJvcmRlcjogMXB0IHNvbGlkICM5RUFFQkM7XHJcblx0XHRcdG1hcmdpbjogMS4ycmVtIDByZW0gMXJlbTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogI0ZERkRGRDtcclxuXHRcdH1cclxuXHRcdC5pY29uLWJsb2NrIHtcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDZyZW07XHJcblx0XHRcdFx0bWFyZ2luOiAxcmVtIDByZW0gMHJlbTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA2cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRoNCB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdG1hcmdpbjogMHJlbSAwcmVtIDEuNXJlbTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDE2JTtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudGF4cHJvYmxlbXMta25vd2xlZGdlLWV4cGVyaWVuY2Uge1xyXG5cclxuXHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuY29sdW1uLWdyYXBoaWMge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaWNvbiB7XHJcblx0XHRcdFx0QGV4dGVuZCAuaWNvbi1zdmctaGVpZ2h0LXNtYWxsO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDlyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC8vIG1heC13aWR0aDogNXJlbTtcclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gLmNvbnRhaW5lciB7XHJcblx0XHQvLyBcdC5mZWF0dXJlLWljb24ge1xyXG5cdFx0Ly8gXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHQvLyBcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcclxuXHRcdC8vIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHQvLyBcdFx0aGVpZ2h0OiAxMTBweDtcclxuXHRcdC8vIFx0XHRwYWRkaW5nOiAyNHB4O1xyXG5cdFx0Ly8gXHRcdHdpZHRoOiAxMTBweDtcclxuXHRcdC8vIFx0XHRtYXJnaW46IDFyZW0gMHJlbTtcclxuXHRcdC8vIFx0XHRib3JkZXI6IDFwdCBzb2xpZCAjZGJlNWYwO1xyXG5cdFx0Ly8gXHRcdHN2ZyB7XHJcblx0XHQvLyBcdFx0XHRoZWlnaHQ6IDRyZW0gIWltcG9ydGFudDtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0QGV4dGVuZCAuc21hbGwtMTI7XHJcblx0XHQvLyBcdEBleHRlbmQgLm1lZGl1bS00O1xyXG5cdFx0Ly8gXHQudGV4dCB7XHJcblx0XHQvLyBcdFx0QGV4dGVuZCAuc3ViLWJsb2NrO1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHBsdXMpIHtcclxuXHRcdC8vIFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNSk7XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHQvLyBcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdC8vIFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdFx0aDUge1xyXG5cdFx0Ly8gXHRcdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LnRleHQge1xyXG5cdFx0Ly8gXHRcdGg0IHtcclxuXHRcdC8vIFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0Lmljb24ge1xyXG5cdFx0Ly8gXHRcdC5pY29uLXN2ZyB7XHJcblx0XHQvLyBcdFx0XHRAZXh0ZW5kIC5pY29uLXN2Zy1oZWlnaHQtc3RkO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdH1cclxuXHJcblx0LnRheHByb2JsZW1zLXBlcnNvbmFsLWlzc3VlcyB7XHJcblx0XHQuZmVhdHVyZXMtcm93IHtcclxuXHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGNvbHVtbiBzaXplcyBhbmQgYWxpZ25tZW50cyBGSVJTVCwgb3RoZXIgc3R5bGVzIGFmdGVyXHJcblx0XHQuZmVhdHVyZXtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnJvd3tcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cclxuXHRcdFx0XHQuY29sdW1uLWljb257XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQsMCk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0LDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbHVtbi10ZXh0e1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig3KTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIG90aGVyIHN0eWxlc1xyXG5cdFx0LmZlYXR1cmV7XHJcblx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRcdCY6Zmlyc3Qtb2YtdHlwZXtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHJcblx0XHRcdFx0JjpmaXJzdC1vZi10eXBle1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yb3d7XHJcblx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHJcblx0XHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDVyZW07XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogN3JlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dHtcclxuXHRcdFx0XHRcdC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuaDQtYWx0O1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHJcblx0XHQudGl0bGUtYmxvY2sge1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwJTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMCU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBwbHVzKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cdC50YXhwcm9ibGVtcy1idXNpbmVzcy1pc3N1ZXMge1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHJcblx0XHRwLmVuZ2xpc2gtdGVybXMge1xyXG5cdFx0XHRmb250LXNpemU6IC43ZW07XHJcblx0XHRcdG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdH1cclxuXHJcblx0XHQuZmVhdHVyZXMtbGlzdHN7XHJcblx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG5cdFx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogMzVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcclxuXHJcblx0XHRcdC5hbGwtbGlzdHMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cclxuXHRcdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHJcblx0XHRcdFx0LmNhdGVnb3J5LWljb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMsMCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuaWNvbi1zdmctaGVpZ2h0LW1lZGl1bTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDlyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jYXRlZ29yeS1saXN0IHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDkpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHR1bCB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLnJvdztcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuY29sbGFwc2U7XHJcblx0XHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG5cdFx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjg1cmVtO1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjlyZW07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0bGkuY2F0ZWdvcnkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWJvcmRlci1ncmF5O1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRoM3tcclxuXHRcdFx0XHRcdFx0XHRcdEBleHRlbmQgLmgzLWFsdDtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZToxLjA1ZW07XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IC41cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmNhdGVnb3JpZXMtcm93IHtcclxuXHJcblx0XHRcdC5jYXRlZ29yeSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQuaGVhZGVye1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vIENvbnRhY3QgVXMgUGFnZVxyXG5cclxuLmhlcm8tY29udGFjdHtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdC8vIEBpbmNsdWRlIGJsdWUtYmx1ZWdyZWVuLWdyYWRpZW50KCk7XHJcblx0XHRAaW5jbHVkZSBibHVlLWJsdWVncmVlbi1saW5lYXItZ3JhZGllbnQoKTtcclxuXHRcdFxyXG5cdFx0cGFkZGluZy1ib3R0b206IDZyZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDhyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblxyXG5cdH1cclxuXHJcblxyXG59XHJcblx0LmhlYWRlcl9ob3ctY2FuLXdlLWhlbHAge1xyXG5cdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblxyXG5cdFx0aDEgeyBcclxuXHRcdFx0Ly8gQGV4dGVuZCAuZ2VuZXJpYy1oMTtcclxuXHJcblx0XHR9XHJcblxyXG5cdFx0aDIgeyBcclxuXHRcdFx0QGV4dGVuZCAuZ2VuZXJpYy1oMjtcclxuXHJcblx0XHR9XHJcblxyXG5cdFx0cCB7IFxyXG5cdFx0XHRmb250LXNpemU6IDEuMmVtO1xyXG5cdFx0XHRmb250LXNpemU6IDEuMWVtO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xyXG5cdFx0XHQvLyB3aGl0ZS1zcGFjZTogcHJlO1xyXG5cclxuXHRcdFx0LnRzLXBob25lIHtcclxuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDRweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnRzLXBob25lLXN0YXIge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRmb250LXNpemU6IC43ZW07XHJcblx0XHRcdFx0dG9wOiAtLjdlbTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMDtcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGJ1c2luZXNzLWJsdWUsMjApO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggZGFya2VuKCRidXNpbmVzcy1ibHVlLDIwKTtcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHQvLyBjb2xvcjogbGlnaHRlbigkYnVzaW5lc3MtYmx1ZSw0MCk7XHJcblx0XHRcdFx0XHRjb2xvcjogJHJlZC1tZWRpdW07XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkcmVkLW1lZGl1bTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRoMiwgcCB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHRhLm1vcmUtaW5mb3JtYXRpb24tYmVsb3cge1xyXG5cdFx0XHRAaW5jbHVkZSBsaW5rLWNvbG9yKCBkYXJrZW4oJHdoaXRlLDE1KSwgbGlnaHRlbigkYmx1ZS1wcmltYXJ5LCAyNSkgKTtcclxuXHRcdFx0QGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lKCBkYXJrZW4oJHdoaXRlLDE1KSwgbGlnaHRlbigkYmx1ZS1wcmltYXJ5LCAyNSkgKTtcclxuXHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdFx0XHJcblxyXG5cclxuXHJcbi5pbmZvLWFuZC1jb250YWN0IHtcclxuXHQuY29udGVudCB7XHJcblxyXG5cdFx0Ly8gbWFyZ2luLXRvcDogLThyZW07XHJcblx0XHRtYXJnaW4tdG9wOiAtMTByZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0bWFyZ2luLXRvcDogLTEycmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0bWFyZ2luLXRvcDogLTE0cmVtO1xyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0LmNvbHVtbi1pbmZve1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGRhcmtlbihyZ2JhKDI1LCAxMzYsIDI1NSwgMSksNiksIGxpZ2h0ZW4ocmdiYSgzNywgMTcyLCAyMDIsIDEpLDgpICk7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICRibHVlLWRhcmstMSwgJGJ1c2luZXNzLWJsdWUgKTtcclxuXHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cclxuXHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cclxuXHRcdFx0LmNvbHVtbi1waG9uZSwgLmNvbHVtbi12aXNpdCwgLmNvbHVtbi1zb2NpYWwge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jb2x1bW4tc29jaWFsIHtcclxuXHRcdFx0XHQvLyBAZXh0ZW5kIC5zbWFsbC1vZmZzZXQtNjtcclxuXHRcdFx0XHQvLyBAZXh0ZW5kIC5tZWRpdW0tb2Zmc2V0LTA7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBkb3duKSB7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoNCB7XHJcblx0XHRcdFx0QGV4dGVuZCAuaDQtYWx0O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjhlbTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0XHRcdGNvbG9yOiBkYXJrZW4oJHdoaXRlLDgpO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC4yNWVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblxyXG5cclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdGEuc29jaWFsbGluayB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogLjVyZW07XHJcblxyXG5cdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEuNXJlbTtcclxuXHRcdFx0XHRcdHdpZHRoOiAxLjVyZW07XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XHJcblx0XHRcdFx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0XHQvLyBjb2xvcjogJHJlZC1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogbGlnaHRlbigkYmx1ZS1wcmltYXJ5LDEwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pY29uLXlvdXR1YmUge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxLjhyZW07XHJcblx0XHRcdFx0XHR3aWR0aDogMS44cmVtO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLS4wNXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLWZvcm0ge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0XHQuZm9ybS13cmFwcGVyIHtcclxuXHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogeWVsbG93O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMThweCA0MHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgLjE4KTtcclxuXHRcdFx0Ly8gbWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5waG9uZW5ici1sYWJlbCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiA0cmVtO1xyXG5cdGZvbnQtc2l6ZTogLjhlbTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5cclxuLmFsbC1jb250YWN0LWluZm8ge1xyXG5cdHBhZGRpbmctdG9wOiAzcmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuXHQuY29udGVudCB7XHJcblx0XHRoNSxwIHtcclxuXHRcdFx0Ly8gbWFyZ2luLWxlZnQ6IC41cmVtO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRwIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjI1cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEuc29jaWFsbGluayB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdFx0cGFkZGluZy10b3A6IC41cmVtO1xyXG5cdFx0XHRcclxuXHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEuNnJlbTtcclxuXHRcdFx0XHR3aWR0aDogMS42cmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdC5pbmZvcm1hdGlvbi1yb3cge1xyXG5cdFx0LmNvbHVtbi1waG9uZSwgXHJcblx0XHQuY29sdW1uLWxvY2F0aW9uLCBcclxuXHRcdC5jb2x1bW4taG91cnMsIFxyXG5cdFx0LmNvbHVtbi1zdXBwb3J0LCBcclxuXHRcdC5jb2x1bW4tc29jaWFsIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi1ob3VycyB7XHJcblxyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0zO1xyXG5cdFx0XHRAZXh0ZW5kIC5tZWRpdW0tcGx1cy1vcmRlci0yO1xyXG5cclxuXHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC5yZWd1bGFyLWhvdXJzLCAuZXh0ZW5kZWQtaG91cnMge1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZXh0ZW5kZWQtaG91cnMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLXNvY2lhbCwgLmNvbHVtbi1zdXBwb3J0IHtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMjtcclxuXHRcdFx0QGV4dGVuZCAubWVkaXVtLXBsdXMtb3JkZXItMztcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC0xNHJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogLjVyZW07XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmNvbHVtbi1ob3VycyB7XHJcblxyXG5cdFx0LnJlZ3VsYXItaG91cnMsIC5leHRlbmRlZC1ob3VycyB7XHJcblx0XHRcdC8vIGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdFx0Ly8gcGFkZGluZzogMXJlbTtcclxuXHJcblx0XHRcdFxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuaG91cnMtZGF5cy1sYWJlbCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtaW4td2lkdGg6IDhyZW07XHJcblx0XHRcdC8vIG1pbi13aWR0aDogMTAwJTtcclxuXHJcblx0XHR9XHJcblxyXG5cdFx0LmhvdXJzLWRheXMge1xyXG5cdFx0XHQvLyBwYWRkaW5nLWxlZnQ6IC41ZW07XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LmFwcG9pbnRtZW50cyB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogLjhlbTtcclxuXHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0aDUge1xyXG5cdFx0XHRmb250LXNpemU6IC44ZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEuNmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5leHRlbmRlZC1ob3VycyB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTE7XHJcblxyXG5cdFx0XHRoNSB7XHJcblx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogM2VtO1xyXG5cdFx0XHRcdC8vIG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC5ob3Vycy1kYXlzLWxhYmVsIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogY2VudGVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5ob3Vycy1kYXlze1xyXG5cdFx0fVxyXG5cclxuXHRcdC5leHRlbmRlZC1ob3Vycy1kaXNjbGFpbWVyIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuNzVlbTtcclxuXHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMTtcclxuXHRcdFx0cGFkZGluZy10b3A6IDFlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb2x1bW4tbG9jYXRpb24ge1xyXG5cclxuXHRcdC5kaXJlY3Rpb25zLWxpbmsge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRmb250LXNpemU6IC44ZW07XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblxyXG5cclxufVxyXG5cclxuLm1hcC1zZWN0aW9uIHtcclxuXHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogNXJlbTtcclxuXHJcblx0I21hcCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMjVyZW07XHJcblx0fVxyXG5cclxuXHQubWFwLWluZm93aW5kb3ctY29udGVudCB7XHJcblx0XHRpbWcge1xyXG5cdFx0XHRoZWlnaHQ6IDEuNnJlbTtcclxuXHRcdFx0Ly8gbWFyZ2luOiAuOHJlbSAwIC4zcmVtO1xyXG5cdFx0XHRtYXJnaW46IDByZW0gMCAuM3JlbTtcclxuXHRcdH1cclxuXHJcblx0XHRwIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIubGVnYWwtaGVhZGVyIHtcclxuXHRAZXh0ZW5kIC5oZXJvLWdlbmVyaWMtYmFja2dyb3VuZC1sYXllcmVkO1xyXG5cdFxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogMnJlbSAwcmVtO1xyXG5cclxuXHRcdC5jb250ZW50IHtcclxuXHRcdFx0QGV4dGVuZCAuY29udGFpbmVyLXRlbXBsYXRlO1xyXG5cclxuXHRcdFx0LndyYXBwZXIge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0fVxyXG59XHJcblxyXG4ubGVnYWwtY29udGVudCB7XHJcblx0XHJcblx0LmNvbnRlbnQge1xyXG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcclxuXHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmxlZ2FsLW5hdmlnYXRpb24ge1xyXG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHJcblx0XHRwYWRkaW5nOiAxcmVtIDA7XHJcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWJvcmRlci1ncmF5O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMywwKTtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJGNvbG9yLWJvcmRlci1ncmF5O1xyXG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDIsMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY29udGVudC13cmFwcGVye1xyXG5cdFx0cGFkZGluZzogMXJlbSAwO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMnJlbTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxuXHRcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0LmxlZ2FsLW5hdmlnYXRpb24sIC5jb250ZW50LXdyYXBwZXIge1xyXG5cdFx0XHQvLyBwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5mb290ZXItc2VjdGlvbiB7XHJcblx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMTtcclxuXHQvLyBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJsdWUtcHJpbWFyeSwyMCk7XHJcblx0Ly8gZm9udC1zaXplOiAuN2VtO1xyXG5cdC8vIGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0Ly8gcGFkZGluZy10b3A6IDIuNXJlbTtcclxuXHRwYWRkaW5nOiA0cmVtIDFyZW0gMnJlbTtcclxuXHRcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdEBleHRlbmQgLmNvbnRhaW5lci10ZW1wbGF0ZTtcclxuXHRcdC8vIEBleHRlbmQgLmNvbnRhaW5lci1wYWRkaW5nLXN0YW5kYXJkO1xyXG5cclxuXHRcdC5zaXRlLWxpbmtzIHsgIC8vIFwiLmNvbnRlbnRcIlxyXG5cclxuXHRcdFx0Ly8gY3JlYXRlIDUtY29sdW1uIGdyaWQgaW5zdGVhZCBvZiBkZWZhdWx0IDEyXHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobnVsbCxleHBhbmQsMTApO1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KDIsXCIubGlua3MtYmxvY2tcIik7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoNCxcIi5saW5rcy1ibG9ja1wiKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmxpbmtzLWJsb2NrIHsgIC8vIFwiLmNvbnRlbnQtYmxvY2tcIlxyXG5cclxuXHRcdFx0XHRmb250LXNpemU6IC43NXJlbTsgXHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblxyXG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUgdWwge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMi41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogLjVlbTtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IC41ZW07XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gY29sb3I6ICRibHVlLWRhcmstMjtcclxuXHRcdFx0XHRcdFx0XHQvLyBjb2xvcjogJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMxZjRlODk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0XHQvLyBjb2xvcjogJGJsdWUtZGFyay0yO1xyXG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTI7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0XHQvL3BhZGRpbmctYm90dG9tOiAuN2VtO1xyXG5cclxuXHRcdFx0XHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpe1xyXG5cdFx0XHRcdFx0XHRcdC8vIG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdFx0XHQvLyBjb2xvcjogJGJsdWUtZGFyay0yO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGdyYXktZGFyay0yO1xyXG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHRcdFx0Ly9wYWRkaW5nLWJvdHRvbTogLjdlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdH1cclxufVxyXG5cclxuLnN1YmZvb3RlciB7XHJcblx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMjtcclxuXHRwYWRkaW5nOiAxcmVtIDFyZW0gMnJlbTtcclxuXHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHRwYWRkaW5nLXRvcDogLjVyZW07XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdFx0XHQudXRpbGl0eS1saW5rcyB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblxyXG5cdFx0XHQubGlua3MtbGVmdCwgLmxpbmtzLXJpZ2h0IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdHBhZGRpbmc6IC41cmVtIDAgMDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNiwwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHVsIHtcclxuXHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdFx0XHRcdG1hcmdpbjowO1xyXG5cclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmxpbmtzLWxlZnQge1xyXG5cdFx0XHRcdHVsIHtcclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubGlua3MtcmlnaHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHVsIHtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjFlbTtcclxuXHJcblx0XHRcdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lmxhbmd1YWdlLXNvY2lhbCB7XHJcblx0XHRcdEBleHRlbmQgLnV0aWxpdHktbGlua3M7XHJcblxyXG5cdFx0XHQubGlua3MtbGVmdCB1bCBsaSB7IFxyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IC4ycmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuc29jaWFsLXJvdyB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCk7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQubGFiZWwtYmxvY2ssIC5pY29ucy1ibG9jayB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQubGFiZWwtYmxvY2sge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Lmljb25zLWJsb2NrIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0uMjVyZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHRcdFx0XHQkc3ViZm9vdGVyLXNvY2lhbC1pY29uLWhlaWdodDogMS41cmVtO1xyXG5cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBcdGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IFx0JHN1YmZvb3Rlci1zb2NpYWwtaWNvbi1oZWlnaHQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogJHN1YmZvb3Rlci1zb2NpYWwtaWNvbi1oZWlnaHQ7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiBcdCRzdWJmb290ZXItc29jaWFsLWljb24taGVpZ2h0O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb3B5cmlnaHQtdGVybXMge1xyXG5cdFx0XHRmb250LXNpemU6IC42cmVtOyBcclxuXHRcdFx0XHJcblx0XHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICRncmF5LW1pZC0xO1xyXG5cdFx0XHRcdGhlaWdodDogMXB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogLjI1cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4iLCIvLyBCTE9HIFNUWUxFU0hFRVRcclxuXHJcblxyXG4uYmxvZy1uYXYge1xyXG5cdC8vIGhlaWdodDogM3JlbTtcclxuXHRwYWRkaW5nOiAuNTVyZW0gMDtcclxuXHQvLyBoZWlnaHQ6IDFyZW07XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ly8gYmFja2dyb3VuZDogJGJsdWUtcHJpbWFyeTtcclxuXHRiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLDUpO1xyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRhaW5lci10ZW1wbGF0ZTtcclxuXHR9XHJcblxyXG5cdC50aXRsZSB7XHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHQvLyBjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRjb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ibG9nLW5hdi1jYXRlZ29yeSB7XHJcblx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMjtcclxuXHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXItdGVtcGxhdGU7XHJcblx0XHRwYWRkaW5nOiAwIDJyZW07XHJcblx0fVxyXG5cclxuXHQubWVudSB7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcblx0XHRsaSB7IFxyXG5cdFx0XHRmb250LXNpemU6IC45cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxpID4gYSB7XHJcblx0XHRcdGNvbG9yOiAkZ3JheS1taWQtMTtcclxuXHRcdFx0cGFkZGluZy10b3A6MS40cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbToxLjRyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRwYWRkaW5nOiAxLjRyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0bGkuYWN0aXZlID4gYSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaGVyby1ibG9nLWluZGV4IHtcclxuXHQuaGVyby1jb250ZW50IHtcclxuXHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0fVxyXG59XHJcblxyXG4uaGVyby1ibG9nLWFydGljbGUge1xyXG5cdC5jb250YWluZXIge1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGJsdWUtcHJpbWFyeSwgLjY1KTtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiByb3VuZC1wcm9maWxlLXBpYygkd2lkdGgpIHtcclxuXHRib3JkZXItcmFkaXVzOiAxMHJlbTtcclxuXHR3aWR0aDogJHdpZHRoO1xyXG5cdGhlaWdodDogJHdpZHRoO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ly8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdC8vIGJhY2tncm91bmQ6ICRncmF5LWRhcmstMjtcclxuXHQvLyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZmlsZS1waWMge1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcmVtO1xyXG5cdHdpZHRoOiA2LjVyZW07XHJcblx0aGVpZ2h0OiA2LjVyZW07XHJcblx0d2lkdGg6IDdyZW07XHJcblx0aGVpZ2h0OiA3cmVtO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQ6ICRncmF5LWRhcmstMjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdC8vYm9yZGVyOiBzb2xpZCAxcHggJGdyYXktbWlkLTE7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDoxMnJlbTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBibG9nX2FydGljbGUge1xyXG5cclxuXHRhcnRpY2xlIHtcclxuXHRcdC5wb3N0LWltYWdlIHtcclxuXHRcdFx0aW1nIHsgXHJcblx0XHRcdFx0aGVpZ2h0OjRyZW07XHJcblx0XHRcdFx0d2lkdGg6YXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbi1ibG9nLWluZGV4LWxpc3Rpbmcge1xyXG5cclxuXHQuYmxvZy1hcnRpY2xlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblx0XHRmb250LXNpemU6IDFyZW07XHJcblxyXG5cclxuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdH1cclxuXHJcblx0XHRhcnRpY2xlIHtcclxuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkZ3JheS1saWdodC0yO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0xO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHRcdGhlYWRlciB7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IC45O1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuXHRcdFx0XHQucG9zdC1pbWFnZSB7XHJcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA4cmVtO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHRpbWcgeyBcclxuXHRcdFx0XHRcdFx0Ly8gaGVpZ2h0OjEwMCU7XHJcblx0XHRcdFx0XHRcdC8vIG1pbi13aWR0aDoxMDAlO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY2F0ZWdvcnksIC5zZXBhcmF0b3Ige1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOi42ZW07XHJcblx0XHRcdFx0XHRjb2xvcjogJGdyYXktbWlkLTE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGEuY2F0ZWdvcnkge1xyXG5cdFx0XHRcdCAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdCAgICBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdCAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG5cclxuXHRcdFx0XHQgICAgJjpob3ZlciB7XHJcblx0XHRcdFx0ICAgIFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnNlcGFyYXRvciB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgLjQ1ZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRoMiB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xyXG5cdFx0XHRcdCAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0ICAgIGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0ICAgIGNvbG9yOiAkYmx1ZS1kYXJrLTE7XHJcblx0XHRcdFx0ICAgIG1hcmdpbi10b3A6IC43NWVtO1xyXG5cdFx0XHRcdCAgICBtYXJnaW4tYm90dG9tOiAuOXJlbTtcclxuXHRcdFx0XHQgICAgcGFkZGluZzogMCAxcmVtXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuc3VtbWFyeSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAuNzVlbTtcclxuXHRcdFx0XHRjb2xvcjogJGdyYXktZGFyay0zO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YS5yZWFkLW1vcmUge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGJ1dHRvbihmYWxzZSwgI0NBQ0FDQSwgJGJsdWUtcHJpbWFyeSwgYXV0bywgaG9sbG93KTtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICNDQUNBQ0E7XHJcblx0XHRcdFx0Y29sb3I6ICNBQUE7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVx0XHJcbn1cclxuXHJcblxyXG4vLyBzdGFuZGFyZCB3aWR0aCBmb3IgYmxvZyBhcnRpY2xlIGNvbnRlbnRcclxuLl9ibG9nX2FydGljbGUtd2lkdGgge1xyXG5cdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0cGFkZGluZzogMXJlbSAwcmVtO1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRwYWRkaW5nOiAycmVtIDA7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdH1cclxufVxyXG5cclxuXHJcbi5ibG9nLWFydGljbGUge1xyXG5cclxuXHQuY29udGFpbmVyIHsgXHJcblx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxZW07XHJcblx0fVxyXG5cclxuXHJcblx0ZGl2W2NsYXNzKj1cImFydGljbGVibG9jay1cIl0ge1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdHNlY3Rpb24ge1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdC5hcnRpY2xlYmxvY2staGVhZGVyIHtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuXHR9XHJcblxyXG5cdC5hcnRpY2xlYmxvY2stc29jaWFsIHtcclxuXHRcdG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogIzAzZjtcclxuXHJcblx0XHQuc29jaWFsLXdyYXBwZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDJyZW07XHJcblx0XHRcdFx0bGVmdDogLjVyZW07XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiAxcmVtO1xyXG5cdFx0XHRcdHdpZHRoOiA0cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaXMtc3R1Y2sge1xyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IDY1cHggIWltcG9ydGFudDtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pY29ucy1yb3cge1x0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzIGRvd24pIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IC42cmVtIDAgLjJyZW0gMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC5zb2NpYWwtbGluayB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDIuMnJlbTtcclxuXHRcdFx0XHRcdHdpZHRoOiAyLjJyZW07XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwcHgpO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMztcclxuXHRcdFx0XHRcdGNvbG9yOiBkZXNhdHVyYXRlKCRibHVlLXByaW1hcnksODUpO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGdyYXktbGlnaHQtMztcclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMjtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGRlc2F0dXJhdGUoJGJsdWUtcHJpbWFyeSw1MCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBkb3duKSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAuM3JlbTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiBcdDYwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiA2MCU7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMjAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cdFx0XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0Lm1vYmlsZS1vbmx5IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdFxyXG5cclxuXHRcdC5pY29ucy1yb3cge1xyXG5cclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxuXHJcblx0LmFydGljbGVibG9jay1ibG9ncG9zdGNvbnRlbnQge1xyXG5cclxuXHRcdC5hcnRpY2xlLXdyYXBwZXJ7XHJcblx0XHRcdEBleHRlbmQgLl9ibG9nX2FydGljbGUtd2lkdGg7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuXHJcblxyXG5cdH1cclxuXHJcblx0LmFydGljbGVibG9jay1mb290ZXIge1xyXG5cclxuXHR9XHJcblxyXG5cdC5hcnRpY2xlLW5leHRfcHJldiB7XHJcblx0XHRAZXh0ZW5kIC5fYmxvZ19hcnRpY2xlLXdpZHRoO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cclxuXHRcclxuXHJcblxyXG5cdGFydGljbGUge1xyXG5cdFx0Ly8gbWFyZ2luLXRvcDogLTNyZW07XHJcblxyXG5cdFx0aGVhZGVyIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDJlbTtcclxuXHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFxyXG5cclxuXHRcdFx0aDEge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMi4yZW07XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoMiB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWxpZ2h0LTM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5hcnRpY2xlLWhlYWRlciB7XHJcblx0XHRcdFx0Ly8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYXJ0aWNsZS1zdW1tYXJ5IHtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogYXV0bztcclxuXHRcdFx0XHRmb250LXNpemU6IC44ZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5wcm9maWxlLXBpYyB7XHJcblx0XHRcdFx0QGluY2x1ZGUgcm91bmQtcHJvZmlsZS1waWMoM3JlbSk7XHJcblx0XHRcdFx0bWFyZ2luOjAgMWVtIDAgMDtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5hdXRob3IsIC5kYXRlIHtcclxuXHRcdFx0XHRmb250LXNpemU6LjhlbTtcclxuXHRcdFx0XHRjb2xvcjogJGdyYXktbGlnaHQtMztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNlcGFyYXRvciB7XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWxpZ2h0LTE7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5sYW5ndWFnZSB7XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHQvLyBjb2xvcjogZGFya2VuKCRibHVlLWRhcmstMSw1KTtcclxuXHRcdFx0XHRcdGNvbG9yOiBsaWdodGVuKCRibGFjaywzKTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjc1ZW07XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkYnVzaW5lc3MtYmx1ZTtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IGRvdHRlZCAuMTVlbSBsaWdodGVuKCRibGFjaywzKTtcclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkd2hpdGUsMik7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IGRhcmtlbigkd2hpdGUsMik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0LmNhdGVnb3J5LCAuc2VwYXJhdG9yIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0Zm9udC1zaXplOi43ZW07XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LW1pZC0xO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhLmNhdGVnb3J5IHtcclxuXHRcdFx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdCAgICBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHQgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHJcblx0XHRcdCAgICAmOmhvdmVyIHtcclxuXHRcdFx0ICAgIFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdCAgICB9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuZmVhdHVyZWQtaW1hZ2Uge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMi41ZW07XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcblx0XHRcdFxyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDE4ZW07XHJcblx0XHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYXJ0aWNsZS1ib2R5IHtcclxuXHRcdFx0aDEsaDIsaDMsaDQsaDUsaDYge1xyXG5cdFx0XHRcdC8vIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdC8vIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcclxuXHRcdFx0XHQvLyBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcicsIHNlcmlmO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnR2VvcmdpYScsIHNlcmlmO1xyXG5cclxuXHRcdFx0fVxyXG5cdFx0XHR1bCwgb2wge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OjNlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRoMSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjhlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRoMiB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjZlbTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC8vIFNwZWNpZmljIE1hdHJpeCBCbG9ja3NcclxuXHJcblx0XHRcdC8vIEFydGljbGUgSW1hZ2VzXHJcblx0XHRcdC5hcnRpY2xlSW1hZ2Uge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDFlbTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cclxuXHRcdFx0XHQuaW1hZ2VDYXB0aW9uIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHRcdFx0XHRjb2xvcjokZ3JheS1kYXJrLTE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYXJ0aWNsZUltYWdlLWZ1bGwge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYXJ0aWNsZUltYWdlLXJpZ2h0IHtcclxuXHRcdFx0XHR3aWR0aDogNTAlICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5hcnRpY2xlSW1hZ2UtY2VudGVyIHtcclxuXHRcdFx0XHR3aWR0aDogNzUlICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZWRRdW90ZSB7XHJcblx0XHRcdFx0YmxvY2txdW90ZSB7XHJcblx0XHRcdFx0XHRib3JkZXItbGVmdDogc29saWQgM3B4ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jYWxsb3V0LCAucmVsYXRlZEFydGljbGUsIC5mZWF0dXJlZFNuaXBwZXQge1xyXG5cdFx0XHRcdC8vIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblx0XHRcdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2FsbG91dCB7XHJcblx0XHRcdFx0cGFkZGluZzogM2VtO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTE7XHJcblx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGdyYXktbGlnaHQtMjtcclxuXHJcblx0XHRcdFx0cCwgdWwsIG9sLCBhLCB7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdC5yZWxhdGVkQXJ0aWNsZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0cGFkZGluZzogMWVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZWRTbmlwcGV0IHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAycHggJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRib3JkZXItd2lkdGg6IDFweCAwO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMjtcclxuXHRcdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1kYXJrLTE7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMTVlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAyZW0gMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn1cclxuXHJcblxyXG4vLyBcclxuLmJsb2ctcmVsYXRlZEFydGljbGVzLWhlYWRlciB7XHJcblx0QGluY2x1ZGUgc2lkZWxpbmVzKCk7XHJcblx0Y29sb3I6ICRncmF5LWRhcmstMjtcclxuXHRmb250LXNpemU6IDFlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4uYmxvZy1yZWxhdGVkQXJ0aWNsZXMtY2FyZCB7XHJcblx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdH1cclxuXHJcblx0LmNhcmQtd3JhcHBlciB7XHJcblx0XHRib3JkZXI6IHNvbGlkIDFweCAjRUFFQUVBO1xyXG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg2cHgpO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0QGluY2x1ZGUgYm94LXNoYWRvdygwLDJweCw0cHgsJGdyYXktZGFyay0xKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jYXJkLWltYWdlIHtcclxuXHRcdHBhZGRpbmc6IC4yNXJlbSAxcmVtO1xyXG5cclxuXHRcdC5wb3N0LWltYWdlIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogOHJlbTtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jYXJkLXRleHQge1xyXG5cdFx0aDQge1xyXG5cdFx0XHRmb250LXNpemU6IC45cmVtO1xyXG5cdFx0fVxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHR9XHJcblx0XHQuY2F0ZWdvcnkge1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRmb250LXNpemU6IC43cmVtO1xyXG5cdFx0XHRjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmJsb2ctcmVsYXRlZC1hcnRpY2xlc19hcnRpY2xlIHtcclxuXHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xyXG5cdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRAZXh0ZW5kIC5jb250YWluZXItcGFkZGluZy1zdGFuZGFyZDtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0QGV4dGVuZCAuX2Jsb2dfYXJ0aWNsZS13aWR0aDtcclxuXHRcdHBhZGRpbmctbGVmdDowO1xyXG5cdFx0cGFkZGluZy1yaWdodDowO1xyXG5cdH1cclxufVxyXG5cclxuLmJsb2ctcmVjb21tZW5kZWQtYXJ0aWNsZXNfaGVhZGVyIHtcclxuXHJcbn0iLCIvLyBUZXN0aW1vbmlhbHMgUGFnZXMgLS0gSW5kZXggYW5kIEVudHJ5XHJcbi5oZXJvLXRlc3RpbW9uaWFscyB7XHJcblxyXG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjE1KTtcclxuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdC8vIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTE7XHJcblxyXG5cdFx0Lmhlcm8tY29udGVudCB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAzcmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMHJlbTtcclxuXHJcblx0XHRcdFxyXG5cclxuXHRcdFx0aDEge1xyXG5cdFx0XHRcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRibHVlLWRhcmstMTtcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbi10ZXN0aW1vbmlhbC1wZXJzb25pbmZvIHtcclxuXHQvLyBtYXJnaW4tdG9wOiAtN3JlbTtcclxuXHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHQvLyBwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuXHRcdGg1IHtcclxuXHRcdFx0cGFkZGluZy10b3A6LjVyZW07XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0cC5wZXJzb24tZGV0YWlscyB7XHJcblx0XHRcdGNvbG9yOiAkZ3JheS1taWQtMTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbi10ZXN0aW1vbmlhbCB7XHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHQvLyBwYWRkaW5nLXRvcDogMi41cmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDoxNSU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6MTUlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cC5zdW1tYXJ5IHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xyXG5cdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0fVxyXG5cclxuXHQudGVzdGltb25pYWwtY29udGVudCB7XHJcblx0XHRoMiB7IFxyXG5cdFx0XHRmb250LXNpemU6IDEuNjVyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRjb2xvcjogJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcclxuXHRcdFx0Ly8gbGluZS1oZWlnaHQ6IDEuMjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG4uc2VjdGlvbi10ZXN0aW1vbmlhbC1mZWF0dXJlcXVvdGUge1xyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMiU7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTIlO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Ly8gbWF4LXdpZHRoOiA5MDBweDtcclxuXHRcdFx0Ly8gbWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZS1wcmltYXJ5O1xyXG5cclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEuNXJlbSAxcmVtIDEuNXJlbTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0Zm9udC1zaXplOjEuOXJlbTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0XHRcdC8vIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0XHRjb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdC8vIGJvcmRlcjogc29saWQgMXB4ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0Ly8gYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XHJcblx0XHRcdFx0Ly8gZm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc2VjdGlvbi10ZXN0aW1vbmlhbC12aWRlbyB7XHJcblx0Ly8gaGVpZ2h0OjEwcmVtO1xyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdG1heC13aWR0aDogNDByZW07XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHJcblx0fVxyXG5cdFxyXG5cdC50ZXN0aW1vbmlhbC1pbmRleC12aWRlbyB7XHJcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQgICAgd2lkdGg6IDEwMCU7XHJcblx0ICAgIGhlaWdodDogMDtcclxuXHQgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuXHJcblx0XHQudmlkZW8ge1xyXG5cdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdCAgICB0b3A6IDA7XHJcblx0XHQgICAgbGVmdDogMDtcclxuXHRcdCAgICB3aWR0aDogMTAwJTtcclxuXHRcdCAgICBoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHRcclxuXHR9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRlc3RpbW9uaWFsLWNhcmRzIHtcclxuXHRiYWNrZ3JvdW5kOiAjRkNGQ0ZDO1xyXG5cclxuXHQudGVzdGltb25pYWwtY2FyZC1jb2x1bW4ge1xyXG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcdFx0XHRcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50ZXN0aW1vbmlhbC1jYXJkIHtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICRncmF5LWxpZ2h0LTI7XHJcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0XHQvLyBwYWRkaW5nOiAuNzVyZW07XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xyXG5cclxuXHRcdC5waWMge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRwYWRkaW5nOiAuOHJlbSAwO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0yO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0xO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYmx1ZS1wcmltYXJ5LC43NSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5hbWUsIC5xdW90ZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdH1cclxuXHJcblx0XHQucXVvdGUge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYmx1ZS1wcmltYXJ5LC43NSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0XHRcdHBhZGRpbmc6IDFyZW0gMS41cmVtIDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjAxZW07XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5hbWUge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0xO1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtIDA7XHJcblx0XHRcdGg1IHtcclxuXHRcdFx0XHRmb250LXNpemU6IC43cmVtO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQucGVyc29uLWRldGFpbHMge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjVyZW07XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMTtcclxuXHRcdFx0XHRtYXJnaW46MDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5tb3JlbGluayB7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRibHVlLXByaW1hcnk7XHJcblxyXG5cdFx0XHRkaXYgYSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uKHRydWUsICRibHVlLXByaW1hcnksICRibHVlLWRhcmstMSwgYXV0bywgaG9sbG93KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGEge1xyXG5cdFx0Ly8gXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHQvLyBcdHRvcDogMDtcclxuXHRcdC8vIFx0Ym90dG9tOiAwO1xyXG5cdFx0Ly8gXHRsZWZ0OiAwO1xyXG5cdFx0Ly8gXHRyaWdodDogMDtcclxuXHRcdC8vIH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLnRlc3RpbW9uaWFsLXByb2ZpbGUtcGljIHtcclxuXHRib3JkZXItcmFkaXVzOiAxMHJlbTtcclxuXHR3aWR0aDogNi41cmVtO1xyXG5cdGhlaWdodDogNi41cmVtO1xyXG5cdHdpZHRoOiA3cmVtO1xyXG5cdGhlaWdodDogN3JlbTtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrLTI7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHQvL2JvcmRlcjogc29saWQgMXB4ICRncmF5LW1pZC0xO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6MTJyZW07XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi50ZXN0aW1vbmlhbC1zbGlkZXItY29udGFpbmVyIHtcclxuICBwYWRkaW5nOiAxcmVtIDFyZW07XHJcblxyXG4gIC5vcmJpdC1wcmV2aW91cyxcclxuICAub3JiaXQtbmV4dCB7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5vcmJpdC1wcmV2aW91cyB7XHJcbiAgICBsZWZ0OiAtMXJlbTtcclxuICB9XHJcbiAgXHJcbiAgLm9yYml0LW5leHQge1xyXG4gICAgcmlnaHQ6IC0xcmVtO1xyXG4gIH1cclxuXHJcbiAgLnRlc3RpbW9uaWFsLXNsaWRlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLnRlc3RpbW9uaWFsLXNsaWRlLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XHJcblxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xyXG4gICAgICBwYWRkaW5nOiAxcmVtIDRyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZmlsZS1waWN0IHtcclxuICAgIG1heC13aWR0aDogMjI1cHg7XHJcbiAgICBpbWd7XHJcbiAgICBcdGJvcmRlci1yYWRpdXM6NTAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRlc3RpbW9uaWFsLXNsaWRlLXRleHQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xyXG4gICAgYmFja2dyb3VuZDojZmZmIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6MnJlbSAxcmVtIDAuNXJlbTtcclxuICB9XHJcblxyXG4gIC50ZXN0aW1vbmlhbC1zbGlkZS1xdW90YXRpb24ge1xyXG4gICAgZm9udDogMS41cmVtLzJyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCLigJxcIjtcclxuICAgICAgZm9udC1zaXplOiA2cmVtO1xyXG4gICAgICBjb2xvcjogbGlnaHRlbigkYmxhY2ssIDgwJSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogLTNyZW07XHJcbiAgICAgIGNvbG9yOiAjMDc2YWNkO1xyXG5cdGZvbnQtc2l6ZTogODVweDtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGZvbnQtZmFtaWx5OiBzZXJpZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50ZXN0aW1vbmlhbC1zbGlkZS1hdXRob3ItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZS1hdXRob3ItaW5mbyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLm9yYml0LXByZXZpb3Vze1xyXG5jdXJzb3I6cG9pbnRlcjsgXHJcblx0JjpiZWZvcmV7XHJcbmJvcmRlci1jb2xvcjogIzMxOTdkNjtcclxuYm9yZGVyLXRvcC13aWR0aDogMnB4O1xyXG5tYXJnaW4tdG9wOiAtMC4zcmVtO1xyXG5tYXJnaW4tbGVmdDogMC4zcmVtO1xyXG5wb3NpdGlvbjogYWJzb2x1dGU7XHJcbnRvcDogNTAlO1xyXG5sZWZ0OiA1MCU7XHJcbmJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XHJcbmJvcmRlci1yaWdodC13aWR0aDogMnB4O1xyXG5ib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuY29udGVudDogXCJcIjtcclxuaGVpZ2h0OiAxLjJyZW07XHJcbndpZHRoOiAxLjJyZW07XHJcbnRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTEzNWRlZykgIWltcG9ydGFudDtcclxuY3Vyc29yOnBvaW50ZXI7XHJcbn1cclxufVxyXG4ub3JiaXQtbmV4dHtcclxuY3Vyc29yOnBvaW50ZXI7IFxyXG5cdCY6YmVmb3Jle1xyXG5ib3JkZXItY29sb3I6ICMzMTk3ZDY7XHJcbmJvcmRlci10b3Atd2lkdGg6IDJweDtcclxubWFyZ2luLXRvcDogLTAuM3JlbTtcclxubWFyZ2luLWxlZnQ6IDAuM3JlbTtcclxucG9zaXRpb246IGFic29sdXRlO1xyXG50b3A6IDUwJTtcclxubGVmdDogNTAlO1xyXG5ib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG5ib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcclxuYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbmNvbnRlbnQ6IFwiXCI7XHJcbmhlaWdodDogMS4ycmVtO1xyXG53aWR0aDogMS4ycmVtO1xyXG50cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKSAhaW1wb3J0YW50O1xyXG5jdXJzb3I6cG9pbnRlcjtcclxubWFyZ2luLWxlZnQ6IC0yNXB4O1xyXG59XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUNBQSxtR0FBbUc7QUEwRm5HLE9BQU8sQ0FBQyw0RUFBSTtBQUNaLE9BQU8sQ0FBQyx3RUFBSTtBQXpGWixVQUFVO0VBQ1QsV0FBVyxFQUFFLGFBQWE7RUFDMUIsR0FBRyxFQUFFLG9EQUFvRDtFQUN6RCxHQUFHLEVBQUUsMkRBQTJELENBQUMsMkJBQTJCLEVBQzNGLHFEQUFxRCxDQUFDLGNBQWMsRUFDcEUsb0RBQW9ELENBQUMsa0JBQWtCO0VBQ3hFLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBQyxzQkFBc0I7O0FBR25DLFVBQVU7RUFDVCxXQUFXLEVBQUUsYUFBYTtFQUMxQixHQUFHLEVBQUUsOENBQThDO0VBQ25ELEdBQUcsRUFBRSxxREFBcUQsQ0FBQywyQkFBMkIsRUFDckYsK0NBQStDLENBQUMsY0FBYyxFQUM5RCw4Q0FBOEMsQ0FBQyxrQkFBa0I7RUFDbEUsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFDLHNCQUFzQjs7QUFJbkMsVUFBVTtFQUNULFdBQVcsRUFBRSxhQUFhO0VBQzFCLEdBQUcsRUFBRSw0Q0FBNEM7RUFDakQsR0FBRyxFQUFFLG1EQUFtRCxDQUFDLDJCQUEyQixFQUNuRiw2Q0FBNkMsQ0FBQyxjQUFjLEVBQzVELDRDQUE0QyxDQUFDLGtCQUFrQjtFQUNoRSxXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUMsc0JBQXNCOztBQUduQyxVQUFVO0VBQ1QsV0FBVyxFQUFFLGFBQWE7RUFDMUIsR0FBRyxFQUFFLG1EQUFtRDtFQUN4RCxHQUFHLEVBQUUsMERBQTBELENBQUMsMkJBQTJCLEVBQzFGLG9EQUFvRCxDQUFDLGNBQWMsRUFDbkUsbURBQW1ELENBQUMsa0JBQWtCO0VBQ3ZFLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBQyxzQkFBc0I7O0FBR25DLFVBQVU7RUFDVCxXQUFXLEVBQUUsYUFBYTtFQUMxQixHQUFHLEVBQUUsNkNBQTZDO0VBQ2xELEdBQUcsRUFBRSxvREFBb0QsQ0FBQywyQkFBMkIsRUFDcEYsOENBQThDLENBQUMsY0FBYyxFQUM3RCw2Q0FBNkMsQ0FBQyxrQkFBa0I7RUFDakUsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFDLHNCQUFzQjs7QUFHbkMsVUFBVTtFQUNULFdBQVcsRUFBRSxhQUFhO0VBQzFCLEdBQUcsRUFBRSwyQ0FBMkM7RUFDaEQsR0FBRyxFQUFFLGtEQUFrRCxDQUFDLDJCQUEyQixFQUNsRiw0Q0FBNEMsQ0FBQyxjQUFjLEVBQzNELDJDQUEyQyxDQUFDLGtCQUFrQjtFQUMvRCxXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUMsc0JBQXNCOztBQUduQyxVQUFVO0VBQ1QsV0FBVyxFQUFFLGFBQWE7RUFDMUIsR0FBRyxFQUFFLGdEQUFnRDtFQUNyRCxHQUFHLEVBQUUsdURBQXVELENBQUMsMkJBQTJCLEVBQ3ZGLGlEQUFpRCxDQUFDLGNBQWMsRUFDaEUsZ0RBQWdELENBQUMsa0JBQWtCO0VBQ3BFLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBQyxzQkFBc0I7O0FBR25DLFVBQVU7RUFDVCxXQUFXLEVBQUUsYUFBYTtFQUMxQixHQUFHLEVBQUUsdURBQXVEO0VBQzVELEdBQUcsRUFBRSw4REFBOEQsQ0FBQywyQkFBMkIsRUFDOUYsd0RBQXdELENBQUMsY0FBYyxFQUN2RSx1REFBdUQsQ0FBQyxrQkFBa0I7RUFDM0UsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFDLHNCQUFzQjs7QWF4Rm5DOzs7OztHQUtHO0FIOEpHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0U0RWxCN0MsQUFyR0EsT0FxR08sRUFBUCxPQUFPLEFBZUosS0FBSyxFQWZSLE9BQU8sQUFnQkosTUFBTSxFQWhCVCxPQUFPLEFBaUJKLE1BQU0sQ0F0SFE7SUFDZixLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxFQUFFLE1BQU0sR0FDZjs7QXJFSEQsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFRjFDRSxVQUFVO0VFMENTLE9BQU87RUFRckMsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBRTVCLG9CQUFvQixFQUFFLElBQUk7RUFBRSxPQUFPO0VBQ25DLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7T0FFRztBQUVILEFBQUEsT0FBTztBQUNQLEtBQUs7QUFDTCxNQUFNO0FBQ04sTUFBTTtBQUNOLEdBQUc7QUFDSCxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOzs7T0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VEOUVMLFNBQVMsRUFYQyxHQUE2QjtFQ29HakMsTUFBTSxFQUFFLFFBQVEsR0FFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSCxBQUFBLFVBQVU7QUFDVixNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOztPQUVHO0FBRUgsQUFBQSxNQUFNLENBQUM7RUFLSCxNQUFNLEVBQUUsR0FBRyxDRnZMSCxJQUFJLEdFeUxmOztBQUVEOzs7T0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFBRSxPQUFPO0VBQ2hDLE1BQU0sRUFBRSxDQUFDO0VBQUUsT0FBTztFQUNsQixRQUFRLEVBQUUsT0FBTztFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7O09BRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBYUQ7OztPQUdHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixXQUFXLEVBQUUsb0JBQW9CO0VBQUUsT0FBTztFQUMxQyxTQUFTLEVBQUUsR0FBRztFQUFFLE9BQU8sRUFDeEI7O0FBSUQ7b0ZBQ2dGO0FBRWhGOzs7T0FHRztBQUVILEFBQUEsQ0FBQyxDQUFDO0VBQ0EsZ0JBQWdCLEVBQUUsV0FBVztFQUFFLE9BQU87RUFDdEMsNEJBQTRCLEVBQUUsT0FBTztFQUFFLE9BQU8sRUFDL0M7O0FBRUQ7OztPQUdHO0FBRUgsQUFBQSxDQUFDLEFBQUEsT0FBTztBQUNSLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDTixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUgsQUFBQSxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTztFQUNWLGFBQWEsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUM1QixlQUFlLEVBQUUsU0FBUztFQUFFLE9BQU87RUFDbkMsZUFBZSxFQUFFLGdCQUFnQjtFQUFFLE9BQU8sRUFDM0M7O0FBRUQ7O09BRUc7QUFFSCxBQUFBLENBQUM7QUFDRCxNQUFNLENBQUM7RUFDTCxXQUFXLEVBQUUsT0FBTyxHQUNyQjs7QUFFRDs7T0FFRztBQVBILEFBQUEsQ0FBQztBQUNELE1BQU0sQ0FTQztFQUNMLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUVEOzs7T0FHRztBQUVILEFBQUEsSUFBSTtBQUNKLEdBQUc7QUFDSCxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsb0JBQW9CO0VBQUUsT0FBTztFQUMxQyxTQUFTLEVBQUUsR0FBRztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7O09BRUc7QUFFSCxBQUFBLEdBQUcsQ0FBQztFQUNGLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUVEOztPQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQ7O09BRUc7QUFFSCxBQUFBLEtBQUssQ0FBQztFQUNKLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBRUQ7OztPQUdHO0FBRUgsQUFBQSxHQUFHO0FBQ0gsR0FBRyxDQUFDO0VBQ0YsU0FBUyxFQUFFLEdBQUc7RUFDZCxXQUFXLEVBQUUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGNBQWMsRUFBRSxRQUFRLEdBQ3pCOztBQUVELEFBQUEsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLE9BQU8sR0FDaEI7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUFDRixHQUFHLEVBQUUsTUFBTSxHQUNaOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVILEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQUVEOztPQUVHO0FBRUgsQUFBQSxLQUFLLEFBQUEsSUFBSyxFQUFBLEFBQUEsUUFBQyxBQUFBLEdBQVc7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztPQUVHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUFFRDs7T0FFRztBQUVILEFBQUEsR0FBRyxBQUFBLElBQUssQ0FBQSxLQUFLLEVBQUU7RUFDYixRQUFRLEVBQUUsTUFBTSxHQUNqQjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUgsQUFBQSxNQUFNO0FBQ04sS0FBSztBQUNMLFFBQVE7QUFDUixNQUFNO0FBQ04sUUFBUSxDQUFDO0VBQ1AsV0FBVyxFRnpaRSxVQUFVO0VFeVpTLE9BQU87RUFDdkMsU0FBUyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBS3RCLFdBQVcsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUU1QixNQUFNLEVBQUUsQ0FBQztFQUFFLE9BQU8sRUFDbkI7O0FBRUQ7O09BRUc7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxPQUFPLEdBQ2xCOztBQUVEOzs7T0FHRztBQUVILEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBQztFQUFFLE9BQU87RUFDZCxjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFFRDs7OztPQUlHO0FBRUgsQUFBQSxNQUFNO0FBQ04sSUFBSSxFQUFDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtDQUNOLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtDQUNELEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0VBQ2Qsa0JBQWtCLEVBQUUsTUFBTTtFQUFFLE9BQU8sRUFDcEM7O0FBRUQsQUFBQSxNQUFNO0NBQ04sQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0NBQ0QsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0NBQ0QsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFFZDs7U0FFRztFQU9IOztTQUVHLEVBS0o7RUFyQkQsQUFTRSxNQVRJLEFBU0gsa0JBQWtCO0dBUnJCLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQVFFLGtCQUFrQjtHQVByQixBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FPRSxrQkFBa0I7R0FOckIsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBTUUsa0JBQWtCLENBQUM7SUFDbEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDtFQVpILEFBa0JFLE1BbEJJLEFBa0JILGVBQWU7R0FqQmxCLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQWlCRSxlQUFlO0dBaEJsQixBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FnQkUsZUFBZTtHQWZsQixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FlRSxlQUFlLENBQUM7SUFDZixPQUFPLEVBQUUscUJBQXFCLEdBQy9COztBQUdIOztPQUVHO0FBRUgsQUFBQSxLQUFLLENBQUM7RUFDSixRQUFRLEVBQUUsT0FBTyxHQUNsQjs7QUFFRDs7O09BR0c7Q0FFSCxBQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZjtDQUNELEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0VBQ2IsVUFBVSxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQy9CLE9BQU8sRUFBRSxDQUFDO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7T0FFRztDQUVILEFBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCO0NBQzFDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixDQUFDO0VBQ3pDLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQ7OztPQUdHO0NBRUgsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNkLGtCQUFrQixFQUFFLFNBQVM7RUFBRSxPQUFPO0VBQ3RDLGNBQWMsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUU3Qjs7U0FFRyxFQU1KO0dBWkQsQUFBQSxBQVFFLElBUkQsQ0FBSyxRQUFRLEFBQWIsQ0FRRSw4QkFBOEIsR0FSakMsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBU0UsMkJBQTJCLENBQUM7SUFDM0Isa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7QUFHSDs7O09BR0c7QUFFSCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLGtCQUFrQixFQUFFLE1BQU07RUFBRSxPQUFPO0VBQ25DLElBQUksRUFBRSxPQUFPO0VBQUUsT0FBTyxFQUN2Qjs7QUFFRDs7T0FFRztBQUVILEFBQUEsUUFBUSxDQUFDO0VBQ1AsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixNQUFNLEVBQUUsS0FBSztFQUNiLE9BQU8sRUFBRSxxQkFBcUIsR0FDL0I7O0FBRUQ7Ozs7O09BS0c7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLFVBQVUsRUFBRSxVQUFVO0VBQUUsT0FBTztFQUMvQixPQUFPLEVBQUUsS0FBSztFQUFFLE9BQU87RUFDdkIsU0FBUyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQ3hCLE9BQU8sRUFBRSxDQUFDO0VBQUUsT0FBTztFQUNuQixLQUFLLEVBQUUsT0FBTztFQUFFLE9BQU87RUFDdkIsV0FBVyxFQUFFLE1BQU07RUFBRSxPQUFPLEVBQzdCOztBQUVEOzs7T0FHRztBQUVILEFBQUEsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLFlBQVk7RUFBRSxPQUFPO0VBQzlCLGNBQWMsRUFBRSxRQUFRO0VBQUUsT0FBTyxFQUNsQzs7QUFFRDs7T0FFRztBQUVILEFBQUEsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLElBQUksR0FDZjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQ7O09BRUc7QUFFSCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxTQUFTLEdBQ25COztBQUVEOztPQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsS0FBSyxHQXFCZjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQUVEOztPQUVHO0FBRUgsQUFBQSxRQUFRLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztDQUVILEFBQUEsQUFBQSxNQUFDLEFBQUEsRUFBUTtFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FTdGhCSCxBQUFBLGNBQWMsQ0FBQztFQUNiLFdBQVcsRUFBRSxvR0FBbUMsR0FDakQ7O0FUbkZDLEFBQUEsSUFBSSxDU3FGRDtFQUNILFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFNBQVMsRXpCakdNLElBQUksR3lCa0dwQjs7QUFHRCxBQUFBLENBQUM7QUFDRCxDQUFDLEFBQUEsUUFBUTtBQUNULENBQUMsQUFBQSxPQUFPLENBQUM7RUFDUCxVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QVR2RUMsQUFBQSxJQUFJLENTMEVEO0VBQ0gsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUVWLFVBQVUsRXpCakdOLE9BQU87RXlCbUdYLFdBQVcsRXpCOUNJLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVO0V5QitDaEUsV0FBVyxFekIzQ1EsTUFBTTtFeUI0Q3pCLFdBQVcsRXpCbEhLLEdBQUc7RXlCbUhuQixLQUFLLEV6QnhGVSxPQUFPO0V5QjJGcEIsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTLEdBRXJDOztBVG9PQyxBQUFBLEdBQUcsQ1NsT0Q7RUFFRixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUd0QixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osc0JBQXNCLEVBQUUsT0FBTyxHQUNoQzs7QVRzWkMsQUFBQSxRQUFRLENTblpEO0VBQ1AsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEV6QmxFRCxHQUFHLEd5Qm1FaEI7O0FBR0QsQUFBQSxNQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsVUFBVTtFQUN0QixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRXpCekVELEdBQUcsR3lCMEVoQjs7QUFJRCxBQUVFLFdBRlMsQ0FFVCxHQUFHO0FBRkwsV0FBVyxDQUdULEtBQUs7QUFIUCxXQUFXLENBSVQsTUFBTTtBQUhSLFlBQVksQ0FDVixHQUFHO0FBREwsWUFBWSxDQUVWLEtBQUs7QUFGUCxZQUFZLENBR1YsTUFBTSxDQUFDO0VBQ0wsU0FBUyxFQUFFLGVBQWUsR0FDM0I7O0FUMk9ELEFBQUEsTUFBTSxDU3ZPRDtFQUVMLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxhQUFhLEV6QjdGRCxHQUFHO0V5QjhGZixVQUFVLEVBQUUsV0FBVztFQUN2QixXQUFXLEVBQUUsQ0FBQztFQUNkLE1BQU0sRUF2R2EsSUFBSSxHQXdHeEI7R2ZsQkQsQUFBQSxBQUFBLGNBQUMsQ0FBZSxPQUFPLEFBQXRCLEVlU0QsTUFBTSxDZlRxQjtJQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBTStDQyxBQUFBLEdBQUcsQ1M1QkQ7RUFDRixRQUFRLEVBQUUsSUFBSSxHQUNmOztBVHFNQyxBQUFBLE1BQU07QUFDTixLQUFLO0FBQ0wsUUFBUTtBQUNSLE1BQU07QUFDTixRQUFRLENTbE1EO0VBQ1AsV0FBVyxFQUFFLE9BQU8sR0FDckI7O0FBR0QsQUFBQSxXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsZ0JBQWdCLEdBQzFCOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLGVBQWUsR0FDekI7O0N5QnRIRCxBQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxJQUFjLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUFrQixBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsSUFBYyxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFBa0IsQUFBQSxJQUFDLENBQUssZ0JBQWdCLEFBQXJCLElBQXdCLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQUFlLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxJQUFjLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQUFlLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixJQUFnQixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsSUFBZ0IsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWLElBQWEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLElBQWMsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWLElBQWEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBQzFOLFFBQVEsQ0FBQztFQXRDVCxPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUxHLFNBQTZJO0VBTXRKLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDL0NIRCxJQUE2QztFK0NJdkQsT0FBTyxFQXRDTyxNQUFpQjtFQXdDL0IsTUFBTSxFbEQrV08sR0FBRyxDQUFDLEtBQUssQ0FqWlYsT0FBTztFa0RtQ25CLGFBQWEsRWxEMkJDLEdBQUc7RWtEMUJqQixnQkFBZ0IsRWxEakNWLE9BQU87RWtEa0NiLFVBQVUsRWxEOFdHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FqWnRCLHFCQUFPO0VrRHFDYixXQUFXLEVsRG9XTyxPQUFPO0VrRG5XekIsU0FBUyxFL0NaQyxJQUE2QztFK0NhdkQsV0FBVyxFbERtQlUsTUFBTTtFa0RsQjNCLFdBQVcsRWxEcERPLEdBQUc7RWtEcURyQixLQUFLLEVsRHpDQyxPQUFPO0VrRDRDWCxVQUFVLEVsRHdXSyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVztFa0RuVjlELFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0dBSkQsQUFBQSxBQWRBLElBY0MsQ0FBSyxNQUFNLEFBQVgsQ0FkQSxNQUFNLEdBY1EsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBZGYsTUFBTSxHQWMyQixBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FkbEMsTUFBTSxHQWMwQyxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FkakQsTUFBTSxHQWM2RCxBQUFBLElBQUMsQ0FBSyxnQkFBZ0IsQUFBckIsQ0FkcEUsTUFBTSxHQWNzRixBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FkN0YsTUFBTSxHQWNzRyxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FkN0csTUFBTSxHQWNxSCxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FkNUgsTUFBTSxHQWNxSSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FkNUksTUFBTSxHQWNzSixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FkN0osTUFBTSxHQWN1SyxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsQ0FkOUssTUFBTSxHQWNxTCxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FkNUwsTUFBTSxHQWNvTSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsQ0FkM00sTUFBTSxHQWNrTixBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0Fkek4sTUFBTTtFQWVQLFFBQVEsQUFmUCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRWxEOFZXLEdBQUcsQ0FBQyxLQUFLLENBalpsQixPQUFPO0lrRG9EZixnQkFBZ0IsRWxEbERaLE9BQU87SWtEbURYLFVBQVUsRWxEOFZPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQXBaZCxPQUFPO0lrRHlEZixVQUFVLEVsRDZWRyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxHa0QzVi9EOztBbENxZEMsQUFBQSxRQUFRLENrQ3pjRDtFQUNQLFNBQVMsRUFBRSxJQUFJLEdBS2hCO0VBTkQsQUFHRSxRQUhNLENBR0wsQUFBQSxJQUFDLEFBQUEsRUFBTTtJQUNOLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBR0gsQUFHRSxLQUhHLEFBR0YsYUFBYTtBQUZoQixRQUFRLEFBRUwsYUFBYSxDQUFDO0VBQ2IsS0FBSyxFbERuRkcsT0FBTyxHa0RvRmhCOztBQUxILEFBUUUsS0FSRyxBQVFGLFNBQVMsRUFSWixLQUFLLENBU0YsQUFBQSxRQUFDLEFBQUE7QUFSSixRQUFRLEFBT0wsU0FBUztBQVBaLFFBQVEsQ0FRTCxBQUFBLFFBQUMsQUFBQSxFQUFVO0VBQ1YsZ0JBQWdCLEVsRDFGVCxPQUFPO0VrRDJGZCxNQUFNLEVsRDJUWSxXQUFXLEdrRDFUOUI7O0NBSUgsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7Q0FDRCxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNkLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRWxEcENELEdBQUcsR2tEcUNoQjs7QUFHRCxBQUFBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNuQixVQUFVLEVBQUUsVUFBVSxHQUN2Qjs7Q0MzSkQsQUFBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVg7Q0FDRCxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWY7Q0FDRCxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYztFQUNiLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDaEQ0RUgsSUFBNkMsR2dEM0V0RDs7Q0FHRCxBQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUFtQixLQUFLO0NBQ3pCLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQUFnQixLQUFLLENBQUM7RUFDckIsT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLFFBQVE7RUFFeEIsV0FBc0IsRUFBUyxNQUFtQjtFQUNsRCxZQUF1QixFaERrRWYsSUFBNkM7RWdEakVyRCxhQUFhLEVBQUUsQ0FBQyxHQUtqQjtHQVpELEFBQUEsQUFTRSxJQVRELENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUssQ0FTdEIsQUFBQSxHQUFDLEFBQUE7R0FSSixBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFBZ0IsS0FBSyxDQVFuQixBQUFBLEdBQUMsQUFBQSxFQUFLO0lBQ0wsTUFBTSxFQUFFLE9BQU8sR0FDaEI7O0FBSUgsQUFBQSxLQUFLLElBQUcsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmO0FBQ1QsS0FBSyxJQUFHLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0VBQ3JCLFlBQXVCLEVBQVMsTUFBbUIsR0FDcEQ7O0NBR0QsQUFBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtFQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FDR0QsQUFBQSxLQUFLLENBQUM7RUFqQk4sT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsQ0FBQztFQUVULFNBQVMsRWpENERDLFFBQTZDO0VpRDNEdkQsV0FBVyxFcEQyRlUsTUFBTTtFb0QxRjNCLFdBQVcsRXBEbWFZLEdBQUc7RW9EbGExQixLQUFLLEVwRCtCQyxPQUFPLEdvRGRaO0VBTkQsQUFHRSxLQUhHLEFBR0YsT0FBTyxDQUFDO0lBUlgsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENqRG1ERCxJQUE2QztJaURsRHZELE9BQU8sRUFBRSxTQUFtRCxDQUFDLENBQUMsR0FTM0Q7O0FDMUJILEFBQUEsVUFBVSxDQUFDO0VBR1QsVUFBVSxFQUZHLE9BQTBCO0VBR3ZDLFNBQVMsRWxEK0RELFNBQTZDO0VrRDlEckQsVUFBVSxFckQrWlEsTUFBTTtFcUQ5WnhCLEtBQUssRXJEbUNELE9BQU8sR3FEbENaOztBQ0ZELEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFQUE0QixLQUFLO0VBQ3hDLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFbkQyREwsSUFBNkMsR21ENUN0RDtFQWxCRCxBQVNFLFlBVFUsR0FTUixZQUFZLENBQUM7SUFDYixhQUFhLEV0RHNGSCxHQUFHLENzRHRGbUYsQ0FBQyxDQUFDLENBQUMsQ3REc0Z6RixHQUFHLEdzRHJGZDtFQVhILEFBY0ksWUFkUSxHQWFSLFdBQVcsR0FDVCxDQUFDLENBQUM7SUFDRixhQUFhLEVBQXFFLENBQUMsQ3REaUYzRSxHQUFHLENBQUgsR0FBRyxDc0RqRnFHLENBQUMsR0FDbEg7O0FBY0wsQUFWQSxrQkFVa0IsRUErQmxCLGtCQUFrQixFQVVsQixtQkFBbUIsRUFBbkIsbUJBQW1CLENBZWpCLENBQUM7QUFmSCxtQkFBbUIsQ0FnQmpCLEtBQUs7QUFoQlAsbUJBQW1CLENBaUJqQixNQUFNO0FBakJSLG1CQUFtQixDQWtCakIsS0FBSyxDQXJFWTtFQUNqQixNQUFNLEVBQUUsQ0FBQztFQUNULFdBQVcsRUFBRSxNQUFNO0VBR2pCLE9BQU8sRUFBRSxVQUFVO0VBQ25CLGNBQWMsRUFBRSxNQUFNLEdBRXpCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFFakIsT0FBTyxFQUFFLENBQUMsQ3REbVlTLElBQUk7RXNEbFl2QixNQUFNLEV0RGlZWSxHQUFHLENBQUMsS0FBSyxDQWhZakIsT0FBTztFc0RBakIsVUFBVSxFdERERCxPQUFPO0VzREdoQixLQUFLLEV0REFELE9BQU87RXNEQ1gsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFRakIsS0FBSyxFQUFFLEVBQUU7RUFDVCxNQUFNLEVBQUUsSUFBSSxHQVlmO0VBN0JELEFBcUJJLGtCQXJCYyxBQXFCYixZQUFZLENBQUM7SUFDWixZQUF1QixFQUFTLENBQUMsR0FDbEM7RUF2QkwsQUF5Qkksa0JBekJjLEFBeUJiLFdBQVcsQ0FBQztJQUNYLFdBQXNCLEVBQVMsQ0FBQyxHQUNqQzs7QUFJTCxBQUFBLGtCQUFrQixDQUFDO0VBRWpCLGFBQWEsRUFBRSxDQUFDLEdBTWpCOztBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFFbEIsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsQ0FBQztFQUNqQixVQUFVLEVBQUUsTUFBTTtFQU9oQixLQUFLLEVBQUUsRUFBRTtFQUNULE1BQU0sRUFBRSxJQUFJLEdBb0JmO0VBaENELEFBZUUsbUJBZmlCLENBZWpCLENBQUM7RUFmSCxtQkFBbUIsQ0FnQmpCLEtBQUs7RUFoQlAsbUJBQW1CLENBaUJqQixNQUFNO0VBakJSLG1CQUFtQixDQWtCakIsS0FBSyxDQUFDO0lBUUYsTUFBTSxFQW5HSCxTQUE4SDtJQXFHbkksV0FBVyxFQUFFLENBQUM7SUFDZCxjQUFjLEVBQUUsQ0FBQztJQUNqQixTQUFTLEVuRHZDSCxJQUE2QyxHbUR3Q3BEOztBQUtELEFBQUEsWUFBWSxDQUFDLG1CQUFtQixDQUFDO0VBQy9CLE9BQU8sRUFBRSxVQUFVLEdBQ3BCOztBdENpYUQsQUFBQSxRQUFRLEN1Q2xnQkQ7RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUMsR0FDVjs7QXZDMmdCQyxBQUFBLE1BQU0sQ3VDemdCRDtFQUNMLFNBQVMsRUFBRSxJQUFJO0VBQ2YsYUFBYSxFQUFFLE1BQW1CLEdBQ25DOztBQUVELEFBQUEsU0FBUyxDQUFDO0VBeEJWLE1BQU0sRXBEK0RJLFFBQTZDLENBSzdDLENBQUM7RW9EbkVYLE9BQU8sRXBEOERHLE9BQTZDO0VvRDdEdkQsTUFBTSxFdkR1WlUsR0FBRyxDQUFDLEtBQUssQ0F0WGIsT0FBTyxHdURUbEI7RUFGRCxBQXBCQSxTQW9CUyxDQXBCVCxNQUFNLENBQUM7SUFFTCxNQUFNLEVBQUUsQ0FBQztJQUNULFdBQXNCLEVwRHdEZCxVQUE2QztJb0R2RHJELE9BQU8sRXBENERDLENBQUMsQ0FMRCxTQUE2QyxHb0R0RHREOztBOUI4SkQsQUFBQSxNQUFNLEMrQjlHQztFQTNEUCxNQUFNLEVBRkcsU0FBNkk7RUFHdEosTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENyRGdFRCxJQUE2QztFcUQvRHZELE9BQU8sRU42Qk8sTUFBaUI7RU0zQi9CLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRXhEaWJPLEdBQUcsQ0FBQyxLQUFLLENBalpWLE9BQU87RXdEL0JuQixhQUFhLEV4RDZGQyxHQUFHO0V3RDVGakIsZ0JBQWdCLEV4RGlDVixPQUFPO0V3RC9CYixXQUFXLEV4RHVhTyxPQUFPO0V3RHRhekIsU0FBUyxFckR1REMsSUFBNkM7RXFEdER2RCxXQUFXLEV4RHNGVSxNQUFNO0V3RHJGM0IsV0FBVyxFeERlTyxHQUFHO0V3RGRyQixLQUFLLEV4RDBCQyxPQUFPO0VVd0ZiLGdCQUFnQixFQUFFLHNOQUF1TTtFOEM5R3ZOLGlCQUFpQixFQUFFLFdBQVc7RUFDOUIsbUJBQW1CLEUvQmtGZ0MsS0FBSyxDdEJuQ2hELEtBQTZDLENxRC9DRCxNQUFNO0VBQzFELGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsZUFBZSxFQUFFLE9BQU87RUFFeEIsYUFBd0IsRUFBVSxNQUFxQjtFQUl2RCxVQUFVLEV4RGlhSyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxHd0Q5WC9EO0U5Q29FRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxHQUFHO0lld0NqQyxBQUFBLE1BQU0sQytCOUdDO005Q3lFSCxnQkFBZ0IsRUFBRSxxVkFBcVYsRzhDdkUxVztFQUZELEFBN0JBLE1BNkJNLEFBN0JMLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFeER1WlcsR0FBRyxDQUFDLEtBQUssQ0FqWmxCLE9BQU87SXdETGYsZ0JBQWdCLEV4RE9aLE9BQU87SXdETlgsVUFBVSxFeER1Wk8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBcFpkLE9BQU87SXdEQWYsVUFBVSxFeERzWkcsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLFdBQVcsR3dEcFovRDtFQW9CRCxBQWpCQSxNQWlCTSxBQWpCTCxTQUFTLENBQUM7SUFDVCxnQkFBZ0IsRXhEUFAsT0FBTztJd0RRaEIsTUFBTSxFeEQ4WWMsV0FBVyxHd0Q3WWhDO0VBY0QsQUFYQSxNQVdNLEFBWEwsWUFBWSxDQUFDO0lBQ1osT0FBTyxFQUFFLElBQUksR0FDZDtFQVNELEFBUEEsTUFPTSxDQVBMLEFBQUEsUUFBQyxBQUFBLEVBQVU7SUFDVixNQUFNLEVBQUUsSUFBSTtJQUNaLGdCQUFnQixFQUFFLElBQUksR0FDdkI7O0FJWEMsQUF2QkYsaUJBdUJtQixBQXZCbEIsSUFBSyxDQUFBLE1BQU0sRUFBRTtFQUNaLFlBQVksRTVEV1AsT0FBTztFNERWWixnQkFBZ0IsRUFBRSxPQUE2QyxHQUloRTtFQWlCQyxBQXBCQSxpQkFvQmlCLEFBdkJsQixJQUFLLENBQUEsTUFBTSxDQUdULGFBQWEsQ0FBQztJQUNiLEtBQUssRTVEUUYsT0FBTyxHNERQWDs7QUF5QkQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixLQUFLLEU1RG5CRixPQUFPLEc0RG9CWDs7QUFJSCxBQUFBLFdBQVcsQ0FBQztFQXpCWixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxPQUFvQjtFQUNoQyxhQUFhLEV6RCtCSCxJQUE2QztFeUQ3QnZELFNBQVMsRXpENkJDLE9BQTZDO0V5RDVCdkQsV0FBVyxFNUQ2RFEsSUFBSTtFNEQ1RHZCLEtBQUssRTVETEUsT0FBTyxHNEQ4QmI7RUFORCxBQUdFLFdBSFMsQUFHUixXQUFXLENBQUM7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBZjBLSCxBQUFBLEdBQUc7QUFDSCxFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixHQUFHO0FBQ0gsSUFBSTtBQUNKLENBQUM7QWdHaEJELFVBQVU7QUF3U1gsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUM7QUNsbkJKLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQztBQ3RoQkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUM7QUdqbUJILFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQztBaEduV0YsVUFBVTtBQUNWLEVBQUU7QUFDRixFQUFFLENBQUM7RUFDRCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7OztBQU5ELEFBU0EsQ0FUQztBZ0doQkQsVUFBVTtBQXdTWCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQztBQ2xuQkosSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDO0FDdGhCSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQztBR2ptQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENoRzNWQTtFQUNBLGFBQWEsRTdDckVTLElBQUk7RTZDdUUxQixTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEU3Q3pFUSxHQUFHO0U2QzBFdEIsY0FBYyxFN0N4RVMsa0JBQWtCLEc2Q3lFMUM7O0FBR0QsQUFBQSxFQUFFO0FBQ0YsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE9BQU8sR0FDckI7O0FBR0QsQUFBQSxNQUFNO0FBQ04sQ0FBQyxDQUFDO0VBQ0EsV0FBVyxFN0NoTE0sSUFBSTtFNkNpTHJCLFdBQVcsRUFBRSxPQUFPLEdBQ3JCOztBN0JnREMsQUFBQSxLQUFLLEM2QjdDRDtFQUNKLFNBQVMsRTdDL0ZLLEdBQUc7RTZDZ0dqQixXQUFXLEVBQUUsT0FBTyxHQUNyQjs7QUFHRCxBQUFBLEVBQUUsRUFBRSxHQUFHO0FBQ1AsRUFBRSxFQUFFLEdBQUc7QUFDUCxFQUFFLEVBQUUsR0FBRztBQUNQLEVBQUUsRUFBRSxHQUFHO0FBQ1AsRUFBRSxFQUFFLEdBQUc7QUFDUCxFQUFFLEVBQUUsR0FBRyxDQUFDO0VBQ04sV0FBVyxFN0NsSk0sU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVU7RTZDbUpoRSxVQUFVLEU3Q2hKTSxNQUFNO0U2Q2lKdEIsV0FBVyxFN0NwTVEsTUFBTTtFNkNxTXpCLEtBQUssRTdDaEpNLE9BQU87RTZDaUpsQixjQUFjLEU3Qy9HTSxrQkFBa0IsRzZDcUh2QztFQWhCRCxBQVlFLEVBWkEsQ0FZQSxLQUFLLEVBWkgsR0FBRyxDQVlMLEtBQUs7RUFYUCxFQUFFLENBV0EsS0FBSyxFQVhILEdBQUcsQ0FXTCxLQUFLO0VBVlAsRUFBRSxDQVVBLEtBQUssRUFWSCxHQUFHLENBVUwsS0FBSztFQVRQLEVBQUUsQ0FTQSxLQUFLLEVBVEgsR0FBRyxDQVNMLEtBQUs7RUFSUCxFQUFFLENBUUEsS0FBSyxFQVJILEdBQUcsQ0FRTCxLQUFLO0VBUFAsRUFBRSxDQU9BLEtBQUssRUFQSCxHQUFHLENBT0wsS0FBSyxDQUFDO0lBQ0osV0FBVyxFQUFFLENBQUM7SUFDZCxLQUFLLEU3Q3RRRyxPQUFPLEc2Q3VRaEI7O0FBUUcsQUFBQSxFQUFFLEVBQUUsR0FBRyxDQUFpQjtFQUlwQixTQUFTLEUxQ3ZQVCxPQUE2QztFMENtUTdDLFdBQVcsRTdDN0tILEdBQUc7RTZDcUxYLFVBQVUsRUFBRSxDQUFDO0VBT2IsYUFBYSxFN0MzTEYsTUFBTSxHNkM2THBCOztBQWpDRCxBQUFBLEVBQUUsRUFBRSxHQUFHLENBQWlCO0VBSXBCLFNBQVMsRTFDdlBULE9BQTZDO0UwQ21RN0MsV0FBVyxFN0M3S0gsR0FBRztFNkNxTFgsVUFBVSxFQUFFLENBQUM7RUFPYixhQUFhLEU3QzNMRixNQUFNLEc2QzZMcEI7O0FBakNELEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBaUI7RUFJcEIsU0FBUyxFMUN2UFQsUUFBNkM7RTBDbVE3QyxXQUFXLEU3QzdLSCxHQUFHO0U2Q3FMWCxVQUFVLEVBQUUsQ0FBQztFQU9iLGFBQWEsRTdDM0xGLE1BQU0sRzZDNkxwQjs7QUFqQ0QsQUFBQSxFQUFFLEVBQUUsR0FBRyxDQUFpQjtFQUlwQixTQUFTLEUxQ3ZQVCxTQUE2QztFMENtUTdDLFdBQVcsRTdDN0tILEdBQUc7RTZDcUxYLFVBQVUsRUFBRSxDQUFDO0VBT2IsYUFBYSxFN0MzTEYsTUFBTSxHNkM2THBCOztBQWpDRCxBQUFBLEVBQUUsRUFBRSxHQUFHLENBQWlCO0VBSXBCLFNBQVMsRTFDdlBULFFBQTZDO0UwQ21RN0MsV0FBVyxFN0M3S0gsR0FBRztFNkNxTFgsVUFBVSxFQUFFLENBQUM7RUFPYixhQUFhLEU3QzNMRixNQUFNLEc2QzZMcEI7O0FBakNELEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBaUI7RUFJcEIsU0FBUyxFMUN2UFQsSUFBNkM7RTBDbVE3QyxXQUFXLEU3QzdLSCxHQUFHO0U2Q3FMWCxVQUFVLEVBQUUsQ0FBQztFQU9iLGFBQWEsRTdDM0xGLE1BQU0sRzZDNkxwQjs7QXBDek1ILE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VvQ3dLdkMsQUFBQSxFQUFFLEVBQUUsR0FBRyxDQUFpQjtJQUlwQixTQUFTLEUxQ3ZQVCxPQUE2QyxHMENvUmhEO0VBakNELEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBaUI7SUFJcEIsU0FBUyxFMUN2UFQsUUFBNkMsRzBDb1JoRDtFQWpDRCxBQUFBLEVBQUUsRUFBRSxHQUFHLENBQWlCO0lBSXBCLFNBQVMsRTFDdlBULFFBQTZDLEcwQ29SaEQ7RUFqQ0QsQUFBQSxFQUFFLEVBQUUsR0FBRyxDQUFpQjtJQUlwQixTQUFTLEUxQ3ZQVCxTQUE2QyxHMENvUmhEO0VBakNELEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBaUI7SUFJcEIsU0FBUyxFMUN2UFQsSUFBNkMsRzBDb1JoRDtFQWpDRCxBQUFBLEVBQUUsRUFBRSxHQUFHLENBQWlCO0lBSXBCLFNBQVMsRTFDdlBULFNBQTZDLEcwQ29SaEQ7O0E3Qm5HTCxBQUFBLENBQUMsQzZCeUdEO0VBQ0EsV0FBVyxFQUFFLE9BQU87RUFDcEIsS0FBSyxFN0NoVUUsT0FBTztFNkNpVWQsZUFBZSxFN0N4Sk0sSUFBSTtFNkMwSnpCLE1BQU0sRUFBRSxPQUFPLEdBYWhCO0VBbEJELEFBT0UsQ0FQRCxBQU9FLE1BQU0sRUFQVCxDQUFDLEFBUUUsTUFBTSxDQUFDO0lBQ04sS0FBSyxFN0MvSlUsT0FBNEMsRzZDbUs1RDtFQWJILEFBZUUsQ0FmRCxDQWVDLEdBQUcsQ0FBQztJQUNGLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0E3QnZLRCxBQUFBLEVBQUUsQzZCMktEO0VBQ0QsS0FBSyxFQUFFLElBQUk7RUFFWCxTQUFTLEUxQ2xURCxLQUE2QztFMENtVHJELE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFMUNwVEUsT0FBNkMsQ0h5SWhDLElBQUk7RTZDNkt6QixVQUFVLEVBQUUsQ0FBQztFQUNiLFlBQVksRUFBRSxDQUFDO0VBQ2YsYUFBYSxFN0NoTEwsR0FBRyxDQUFDLEtBQUssQ0FwS1AsT0FBTztFNkNxVmpCLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBR0QsQUFBQSxFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUUsQ0FBQztFQUNELGFBQWEsRTdDck1TLElBQUk7RTZDc00xQixtQkFBbUIsRTdDcExELE9BQU87RTZDcUx6QixXQUFXLEU3Q3hNUSxHQUFHLEc2Q3lNdkI7O0FBR0QsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsT0FBTyxHQUNuQjs7QUFHRCxBQUFBLEVBQUUsQ0FBQztFQUNELFdBQXNCLEU3QzlMUCxPQUFPO0U2QytMdEIsZUFBZSxFN0NqTUQsSUFBSSxHNkNrTW5COztBQUdELEFBQUEsRUFBRSxDQUFDO0VBQ0QsV0FBc0IsRTdDcE1QLE9BQU8sRzZDcU12Qjs7QUFHRCxBQUNFLEVBREEsQ0FBRixFQUFFLEVBQUUsRUFBRSxDQUFOLEVBQUUsRUFBRixFQUFFLENBQUUsRUFBRSxFQUFGLEVBQUUsQ0FBRixFQUFFLENBQ0E7RUFDRixXQUFzQixFN0N6TUYsT0FBTztFNkMwTTNCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQUlILEFBQUEsRUFBRSxDQUFDO0VBQ0QsYUFBYSxFN0MvTVEsSUFBSSxHNkNxTjFCO0VBUEQsQUFHRSxFQUhBLENBR0EsRUFBRSxDQUFDO0lBQ0QsYUFBYSxFN0NoTlcsTUFBTTtJNkNpTjlCLFdBQVcsRTdDbFVJLElBQUksRzZDbVVwQjs7QUFJSCxBQUFBLFVBQVUsQ0FBQztFQUNULE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDN0M5T1csSUFBSTtFNkMrTzFCLE9BQU8sRTFDMVdDLFNBQTZDLENBQTdDLE9BQTZDLENBSzdDLENBQUMsQ0FMRCxTQUE2QztFMEMyV3JELFdBQXNCLEU3Q3ROTixHQUFHLENBQUMsS0FBSyxDQWpMZixPQUFPLEc2QzZZbEI7RUFURCxBQUtFLFVBTFEsRUFBVixVQUFVLENBS0wsQ0FBQyxFQUxOLFVBQVUsQ2dHbE1WLFVBQVUsRWhHa01WLFVBQVUsQ2dHc0dYLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLEVBNUVILFFBQVEsQ0FnRFAsUUFBUSxDaEd0SlIsVUFBVSxDZ0drTFQsQ0FBQyxFaEdsTEYsVUFBVSxDaUdoY1osSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLEVDbG5CSixJQUFJLENEc2xCRixRQUFRLENoR3RKUixVQUFVLENnR2tMVCxDQUFDLEVoR2xMRixVQUFVLENpR3BXWixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGZoQixRQUFRLENoR3RKUixVQUFVLENnR2tMVCxDQUFDLEVoR2xMRixVQUFVLENtRy9hWCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsRUdqbUJILFVBQVUsQ0hxa0JULFFBQVEsQ2hHdEpSLFVBQVUsQ2dHa0xULENBQUMsQ2hHN0tLO0lBQ0gsV0FBVyxFN0NwUE0sR0FBRztJNkNxUHBCLEtBQUssRTdDMVlDLE9BQU8sRzZDMllkOztBQUlILEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEUxQ3RYRCxTQUE2QztFMEN1WHJELEtBQUssRTdDbFpHLE9BQU8sRzZDdVpoQjtFQVJELEFBS0UsSUFMRSxBQUtELE9BQU8sQ0FBQztJQUNQLE9BQU8sRTdDbE9TLEtBQWEsRzZDbU85Qjs7QUFJSCxBQUFBLElBQUksRUFBRSxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTztFQUNoQixhQUFhLEU3Q2xPQSxHQUFHLENBQUMsTUFBTSxDQXhMbkIsT0FBTztFNkMyWlgsTUFBTSxFQUFFLElBQUk7RUFDWixlQUFlLEVBQUUsSUFBSSxHQUN0Qjs7QTdCN1FDLEFBQUEsTUFBTSxDNkJnUkQ7RUFDTCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUdELEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFMUM1WUMsUUFBNkMsQ0FBN0MsU0FBNkMsQ0FBN0MsU0FBNkM7RTBDOFlyRCxNQUFNLEU3QzdRSSxHQUFHLENBQUMsS0FBSyxDQTdKVCxPQUFPO0U2QzJhakIsZ0JBQWdCLEU3QzVhUCxPQUFPO0U2QzhhaEIsV0FBVyxFN0M3VFMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxTQUFTO0U2QzhUbkUsV0FBVyxFN0NsWFEsTUFBTTtFNkNtWHpCLEtBQUssRTdDN2FELE9BQU8sRzZDOGFaOztBQUdELEFBQUEsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEUxQ3paQyxRQUE2QyxDQUE3QyxPQUE2QyxDQUs3QyxDQUFDO0UwQ3NaVCxnQkFBZ0IsRTdDeGJQLE9BQU87RTZDMGJoQixXQUFXLEU3Q3pVUyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFNBQVM7RTZDMFVuRSxLQUFLLEU3Q3hiRCxPQUFPO0U2QzJiVCxhQUFhLEU3Qy9YSCxHQUFHLEc2Q2lZaEI7O0FDNWNELEFBQUEsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFOUNnTlMsTUFBTTtFOEMvTXpCLGFBQWEsRTlDZ05TLE1BQU07RThDOU01QixXQUFXLEU5Q3FFUSxNQUFNO0U4Q3BFekIsV0FBVyxFOUN5TVEsR0FBRztFOEN4TXRCLEtBQUssRTlDUUcsT0FBTyxHOENQaEI7O0FBR0QsQUFBQSxLQUFLLENBQUM7RUFDSixTQUFTLEU5Q2lNSSxJQUF3QjtFOENoTXJDLFdBQVcsRTlDaU1HLEdBQUcsRzhDaE1sQjs7QUFHRCxBQUFBLEtBQUssQ0FBQztFQUNKLFNBQVMsRTlDa01JLE1BQU07RThDak1uQixXQUFXLEVBQUUsQ0FBQyxHQUtmO0VBSEMsQUFBQSxDQUFDLEdBSkgsS0FBSyxFK0YrTEwsVUFBVSxHL0YvTFYsS0FBSyxFK0Z1ZU4sUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsRy9GbmpCRixLQUFLLEVnRy9EUCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsRy9GbmpCRixLQUFLLEVnRzZCUCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxHL0ZuakJGLEtBQUssRWtHOUNOLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxHL0ZuakJGLEtBQUssQ0FJRztJQUNKLFVBQVUsRUFBRSxLQUFLLEdBQ2xCOztBQUdILEFBRUUsRUFGQSxBQUVDLFVBQVUsRUFGVCxFQUFFLEFBRUgsVUFBVSxDQUFDO0VBQ1YsV0FBc0IsRUFBUyxDQUFDO0VBQ2hDLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQy9ESyxBQUFBLFVBQVUsQ0FBTTtFQUNkLFVBQVUsRUFSQyxJQUFJLEdBU2hCOztBQUZELEFBQUEsV0FBVyxDQUFLO0VBQ2QsVUFBVSxFQVJPLEtBQUssR0FTdkI7O0FBRkQsQUFBQSxZQUFZLENBQUk7RUFDZCxVQUFVLEVBUmMsTUFBTSxHQVMvQjs7QUFGRCxBQUFBLGFBQWEsQ0FBRztFQUNkLFVBQVUsRUFSc0IsT0FBTyxHQVN4Qzs7QXRDbUpMLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0VzQzFKekMsQUFBQSxxQkFBcUIsQ0FBSTtJQUN2QixVQUFVLEVBSEMsSUFBSSxHQUloQjtFQUZELEFBQUEsc0JBQXNCLENBQUc7SUFDdkIsVUFBVSxFQUhPLEtBQUssR0FJdkI7RUFGRCxBQUFBLHVCQUF1QixDQUFFO0lBQ3ZCLFVBQVUsRUFIYyxNQUFNLEdBSS9CO0VBRkQsQUFBQSx3QkFBd0IsQ0FBQztJQUN2QixVQUFVLEVBSHNCLE9BQU8sR0FJeEM7O0F0Q3dKTCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFc0MxSnJDLEFBQUEsaUJBQWlCLENBQVE7SUFDdkIsVUFBVSxFQUhDLElBQUksR0FJaEI7RUFGRCxBQUFBLGtCQUFrQixDQUFPO0lBQ3ZCLFVBQVUsRUFITyxLQUFLLEdBSXZCO0VBRkQsQUFBQSxtQkFBbUIsQ0FBTTtJQUN2QixVQUFVLEVBSGMsTUFBTSxHQUkvQjtFQUZELEFBQUEsb0JBQW9CLENBQUs7SUFDdkIsVUFBVSxFQUhzQixPQUFPLEdBSXhDOztBdEN3SkwsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7RXNDMUp6QyxBQUFBLHNCQUFzQixDQUFHO0lBQ3ZCLFVBQVUsRUFIQyxJQUFJLEdBSWhCO0VBRkQsQUFBQSx1QkFBdUIsQ0FBRTtJQUN2QixVQUFVLEVBSE8sS0FBSyxHQUl2QjtFQUZELEFBQUEsd0JBQXdCLENBQUM7SUFDdkIsVUFBVSxFQUhjLE1BQU0sR0FJL0I7RUFGRCxBQUFBLHlCQUF5QixDQUFBO0lBQ3ZCLFVBQVUsRUFIc0IsT0FBTyxHQUl4Qzs7QXRDd0pMLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VzQzFKckMsQUFBQSxnQkFBZ0IsQ0FBUztJQUN2QixVQUFVLEVBSEMsSUFBSSxHQUloQjtFQUZELEFBQUEsaUJBQWlCLENBQVE7SUFDdkIsVUFBVSxFQUhPLEtBQUssR0FJdkI7RUFGRCxBQUFBLGtCQUFrQixDQUFPO0lBQ3ZCLFVBQVUsRUFIYyxNQUFNLEdBSS9CO0VBRkQsQUFBQSxtQkFBbUIsQ0FBTTtJQUN2QixVQUFVLEVBSHNCLE9BQU8sR0FJeEM7O0F0QzZKTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VzQy9KOUIsQUFBQSxpQkFBaUIsQ0FBUTtJQUN2QixVQUFVLEVBSEMsSUFBSSxHQUloQjtFQUZELEFBQUEsa0JBQWtCLENBQU87SUFDdkIsVUFBVSxFQUhPLEtBQUssR0FJdkI7RUFGRCxBQUFBLG1CQUFtQixDQUFNO0lBQ3ZCLFVBQVUsRUFIYyxNQUFNLEdBSS9CO0VBRkQsQUFBQSxvQkFBb0IsQ0FBSztJQUN2QixVQUFVLEVBSHNCLE9BQU8sR0FJeEM7O0FDRVQsQUFBQSxlQUFlLENBQUM7RUFBRSxPQUFPLEVBQUUsZUFBZSxHQUFJOztBQUU5QyxNQUFNLENBQUMsS0FBSztFQUNWLEFBQUEsQ0FBQyxDQUFDO0lBRUUsVUFBVSxFQUFFLHNCQUFzQjtJQUdwQyxVQUFVLEVBQUUsZUFBZTtJQUUzQixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFdBQVcsRUFBRSxlQUFlLEdBQzdCO0VBWkgsQUFBQSxlQUFlLENBY0c7SUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEdBQUk7RUFDL0MsQUFBQSxlQUFlLENBQUM7SUFBRSxPQUFPLEVBQUUsZUFBZSxHQUFJO0VBRTlDLEFBQUEsS0FBSyxBQUFBLGVBQWUsQ0FBQztJQUFFLE9BQU8sRUFBRSxnQkFBZ0IsR0FBSTtFQUNwRCxBQUFBLEtBQUssQUFBQSxlQUFlLENBQUM7SUFBRSxPQUFPLEVBQUUsNkJBQTZCLEdBQUk7RUFDakUsQUFBQSxLQUFLLEFBQUEsZUFBZSxDQUFDO0lBQUUsT0FBTyxFQUFFLDBCQUEwQixHQUFJO0VBQzlELEFBQUEsRUFBRSxBQUFBLGVBQWUsQ0FBQztJQUFFLE9BQU8sRUFBRSxvQkFBb0IsR0FBSTtFQUNyRCxBQUFBLEVBQUUsQUFBQSxlQUFlLENBQUM7SUFBRSxPQUFPLEVBQUUscUJBQXFCLEdBQUk7RUFDdEQsQUFBQSxFQUFFLEFBQUEsZUFBZSxDQUFDO0lBQUUsT0FBTyxFQUFFLHFCQUFxQixHQUFJO0VBR3RELEFBQUEsQ0FBQztFQUNELENBQUMsQUFBQSxRQUFRLENBQUM7SUFBRSxlQUFlLEVBQUUsU0FBUyxHQUFHO0VBRXZDLEFBQUEsQ0FBQyxDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFJO0VBSWxELEFBQUEsR0FBRyxDQUFDLENBQUMsQUFBQSxNQUFNO0VBQ1gsQ0FBQyxDQUFBLEFBQUEsSUFBQyxFQUFNLGFBQWEsQUFBbkIsQ0FBb0IsTUFBTTtFQUM1QixDQUFDLENBQUEsQUFBQSxJQUFDLEVBQU0sR0FBRyxBQUFULENBQVUsTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLEVBQUUsR0FBSTtFQUdwQyxBQUFBLElBQUksQ0FBQSxBQUFBLEtBQUMsQUFBQSxDQUFNLE1BQU0sQ0FBQztJQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBSTtFQUdyRCxBQUFBLEdBQUc7RUFDSCxVQUFVLENBQUM7SUFDVCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hETVgsT0FBTztJZ0RMYixpQkFBaUIsRUFBRSxLQUFLLEdBQ3pCO0VBR0QsQUFBQSxLQUFLLENBQUM7SUFBRSxPQUFPLEVBQUUsa0JBQWtCLEdBQUk7RUFFdkMsQUFBQSxFQUFFO0VBQ0YsR0FBRyxDQUFDO0lBQUUsaUJBQWlCLEVBQUUsS0FBSyxHQUFJO0VoQ2dWbEMsQUFBQSxHQUFHLENnQzlVQztJQUFFLFNBQVMsRUFBRSxlQUFlLEdBQUk7RUFFcEMsS0FBSztJQUFHLE1BQU0sRUFBRSxLQUFLOztFSDJNdkIsQUd6TUUsQ0h5TUQ7RWdHaEJELFVBQVU7RUF3U1gsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUM7RUNsbkJKLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQztFQ3RoQkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUM7RUdqbUJILFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQztFN0Y1aUJBLEVBQUU7RUFDRixFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7RUFHRCxBQUFBLEVBQUU7RUFDRixFQUFFLENBQUM7SUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEdBQUk7RUFHaEMsQUFBQSxtQkFBbUIsQ0FBQztJQUNsQixpQkFBaUIsRUFBRSxJQUFJLEdBQ3hCOztBZDRDSCxBQUFBLElBQUksRWdINlhMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVFN0JMLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENsSHZjQTtFUDlCTCxTQUFTLEV4QlRDLEtBQTZDO0UrQmxEckQsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFJakIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsR0FBRyxDQWxCQyxJQUFJLEdBNklwQjtFQXhDRCxBQUlFLElBSkUsQ0FJQSxJQUFJLEVnSHlYVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEg5WUEsSUFBSSxFa0hpWFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIbmNELElBQUksRUFKUixJQUFJLENnSDZYTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENoSGhaUCxJQUFJLENnSGtaRixFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBQUYsRUFBRSxFRTdCTCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDbEhuY0k7SVAvQ1AsWUFBWSxFQUZILFVBQXNEO0lBRy9ELFdBQVcsRUFIRixVQUFzRCxHT3dEOUQ7SXpCeUJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO015QnBDakQsQUFJRSxJQUpFLENBSUEsSUFBSSxFZ0h5WFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIOVlBLElBQUksRWtIaVhULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENsSG5jRCxJQUFJLEVBSlIsSUFBSSxDZ0g2WEwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDaEhoWlAsSUFBSSxDZ0hrWkYsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQUFGLEVBQUUsRUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIbmNJO1FQL0NQLFlBQVksRUFGSCxVQUFzRDtRQUcvRCxXQUFXLEVBSEYsVUFBc0QsR093RDlEO0l6QnlCQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUJwQzdDLEFBSUUsSUFKRSxDQUlBLElBQUksRWdIeVhULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSDlZQSxJQUFJLEVrSGlYVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDbEhuY0QsSUFBSSxFQUpSLElBQUksQ2dINlhMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ2hIaFpQLElBQUksQ2dIa1pGLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0FBRixFQUFFLEVFN0JMLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENsSG5jSTtRUC9DUCxZQUFZLEVBRkgsUUFBc0Q7UUFHL0QsV0FBVyxFQUhGLFFBQXNELEdPd0Q5RDtJekJ5QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TXlCcENqRCxBQUlFLElBSkUsQ0FJQSxJQUFJLEVnSHlYVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEg5WUEsSUFBSSxFa0hpWFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIbmNELElBQUksRUFKUixJQUFJLENnSDZYTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENoSGhaUCxJQUFJLENnSGtaRixFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBQUYsRUFBRSxFRTdCTCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDbEhuY0k7UVAvQ1AsWUFBWSxFQUZILFFBQXNEO1FBRy9ELFdBQVcsRUFIRixRQUFzRCxHT3dEOUQ7SXpCeUJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015QnBDN0MsQUFJRSxJQUpFLENBSUEsSUFBSSxFZ0h5WFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIOVlBLElBQUksRWtIaVhULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENsSG5jRCxJQUFJLEVBSlIsSUFBSSxDZ0g2WEwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDaEhoWlAsSUFBSSxDZ0hrWkYsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQUFGLEVBQUUsRUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIbmNJO1FQL0NQLFlBQVksRUFGSCxRQUFzRDtRQUcvRCxXQUFXLEVBSEYsUUFBc0QsR093RDlEO0l6QjhCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015QnpDdEMsQUFJRSxJQUpFLENBSUEsSUFBSSxFZ0h5WFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIOVlBLElBQUksRWtIaVhULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENsSG5jRCxJQUFJLEVBSlIsSUFBSSxDZ0g2WEwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDaEhoWlAsSUFBSSxDZ0hrWkYsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQUFGLEVBQUUsRUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIbmNJO1FQL0NQLFlBQVksRUFGSCxRQUFzRDtRQUcvRCxXQUFXLEVBSEYsUUFBc0QsR093RDlEO0lBWEgsQUFPSSxJQVBBLENBSUEsSUFBSSxBQUdILFNBQVMsRWdIc1hmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSDlZQSxJQUFJLEFBR0gsU0FBUyxFa0g4V2YsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIbmNELElBQUksQUFHSCxTQUFTLEVBUGQsSUFBSSxDZ0g2WEwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDaEhoWlAsSUFBSSxDZ0hrWkYsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQUFGLEVBQUUsRUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIaGNVO01BQ1QsWUFBWSxFQUFFLENBQUM7TUFDZixXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBVkwsQUFjRSxJQWRFLEFBY0QsU0FBUyxFZ0grV2IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIcFlELFNBQVMsRWtIdVdiLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHpiRixTQUFTLENBQUM7SVA1Q2IsU0FBUyxFQUhBLElBQUksR09zRFY7SUFyQkgsQUFpQkksSUFqQkEsQUFjRCxTQUFTLENBR1IsSUFBSSxFZ0g0V1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIcFlELFNBQVMsQ0FHUixJQUFJLEVrSG9XVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh6YkYsU0FBUyxDQUdSLElBQUksRUFqQlIsSUFBSSxBQWNELFNBQVMsQ2dIK1diLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ2hIaFpQLElBQUksQUFjRCxTQUFTLENnSG9ZVixFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSHBZRCxTQUFTLENnSG9ZVixFQUFFLEVFN0JMLDRCQUE0QixDQVUzQixlQUFlLENsSC9YZixJQUFJLEFBY0QsU0FBUyxDa0hxYVYsY0FBYyxDQW9CYixFQUFFLEVBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHpiRixTQUFTLENrSHliVCxFQUFFLENsSHRiSTtNQUNILFlBQVksRUFBRSxJQUFJO01BQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBcEJMLEFBdUJFLElBdkJFLEFBdUJELElBQUssQ0FBQSxTQUFTLEVBQUUsSUFBSSxFZ0hzV3hCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSDNYRCxJQUFLLENBQUEsU0FBUyxFQUFFLElBQUksRWtIOFZ4Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEhoYkYsSUFBSyxDQUFBLFNBQVMsRUFBRSxJQUFJLEVBdkJ2QixJQUFJLEFBdUJELElBQUssQ0FBQSxTQUFTLEVnSHNXbEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDaEhoWlAsSUFBSSxBQXVCRCxJQUFLLENBQUEsU0FBUyxFZ0gyWGYsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEgzWEQsSUFBSyxDQUFBLFNBQVMsRWdIMlhmLEVBQUUsRUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ2xIL1hmLElBQUksQUF1QkQsSUFBSyxDQUFBLFNBQVMsRWtINFpmLGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEhoYkYsSUFBSyxDQUFBLFNBQVMsRWtIZ2JkLEVBQUUsQ2xIaGJtQjtJUHJEeEIsU0FBUyxFQUhBLElBQUksR08wRFY7RUF6QkgsQUE0QkksSUE1QkEsQUEyQkQsU0FBUyxHQUNOLE9BQU8sRWdIaVdkLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdoSHRYRSxPQUFPLEVrSHlWZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxHbEgzYUMsT0FBTyxFQTVCYixJQUFJLEFBMkJELFNBQVMsR0FxR1osUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsR2hIbFJKLFFBQVEsRWtIcVBULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEdsSHZVTCxRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsWkosSUFBSSxBQTJCRCxTQUFTLEdnSGdZVCxFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdBU0QsRUFBRSxFRXRDTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0Z0RGpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V1REosRUFBRSxHRjVDRixFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsR0Y1Q0YsRUFBRSxDaEgvWFM7SUhySVosYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0JnRU47RUE5QkwsQUFtQ0UsSUFuQ0UsQUFtQ0Qsa0JBQWtCLEVnSDBWdEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIL1dELGtCQUFrQixFa0hrVnRCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHBhRixrQkFBa0I7RUFuQ3JCLElBQUksQUFvQ0QsU0FBUyxHQUFHLE9BQU8sR0FBRyxJQUFJO0VnSHlWOUIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsR2hIOVdXLE9BQU8sR0FBRyxJQUFJO0VrSGlWOUIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsR2xIbmFVLE9BQU8sR0FBRyxJQUFJO0VBcEM3QixJQUFJLEFBb0NELFNBQVMsR0E0RlosUUFBUSxHQTVGaUIsSUFBSTtFZ0h5VjlCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdoSGxSSixRQUFRLEdBNUZpQixJQUFJO0VrSGlWOUIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsR2xIdlVMLFFBQVEsR0E1RmlCLElBQUk7RWdIeVY5Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsWkosSUFBSSxBQW9DRCxTQUFTLEdnSHVYVCxFQUFFLEdoSHZYb0IsSUFBSTtFZ0h5VjlCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdBU0QsRUFBRSxHaEh2WG9CLElBQUk7RWdIeVY5Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEdGNUNGLEVBQUUsR2hIdlhvQixJQUFJO0VnSHlWOUIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDaEhoWlAsSUFBSSxBQW9DRCxTQUFTLEdBQUcsT0FBTyxHZ0g4V3BCLEVBQUU7RUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsR2hIOVdXLE9BQU8sR2dIOFdwQixFQUFFO0VBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ2hIaFpQLElBQUksQUFvQ0QsU0FBUyxHQTRGWixRQUFRLEdnSGtSTixFQUFFO0VBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdoSGxSSixRQUFRLEdnSGtSTixFQUFFO0VBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxaSixJQUFJLEFBb0NELFNBQVMsR2dIdVhULEVBQUUsR0FUSCxFQUFFO0VBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdBU0QsRUFBRSxHQVRILEVBQUU7RUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENsSG5iaEIsSUFBSSxBQW9DRCxTQUFTLEdBQUcsT0FBTyxHa0htYW5CLEVBQUU7RUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsR2xIbmFVLE9BQU8sR2tIbWFuQixFQUFFO0VBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDbEhuYmhCLElBQUksQUFvQ0QsU0FBUyxHQTRGWixRQUFRLEdrSHVVTCxFQUFFO0VBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEdsSHZVTCxRQUFRLEdrSHVVTCxFQUFFO0VGMUVOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFN0JMLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDbEhuYmhCLElBQUksQUFvQ0QsU0FBUyxHZ0h1WFQsRUFBRSxHRTRDRixFQUFFO0VBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRnREakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXVESixFQUFFLEdGNUNGLEVBQUUsR0U0Q0YsRUFBRTtFRjFFTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEdGNUNGLEVBQUUsR0U0Q0YsRUFBRSxDbEhuYXlCO0lBQzFCLFlBQVksRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFJSCxBQUFBLE9BQU8sRUFxRlAsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0FTRCxFQUFFLENoSGhYRztFQXREUixJQUFJLEVBeERHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztFSHRDWixhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCO0VHcUVyQyxTQUFTLEVBQUUsQ0FBQyxHQW1GYjtFekJURyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUJPN0MsQUFBQSxPQUFPLEVBcUZQLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBU0QsRUFBRSxDaEhoWEc7TUhwSk4sYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHR3dKdEM7O0FBSUQsQUFBQSxPQUFPLEFBQUEsSUFBSSxBQUFBLElBQUksRUFBUixJQUFJLEFBQUEsSUFBSSxBQStFZixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhsUkosUUFBUSxFa0hxUFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIdlVMLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSGpXSixPQUFPLEVnSDRVUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQVNELEVBQUUsQWhIMVdFLElBQUksQUFBQSxJQUFJLEVrSG9VaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIdFpMLE9BQU8sQ0FBUztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFHRCxBQUFBLElBQUksQ0FBQyxPQUFPLEFBQUEsSUFBSSxBQUFBLElBQUksRWdIc1VyQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEgzVkMsT0FBTyxBQUFBLElBQUksQUFBQSxJQUFJLEVrSDhUckIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ2xIaFpBLE9BQU8sQUFBQSxJQUFJLEFBQUEsSUFBSSxFQUFwQixJQUFJLENBTkcsSUFBSSxBQUFBLElBQUksQUErRWYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIaldHLElBQUksQUFBQSxJQUFJLEFBK0VmLFFBQVEsRWtIcVBULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENsSHRaRSxJQUFJLEFBQUEsSUFBSSxBQStFZixRQUFRLEVBekVSLElBQUksQ2dIc1VMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSGxSSixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENoSHpWUCxJQUFJLENnSDJWRixFQUFFLEFoSGxSSixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQUFGLEVBQUUsQWhIbFJKLFFBQVEsRWtIcVBULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHZVTCxRQUFRLEVBekVSLElBQUksQ2dIc1VMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSGpXSixPQUFPLEVnSDRVUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENoSHpWUCxJQUFJLENnSDJWRixFQUFFLEFoSGpXSixPQUFPLEVnSDRVUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQUFGLEVBQUUsQWhIaldKLE9BQU8sRWdINFVSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBU0QsRUFBRSxBaEgxV0UsSUFBSSxBQUFBLElBQUksRWtIb1VoQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh0WkwsT0FBTyxDQU1jO0VBQ25CLFlBQVksRUFBRSxDQUFDO0VBQ2YsV0FBVyxFQUFFLENBQUM7RUFDZCxhQUFhLEVBQUUsQ0FBQztFQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QUFLRyxBQUFBLFFBQVEsQ0FBWTtFQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFFBQXlDO0VNcUsvQyxTQUFTLEVOcktILFFBQXlDLEdNc0toRDs7QUFLRCxBQUFBLGVBQWUsQ0FBWTtFSjlKL0IsV0FBc0IsRUZoQlYsRUFBb0IsR01nTDNCOztBQVZELEFBQUEsUUFBUSxDQUFZO0VBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7RU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEOztBQUtELEFBQUEsZUFBZSxDQUFZO0VKOUovQixXQUFzQixFRmJWLFFBQXlDLEdNNktoRDs7QUFWRCxBQUFBLFFBQVEsQ0FBWTtFQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO0VNcUsvQyxTQUFTLEVOcktILEdBQXlDLEdNc0toRDs7QUFLRCxBQUFBLGVBQWUsQ0FBWTtFSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7O0FBVkQsQUFBQSxRQUFRLENBQVk7RUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztFTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7O0FBS0QsQUFBQSxlQUFlLENBQVk7RUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEOztBQVZELEFBQUEsUUFBUSxDQUFZO0VBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7RU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEOztBQUtELEFBQUEsZUFBZSxDQUFZO0VKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDs7QUFWRCxBQUFBLFFBQVEsQ0FBWTtFQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO0VNcUsvQyxTQUFTLEVOcktILEdBQXlDLEdNc0toRDs7QUFLRCxBQUFBLGVBQWUsQ0FBWTtFSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7O0FBVkQsQUFBQSxRQUFRLENBQVk7RUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztFTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7O0FBS0QsQUFBQSxlQUFlLENBQVk7RUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEOztBQVZELEFBQUEsUUFBUSxDQUFZO0VBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7RU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEOztBQUtELEFBQUEsZUFBZSxDQUFZO0VKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDs7QUFWRCxBQUFBLFFBQVEsQ0FBWTtFQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO0VNcUsvQyxTQUFTLEVOcktILEdBQXlDLEdNc0toRDs7QUFLRCxBQUFBLGVBQWUsQ0FBWTtFSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7O0FBVkQsQUFBQSxTQUFTLENBQVc7RUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztFTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7O0FBS0QsQUFBQSxlQUFlLENBQVk7RUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEOztBQVZELEFBQUEsU0FBUyxDQUFXO0VBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7RU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEOztBQUtELEFBQUEsZ0JBQWdCLENBQVc7RUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEOztBQVZELEFBQUEsU0FBUyxFMkd1ekJkLGlCQUFpQixDQUNoQixDQUFDLEVBREYsaUJBQWlCLENBenZCaEIsVUFBVSxFQXl2QlgsaUJBQWlCLENBamRqQixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxFQTVFSCxRQUFRLENBZ0RQLFFBQVEsQ0FpYVQsaUJBQWlCLENBcllmLENBQUMsRUFxWUgsaUJBQWlCLENDdi9CbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLEVDbG5CSixJQUFJLENEc2xCRixRQUFRLENBaWFULGlCQUFpQixDQXJZZixDQUFDLEVBcVlILGlCQUFpQixDQzM1QmxCLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0FpYVQsaUJBQWlCLENBcllmLENBQUMsRUFxWUgsaUJBQWlCLENHdCtCakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLEVHam1CSCxVQUFVLENIcWtCVCxRQUFRLENBaWFULGlCQUFpQixDQXJZZixDQUFDLEMzR2xic0I7RUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTXFLL0MsU0FBUyxFTnJLSCxJQUF5QyxHTXNLaEQ7O0FBS0QsQUFBQSxnQkFBZ0IsQ0FBVztFSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7O0FBS0QsQUFBQSxXQUFXLENBQVk7RUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0VBRkQsQUF4R0osV0F3R2UsR0F4R2IsT0FBTyxFQXdHTCxXQUFXLEdBZ0RmLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxXQUFXLEdnSDJVWixFQUFFLENoSG5iVTtJQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILElBQWdCO0lBR3RCLFNBQVMsRUFISCxJQUFnQixHQUl2Qjs7QUFtR0csQUFBQSxXQUFXLENBQVk7RUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0VBRkQsQUF4R0osV0F3R2UsR0F4R2IsT0FBTyxFQXdHTCxXQUFXLEdBZ0RmLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxXQUFXLEdnSDJVWixFQUFFLENoSG5iVTtJQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILEdBQWdCO0lBR3RCLFNBQVMsRUFISCxHQUFnQixHQUl2Qjs7QUFtR0csQUFBQSxXQUFXLEVnSDZTaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFV1QjtFQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7RUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVnSHFaViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxHaEgxYUYsT0FBTyxFQXdHTCxXQUFXLEdBZ0RmLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdoSGxSSixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsV0FBVyxHZ0gyVVosRUFBRSxFQTlCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxHQVNELEVBQUUsQ2hIbmJVO0lBR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsU0FBZ0I7SUFHdEIsU0FBUyxFQUhILFNBQWdCLEdBSXZCOztBQW1HRyxBQUFBLFdBQVcsQ0FBWTtFQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7RUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVBd0dMLFdBQVcsR0FnRGYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFdBQVcsR2dIMlVaLEVBQUUsQ2hIbmJVO0lBR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7SUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCOztBQW1HRyxBQUFBLFdBQVcsQ0FBWTtFQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7RUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVBd0dMLFdBQVcsR0FnRGYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFdBQVcsR2dIMlVaLEVBQUUsQ2hIbmJVO0lBR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7SUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCOztBQW1HRyxBQUFBLFdBQVcsQ0FBWTtFQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7RUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVBd0dMLFdBQVcsR0FnRGYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFdBQVcsR2dIMlVaLEVBQUUsQ2hIbmJVO0lBR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsU0FBZ0I7SUFHdEIsU0FBUyxFQUhILFNBQWdCLEdBSXZCOztBQW1HRyxBQUFBLFdBQVcsQ0FBWTtFQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7RUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVBd0dMLFdBQVcsR0FnRGYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFdBQVcsR2dIMlVaLEVBQUUsQ2hIbmJVO0lBR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsU0FBZ0I7SUFHdEIsU0FBUyxFQUhILFNBQWdCLEdBSXZCOztBQW1HRyxBQUFBLFdBQVcsQ0FBWTtFQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7RUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVBd0dMLFdBQVcsR0FnRGYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFdBQVcsR2dIMlVaLEVBQUUsQ2hIbmJVO0lBR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsS0FBZ0I7SUFHdEIsU0FBUyxFQUhILEtBQWdCLEdBSXZCOztBQStIQyxBQUNFLGVBRGEsR0FDWCxPQUFPLEVBRFgsZUFBZSxHQW9CakIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIdFNGLGVBQWUsR2dIK1NkLEVBQUUsQ2hIOVNTO0VIdE5aLGFBQWEsRTVCdUVMLENBQUM7RTRCdEVULFlBQVksRTVCc0VKLENBQUMsRytCK0ltQzs7QUFHNUMsQUFDRSxpQkFEZSxHQUNiLE9BQU8sRUFEWCxpQkFBaUIsR0FnQm5CLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxTRixpQkFBaUIsR2dIMlNoQixFQUFFLENoSDFTUztFSDFOWixhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdHNE5nQjs7QXpCN0VuRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFeUI2QjdDLEFBQUEsYUFBYSxDQUFPO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsUUFBeUM7SU1xSy9DLFNBQVMsRU5yS0gsUUFBeUMsR01zS2hEO0VBS0QsQUFBQSxvQkFBb0IsQ0FBTztJSjlKL0IsV0FBc0IsRUZoQlYsRUFBb0IsR01nTDNCO0VBVkQsQUFBQSxhQUFhLENBQU87SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLG9CQUFvQixDQUFPO0lKOUovQixXQUFzQixFRmJWLFFBQXlDLEdNNktoRDtFQVZELEFBQUEsYUFBYSxDQUFPO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxvQkFBb0IsQ0FBTztJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLGFBQWEsQ0FBTztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsb0JBQW9CLENBQU87SUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEO0VBVkQsQUFBQSxhQUFhLENBQU87SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLG9CQUFvQixDQUFPO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsYUFBYSxDQUFPO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxvQkFBb0IsQ0FBTztJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLGFBQWEsQ0FBTztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsb0JBQW9CLENBQU87SUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEO0VBVkQsQUFBQSxhQUFhLENBQU87SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLG9CQUFvQixDQUFPO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsYUFBYSxDQUFPO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxvQkFBb0IsQ0FBTztJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLGNBQWMsQ0FBTTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsb0JBQW9CLENBQU87SUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEO0VBVkQsQUFBQSxjQUFjLENBQU07SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLHFCQUFxQixDQUFNO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsY0FBYyxDQUFNO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU1xSy9DLFNBQVMsRU5yS0gsSUFBeUMsR01zS2hEO0VBS0QsQUFBQSxxQkFBcUIsQ0FBTTtJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFPO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLGdCQXdHb0IsR0F4R2xCLE9BQU8sRUF3R0wsZ0JBQWdCLEdBZ0RwQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsZ0JBQWdCLEdnSDJVakIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxJQUFnQjtNQUd0QixTQUFTLEVBSEgsSUFBZ0IsR0FJdkI7RUFtR0csQUFBQSxnQkFBZ0IsQ0FBTztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixnQkF3R29CLEdBeEdsQixPQUFPLEVBd0dMLGdCQUFnQixHQWdEcEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLGdCQUFnQixHZ0gyVWpCLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7TUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0VBbUdHLEFBQUEsZ0JBQWdCLENBQU87SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osZ0JBd0dvQixHQXhHbEIsT0FBTyxFQXdHTCxnQkFBZ0IsR0FnRHBCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxnQkFBZ0IsR2dIMlVqQixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILFNBQWdCO01BR3RCLFNBQVMsRUFISCxTQUFnQixHQUl2QjtFQW1HRyxBQUFBLGdCQUFnQixDQUFPO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLGdCQXdHb0IsR0F4R2xCLE9BQU8sRUF3R0wsZ0JBQWdCLEdBZ0RwQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsZ0JBQWdCLEdnSDJVakIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxHQUFnQjtNQUd0QixTQUFTLEVBSEgsR0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxnQkFBZ0IsQ0FBTztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixnQkF3R29CLEdBeEdsQixPQUFPLEVBd0dMLGdCQUFnQixHQWdEcEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLGdCQUFnQixHZ0gyVWpCLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7TUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0VBbUdHLEFBQUEsZ0JBQWdCLENBQU87SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osZ0JBd0dvQixHQXhHbEIsT0FBTyxFQXdHTCxnQkFBZ0IsR0FnRHBCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxnQkFBZ0IsR2dIMlVqQixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILFNBQWdCO01BR3RCLFNBQVMsRUFISCxTQUFnQixHQUl2QjtFQW1HRyxBQUFBLGdCQUFnQixDQUFPO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLGdCQXdHb0IsR0F4R2xCLE9BQU8sRUF3R0wsZ0JBQWdCLEdBZ0RwQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsZ0JBQWdCLEdnSDJVakIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxTQUFnQjtNQUd0QixTQUFTLEVBSEgsU0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxnQkFBZ0IsQ0FBTztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixnQkF3R29CLEdBeEdsQixPQUFPLEVBd0dMLGdCQUFnQixHQWdEcEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLGdCQUFnQixHZ0gyVWpCLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsS0FBZ0I7TUFHdEIsU0FBUyxFQUhILEtBQWdCLEdBSXZCOztBekJ1REcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFnQyxNQUFwQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsUUFBUTtFeUJvRDNDLEFBQUEsa0JBQWtCLENBQUc7SUFDbkIsSUFBSSxFQTVKTCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0E2SlA7O0FBS0QsQUFDRSxJQURFLEFBQUEsbUJBQW1CLEdBQ25CLE9BQU8sRWdINlJsQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sbUJBQW1CLEdBQ25CLE9BQU8sRWtIcVJsQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssbUJBQW1CLEdBQ25CLE9BQU8sRUFEWCxJQUFJLEFBQUEsbUJBQW1CLEdBaUM3QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sbUJBQW1CLEdBaUM3QixRQUFRLEVrSHFQVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssbUJBQW1CLEdBaUM3QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhuVEUsSUFBSSxBQUFBLG1CQUFtQixHZ0g0VDFCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLG1CQUFtQixHZ0g0VDFCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssbUJBQW1CLEdnSDRUMUIsRUFBRSxDaEgzVGE7RUFDUixJQUFJLEVBOUpMLENBQUMsQ0FBQyxDQUFDLENBOEpxQixJQUFJLEdBSzVCO0V6QmxFTCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJeUIyRDNDLEFBQ0UsSUFERSxBQUFBLG1CQUFtQixHQUNuQixPQUFPLEVnSDZSbEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLG1CQUFtQixHQUNuQixPQUFPLEVrSHFSbEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLG1CQUFtQixHQUNuQixPQUFPLEVBRFgsSUFBSSxBQUFBLG1CQUFtQixHQWlDN0IsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLG1CQUFtQixHQWlDN0IsUUFBUSxFa0hxUFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLG1CQUFtQixHQWlDN0IsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIblRFLElBQUksQUFBQSxtQkFBbUIsR2dINFQxQixFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxtQkFBbUIsR2dINFQxQixFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLG1CQUFtQixHZ0g0VDFCLEVBQUUsQ2hIM1RhO01BSU4sSUFBSSxFQXZLVCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0F5S0w7O0F6QmxFTCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFeUJ3RS9DLEFBQ0Usb0JBRGtCLEdBQ2hCLE9BQU8sRUFEWCxvQkFBb0IsR0FvQnRCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSHRTRixvQkFBb0IsR2dIK1NuQixFQUFFLENoSDlTUztJSHROWixhQUFhLEU1QnVFTCxDQUFDO0k0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEcrQitJbUM7RUFHNUMsQUFDRSxzQkFEb0IsR0FDbEIsT0FBTyxFQURYLHNCQUFzQixHQWdCeEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFNGLHNCQUFzQixHZ0gyU3JCLEVBQUUsQ2hIMVNTO0lIMU5aLGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkIsR0c0TmdCOztBekI3RW5ELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0V5QjZCekMsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxRQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxRQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmhCVixFQUFvQixHTWdMM0I7RUFWRCxBQUFBLFNBQVMsQ0FBVztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZ0JBQWdCLENBQVc7SUo5Si9CLFdBQXNCLEVGYlYsUUFBeUMsR002S2hEO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxHQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsU0FBUyxDQUFXO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEO0VBS0QsQUFBQSxnQkFBZ0IsQ0FBVztJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFNBQVMsQ0FBVztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZ0JBQWdCLENBQVc7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxHQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsU0FBUyxDQUFXO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEO0VBS0QsQUFBQSxnQkFBZ0IsQ0FBVztJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFNBQVMsQ0FBVztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZ0JBQWdCLENBQVc7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxHQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsVUFBVSxDQUFVO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEO0VBS0QsQUFBQSxnQkFBZ0IsQ0FBVztJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFVBQVUsRTJHdXpCZixpQkFBaUIsQ0FDaEIsQ0FBQyxFQURGLGlCQUFpQixDQXp2QmhCLFVBQVUsRUF5dkJYLGlCQUFpQixDQWpkakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsRUE1RUgsUUFBUSxDQWdEUCxRQUFRLENBaWFULGlCQUFpQixDQXJZZixDQUFDLEVBcVlILGlCQUFpQixDQ3YvQmxCLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxFQ2xuQkosSUFBSSxDRHNsQkYsUUFBUSxDQWlhVCxpQkFBaUIsQ0FyWWYsQ0FBQyxFQXFZSCxpQkFBaUIsQ0MzNUJsQixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGZoQixRQUFRLENBaWFULGlCQUFpQixDQXJZZixDQUFDLEVBcVlILGlCQUFpQixDR3QrQmpCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxFR2ptQkgsVUFBVSxDSHFrQlQsUUFBUSxDQWlhVCxpQkFBaUIsQ0FyWWYsQ0FBQyxDM0dsYnNCO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEO0VBS0QsQUFBQSxpQkFBaUIsQ0FBVTtJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFVBQVUsQ0FBVTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0lNcUsvQyxTQUFTLEVOcktILElBQXlDLEdNc0toRDtFQUtELEFBQUEsaUJBQWlCLENBQVU7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBS0QsQUFBQSxZQUFZLENBQVc7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osWUF3R2dCLEdBeEdkLE9BQU8sRUF3R0wsWUFBWSxHQWdEaEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFlBQVksR2dIMlViLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsSUFBZ0I7TUFHdEIsU0FBUyxFQUhILElBQWdCLEdBSXZCO0VBbUdHLEFBQUEsWUFBWSxDQUFXO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFlBd0dnQixHQXhHZCxPQUFPLEVBd0dMLFlBQVksR0FnRGhCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxZQUFZLEdnSDJVYixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILEdBQWdCO01BR3RCLFNBQVMsRUFISCxHQUFnQixHQUl2QjtFQW1HRyxBQUFBLFlBQVksQ0FBVztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixZQXdHZ0IsR0F4R2QsT0FBTyxFQXdHTCxZQUFZLEdBZ0RoQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsWUFBWSxHZ0gyVWIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxTQUFnQjtNQUd0QixTQUFTLEVBSEgsU0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxZQUFZLENBQVc7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osWUF3R2dCLEdBeEdkLE9BQU8sRUF3R0wsWUFBWSxHQWdEaEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFlBQVksR2dIMlViLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7TUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0VBbUdHLEFBQUEsWUFBWSxDQUFXO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFlBd0dnQixHQXhHZCxPQUFPLEVBd0dMLFlBQVksR0FnRGhCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxZQUFZLEdnSDJVYixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILEdBQWdCO01BR3RCLFNBQVMsRUFISCxHQUFnQixHQUl2QjtFQW1HRyxBQUFBLFlBQVksQ0FBVztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixZQXdHZ0IsR0F4R2QsT0FBTyxFQXdHTCxZQUFZLEdBZ0RoQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsWUFBWSxHZ0gyVWIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxTQUFnQjtNQUd0QixTQUFTLEVBSEgsU0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxZQUFZLENBQVc7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osWUF3R2dCLEdBeEdkLE9BQU8sRUF3R0wsWUFBWSxHQWdEaEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFlBQVksR2dIMlViLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsU0FBZ0I7TUFHdEIsU0FBUyxFQUhILFNBQWdCLEdBSXZCO0VBbUdHLEFBQUEsWUFBWSxDQUFXO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFlBd0dnQixHQXhHZCxPQUFPLEVBd0dMLFlBQVksR0FnRGhCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxZQUFZLEdnSDJVYixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILEtBQWdCO01BR3RCLFNBQVMsRUFISCxLQUFnQixHQUl2Qjs7QXpCdURHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtFeUJvRHZDLEFBQUEsY0FBYyxDQUFPO0lBQ25CLElBQUksRUE1SkwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBNkpQOztBQUtELEFBQ0UsSUFERSxBQUFBLGVBQWUsR0FDZixPQUFPLEVnSDZSbEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLGVBQWUsR0FDZixPQUFPLEVrSHFSbEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGVBQWUsR0FDZixPQUFPLEVBRFgsSUFBSSxBQUFBLGVBQWUsR0FpQ3pCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxlQUFlLEdBaUN6QixRQUFRLEVrSHFQVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssZUFBZSxHQWlDekIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIblRFLElBQUksQUFBQSxlQUFlLEdnSDRUdEIsRUFBRSxFQTlCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sZUFBZSxHZ0g0VHRCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssZUFBZSxHZ0g0VHRCLEVBQUUsQ2hIM1RhO0VBQ1IsSUFBSSxFQTlKTCxDQUFDLENBQUMsQ0FBQyxDQThKcUIsSUFBSSxHQUs1QjtFekJsRUwsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlCMkR2QyxBQUNFLElBREUsQUFBQSxlQUFlLEdBQ2YsT0FBTyxFZ0g2UmxCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxlQUFlLEdBQ2YsT0FBTyxFa0hxUmxCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxlQUFlLEdBQ2YsT0FBTyxFQURYLElBQUksQUFBQSxlQUFlLEdBaUN6QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sZUFBZSxHQWlDekIsUUFBUSxFa0hxUFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGVBQWUsR0FpQ3pCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSG5URSxJQUFJLEFBQUEsZUFBZSxHZ0g0VHRCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLGVBQWUsR2dINFR0QixFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGVBQWUsR2dINFR0QixFQUFFLENoSDNUYTtNQUlOLElBQUksRUF2S1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBeUtMOztBekJsRUwsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXlCd0UzQyxBQUNFLGdCQURjLEdBQ1osT0FBTyxFQURYLGdCQUFnQixHQW9CbEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIdFNGLGdCQUFnQixHZ0grU2YsRUFBRSxDaEg5U1M7SUh0TlosYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0IrSW1DO0VBRzVDLEFBQ0Usa0JBRGdCLEdBQ2QsT0FBTyxFQURYLGtCQUFrQixHQWdCcEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFNGLGtCQUFrQixHZ0gyU2pCLEVBQUUsQ2hIMVNTO0lIMU5aLGFBQWEsRUFGSCxPQUEyQjtJQUdyQyxZQUFZLEVBSEYsT0FBMkIsR0c0TmdCOztBekI3RW5ELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0V5QjZCN0MsQUFBQSxjQUFjLENBQU07SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxRQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxRQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLHFCQUFxQixDQUFNO0lKOUovQixXQUFzQixFRmhCVixFQUFvQixHTWdMM0I7RUFWRCxBQUFBLGNBQWMsQ0FBTTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEscUJBQXFCLENBQU07SUo5Si9CLFdBQXNCLEVGYlYsUUFBeUMsR002S2hEO0VBVkQsQUFBQSxjQUFjLENBQU07SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxHQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLHFCQUFxQixDQUFNO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsY0FBYyxDQUFNO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEO0VBS0QsQUFBQSxxQkFBcUIsQ0FBTTtJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLGNBQWMsQ0FBTTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEscUJBQXFCLENBQU07SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxjQUFjLENBQU07SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxHQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLHFCQUFxQixDQUFNO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsY0FBYyxDQUFNO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEO0VBS0QsQUFBQSxxQkFBcUIsQ0FBTTtJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLGNBQWMsQ0FBTTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEscUJBQXFCLENBQU07SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxjQUFjLENBQU07SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxHQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLHFCQUFxQixDQUFNO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsZUFBZSxDQUFLO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsU0FBeUMsR01zS2hEO0VBS0QsQUFBQSxxQkFBcUIsQ0FBTTtJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLGVBQWUsQ0FBSztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsc0JBQXNCLENBQUs7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxlQUFlLENBQUs7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxJQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLHNCQUFzQixDQUFLO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQUtELEFBQUEsaUJBQWlCLENBQU07SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osaUJBd0dxQixHQXhHbkIsT0FBTyxFQXdHTCxpQkFBaUIsR0FnRHJCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxpQkFBaUIsR2dIMlVsQixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILElBQWdCO01BR3RCLFNBQVMsRUFISCxJQUFnQixHQUl2QjtFQW1HRyxBQUFBLGlCQUFpQixDQUFNO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLGlCQXdHcUIsR0F4R25CLE9BQU8sRUF3R0wsaUJBQWlCLEdBZ0RyQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsaUJBQWlCLEdnSDJVbEIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxHQUFnQjtNQUd0QixTQUFTLEVBSEgsR0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxpQkFBaUIsQ0FBTTtJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixpQkF3R3FCLEdBeEduQixPQUFPLEVBd0dMLGlCQUFpQixHQWdEckIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLGlCQUFpQixHZ0gyVWxCLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsU0FBZ0I7TUFHdEIsU0FBUyxFQUhILFNBQWdCLEdBSXZCO0VBbUdHLEFBQUEsaUJBQWlCLENBQU07SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osaUJBd0dxQixHQXhHbkIsT0FBTyxFQXdHTCxpQkFBaUIsR0FnRHJCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxpQkFBaUIsR2dIMlVsQixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILEdBQWdCO01BR3RCLFNBQVMsRUFISCxHQUFnQixHQUl2QjtFQW1HRyxBQUFBLGlCQUFpQixDQUFNO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLGlCQXdHcUIsR0F4R25CLE9BQU8sRUF3R0wsaUJBQWlCLEdBZ0RyQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsaUJBQWlCLEdnSDJVbEIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxHQUFnQjtNQUd0QixTQUFTLEVBSEgsR0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxpQkFBaUIsQ0FBTTtJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixpQkF3R3FCLEdBeEduQixPQUFPLEVBd0dMLGlCQUFpQixHQWdEckIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLGlCQUFpQixHZ0gyVWxCLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsU0FBZ0I7TUFHdEIsU0FBUyxFQUhILFNBQWdCLEdBSXZCO0VBbUdHLEFBQUEsaUJBQWlCLENBQU07SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osaUJBd0dxQixHQXhHbkIsT0FBTyxFQXdHTCxpQkFBaUIsR0FnRHJCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxpQkFBaUIsR2dIMlVsQixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILFNBQWdCO01BR3RCLFNBQVMsRUFISCxTQUFnQixHQUl2QjtFQW1HRyxBQUFBLGlCQUFpQixDQUFNO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLGlCQXdHcUIsR0F4R25CLE9BQU8sRUF3R0wsaUJBQWlCLEdBZ0RyQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsaUJBQWlCLEdnSDJVbEIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxLQUFnQjtNQUd0QixTQUFTLEVBSEgsS0FBZ0IsR0FJdkI7O0F6QnVERyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQWdDLE1BQXBCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxRQUFRO0V5Qm9EM0MsQUFBQSxtQkFBbUIsQ0FBRTtJQUNuQixJQUFJLEVBNUpMLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQTZKUDs7QUFLRCxBQUNFLElBREUsQUFBQSxvQkFBb0IsR0FDcEIsT0FBTyxFZ0g2UmxCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxvQkFBb0IsR0FDcEIsT0FBTyxFa0hxUmxCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxvQkFBb0IsR0FDcEIsT0FBTyxFQURYLElBQUksQUFBQSxvQkFBb0IsR0FpQzlCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxvQkFBb0IsR0FpQzlCLFFBQVEsRWtIcVBULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxvQkFBb0IsR0FpQzlCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSG5URSxJQUFJLEFBQUEsb0JBQW9CLEdnSDRUM0IsRUFBRSxFQTlCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sb0JBQW9CLEdnSDRUM0IsRUFBRSxFQTlCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxvQkFBb0IsR2dINFQzQixFQUFFLENoSDNUYTtFQUNSLElBQUksRUE5SkwsQ0FBQyxDQUFDLENBQUMsQ0E4SnFCLElBQUksR0FLNUI7RXpCbEVMLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0l5QjJEM0MsQUFDRSxJQURFLEFBQUEsb0JBQW9CLEdBQ3BCLE9BQU8sRWdINlJsQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sb0JBQW9CLEdBQ3BCLE9BQU8sRWtIcVJsQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssb0JBQW9CLEdBQ3BCLE9BQU8sRUFEWCxJQUFJLEFBQUEsb0JBQW9CLEdBaUM5QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sb0JBQW9CLEdBaUM5QixRQUFRLEVrSHFQVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssb0JBQW9CLEdBaUM5QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhuVEUsSUFBSSxBQUFBLG9CQUFvQixHZ0g0VDNCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLG9CQUFvQixHZ0g0VDNCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssb0JBQW9CLEdnSDRUM0IsRUFBRSxDaEgzVGE7TUFJTixJQUFJLEVBdktULENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQXlLTDs7QXpCbEVMLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0V5QndFL0MsQUFDRSxxQkFEbUIsR0FDakIsT0FBTyxFQURYLHFCQUFxQixHQW9CdkIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIdFNGLHFCQUFxQixHZ0grU3BCLEVBQUUsQ2hIOVNTO0lIdE5aLGFBQWEsRTVCdUVMLENBQUM7STRCdEVULFlBQVksRTVCc0VKLENBQUMsRytCK0ltQztFQUc1QyxBQUNFLHVCQURxQixHQUNuQixPQUFPLEVBRFgsdUJBQXVCLEdBZ0J6QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsU0YsdUJBQXVCLEdnSDJTdEIsRUFBRSxDaEgxU1M7SUgxTlosYUFBYSxFQUZILE9BQTJCO0lBR3JDLFlBQVksRUFIRixPQUEyQixHRzROZ0I7O0F6QjdFbkQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXlCNkJ6QyxBQUFBLFFBQVEsQ0FBWTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFFBQXlDO0lNcUsvQyxTQUFTLEVOcktILFFBQXlDLEdNc0toRDtFQUtELEFBQUEsZUFBZSxDQUFZO0lKOUovQixXQUFzQixFRmhCVixFQUFvQixHTWdMM0I7RUFWRCxBQUFBLFFBQVEsQ0FBWTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZUFBZSxDQUFZO0lKOUovQixXQUFzQixFRmJWLFFBQXlDLEdNNktoRDtFQVZELEFBQUEsUUFBUSxDQUFZO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxlQUFlLENBQVk7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxRQUFRLENBQVk7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGVBQWUsQ0FBWTtJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFFBQVEsQ0FBWTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZUFBZSxDQUFZO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsUUFBUSxDQUFZO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxlQUFlLENBQVk7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxRQUFRLENBQVk7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGVBQWUsQ0FBWTtJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFFBQVEsQ0FBWTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZUFBZSxDQUFZO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsUUFBUSxDQUFZO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxlQUFlLENBQVk7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGVBQWUsQ0FBWTtJSjlKL0IsV0FBc0IsRUZiVixHQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFNBQVMsQ0FBVztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZ0JBQWdCLENBQVc7SUo5Si9CLFdBQXNCLEVGYlYsU0FBeUMsR002S2hEO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxJQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQUtELEFBQUEsV0FBVyxDQUFZO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFdBd0dlLEdBeEdiLE9BQU8sRUF3R0wsV0FBVyxHQWdEZixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsV0FBVyxHZ0gyVVosRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxJQUFnQjtNQUd0QixTQUFTLEVBSEgsSUFBZ0IsR0FJdkI7RUFtR0csQUFBQSxXQUFXLENBQVk7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osV0F3R2UsR0F4R2IsT0FBTyxFQXdHTCxXQUFXLEdBZ0RmLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxXQUFXLEdnSDJVWixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILEdBQWdCO01BR3RCLFNBQVMsRUFISCxHQUFnQixHQUl2QjtFQW1HRyxBQUFBLFdBQVcsQ0FBWTtJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVBd0dMLFdBQVcsR0FnRGYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFdBQVcsR2dIMlVaLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsU0FBZ0I7TUFHdEIsU0FBUyxFQUhILFNBQWdCLEdBSXZCO0VBbUdHLEFBQUEsV0FBVyxDQUFZO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFdBd0dlLEdBeEdiLE9BQU8sRUF3R0wsV0FBVyxHQWdEZixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsV0FBVyxHZ0gyVVosRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxHQUFnQjtNQUd0QixTQUFTLEVBSEgsR0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxXQUFXLEVnSDZTaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFV1QjtJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVnSHFaViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxHaEgxYUYsT0FBTyxFQXdHTCxXQUFXLEdBZ0RmLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEdoSGxSSixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsV0FBVyxHZ0gyVVosRUFBRSxFQTlCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxHQVNELEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7TUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0VBbUdHLEFBQUEsV0FBVyxDQUFZO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFdBd0dlLEdBeEdiLE9BQU8sRUF3R0wsV0FBVyxHQWdEZixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsV0FBVyxHZ0gyVVosRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxTQUFnQjtNQUd0QixTQUFTLEVBSEgsU0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxXQUFXLENBQVk7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osV0F3R2UsR0F4R2IsT0FBTyxFQXdHTCxXQUFXLEdBZ0RmLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxXQUFXLEdnSDJVWixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILFNBQWdCO01BR3RCLFNBQVMsRUFISCxTQUFnQixHQUl2QjtFQW1HRyxBQUFBLFdBQVcsQ0FBWTtJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixXQXdHZSxHQXhHYixPQUFPLEVBd0dMLFdBQVcsR0FnRGYsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFdBQVcsR2dIMlVaLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsS0FBZ0I7TUFHdEIsU0FBUyxFQUhILEtBQWdCLEdBSXZCOztBekJ1REcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0V5Qm9EdkMsQUFBQSxhQUFhLENBQVE7SUFDbkIsSUFBSSxFQTVKTCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0E2SlA7O0FBS0QsQUFDRSxJQURFLEFBQUEsY0FBYyxHQUNkLE9BQU8sRWdINlJsQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sY0FBYyxHQUNkLE9BQU8sRWtIcVJsQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssY0FBYyxHQUNkLE9BQU8sRUFEWCxJQUFJLEFBQUEsY0FBYyxHQWlDeEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLGNBQWMsR0FpQ3hCLFFBQVEsRWtIcVBULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxjQUFjLEdBaUN4QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhuVEUsSUFBSSxBQUFBLGNBQWMsR2dINFRyQixFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxjQUFjLEdnSDRUckIsRUFBRSxFQTlCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxjQUFjLEdnSDRUckIsRUFBRSxDaEgzVGE7RUFDUixJQUFJLEVBOUpMLENBQUMsQ0FBQyxDQUFDLENBOEpxQixJQUFJLEdBSzVCO0V6QmxFTCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUIyRHZDLEFBQ0UsSUFERSxBQUFBLGNBQWMsR0FDZCxPQUFPLEVnSDZSbEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLGNBQWMsR0FDZCxPQUFPLEVrSHFSbEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGNBQWMsR0FDZCxPQUFPLEVBRFgsSUFBSSxBQUFBLGNBQWMsR0FpQ3hCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxjQUFjLEdBaUN4QixRQUFRLEVrSHFQVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssY0FBYyxHQWlDeEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIblRFLElBQUksQUFBQSxjQUFjLEdnSDRUckIsRUFBRSxFQTlCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sY0FBYyxHZ0g0VHJCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbEh4V0ssY0FBYyxHZ0g0VHJCLEVBQUUsQ2hIM1RhO01BSU4sSUFBSSxFQXZLVCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0F5S0w7O0F6QmxFTCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFeUJ3RTNDLEFBQ0UsZUFEYSxHQUNYLE9BQU8sRUFEWCxlQUFlLEdBb0JqQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEh0U0YsZUFBZSxHZ0grU2QsRUFBRSxDaEg5U1M7SUh0TlosYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0IrSW1DO0VBRzVDLEFBQ0UsaUJBRGUsR0FDYixPQUFPLEVBRFgsaUJBQWlCLEdBZ0JuQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsU0YsaUJBQWlCLEdnSDJTaEIsRUFBRSxDaEgxU1M7SUgxTlosYUFBYSxFQUZILE9BQTJCO0lBR3JDLFlBQVksRUFIRixPQUEyQixHRzROZ0I7O0F6QnhFbkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFeUJ3QmxDLEFBQUEsU0FBUyxDQUFXO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsUUFBeUM7SU1xSy9DLFNBQVMsRU5yS0gsUUFBeUMsR01zS2hEO0VBS0QsQUFBQSxnQkFBZ0IsQ0FBVztJSjlKL0IsV0FBc0IsRUZoQlYsRUFBb0IsR01nTDNCO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmJWLFFBQXlDLEdNNktoRDtFQVZELEFBQUEsU0FBUyxDQUFXO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxnQkFBZ0IsQ0FBVztJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFNBQVMsQ0FBVztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZ0JBQWdCLENBQVc7SUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsU0FBUyxDQUFXO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxnQkFBZ0IsQ0FBVztJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFNBQVMsQ0FBVztJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZ0JBQWdCLENBQVc7SUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEO0VBVkQsQUFBQSxTQUFTLENBQVc7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGdCQUFnQixDQUFXO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsU0FBUyxDQUFXO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU1xSy9DLFNBQVMsRU5yS0gsR0FBeUMsR01zS2hEO0VBS0QsQUFBQSxnQkFBZ0IsQ0FBVztJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFWRCxBQUFBLFVBQVUsQ0FBVTtJQUNsQixJQUFJLEVBL0hELENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNcUsvQyxTQUFTLEVOcktILFNBQXlDLEdNc0toRDtFQUtELEFBQUEsZ0JBQWdCLENBQVc7SUo5Si9CLFdBQXNCLEVGYlYsR0FBeUMsR002S2hEO0VBVkQsQUFBQSxVQUFVLENBQVU7SUFDbEIsSUFBSSxFQS9IRCxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTXFLL0MsU0FBUyxFTnJLSCxTQUF5QyxHTXNLaEQ7RUFLRCxBQUFBLGlCQUFpQixDQUFVO0lKOUovQixXQUFzQixFRmJWLFNBQXlDLEdNNktoRDtFQVZELEFBQUEsVUFBVSxDQUFVO0lBQ2xCLElBQUksRUEvSEQsQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU1xSy9DLFNBQVMsRU5yS0gsSUFBeUMsR01zS2hEO0VBS0QsQUFBQSxpQkFBaUIsQ0FBVTtJSjlKL0IsV0FBc0IsRUZiVixTQUF5QyxHTTZLaEQ7RUFLRCxBQUFBLFlBQVksQ0FBVztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixZQXdHZ0IsR0F4R2QsT0FBTyxFQXdHTCxZQUFZLEdBZ0RoQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsWUFBWSxHZ0gyVWIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxJQUFnQjtNQUd0QixTQUFTLEVBSEgsSUFBZ0IsR0FJdkI7RUFtR0csQUFBQSxZQUFZLENBQVc7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osWUF3R2dCLEdBeEdkLE9BQU8sRUF3R0wsWUFBWSxHQWdEaEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFlBQVksR2dIMlViLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7TUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0VBbUdHLEFBQUEsWUFBWSxDQUFXO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFlBd0dnQixHQXhHZCxPQUFPLEVBd0dMLFlBQVksR0FnRGhCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxZQUFZLEdnSDJVYixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILFNBQWdCO01BR3RCLFNBQVMsRUFISCxTQUFnQixHQUl2QjtFQW1HRyxBQUFBLFlBQVksQ0FBVztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixZQXdHZ0IsR0F4R2QsT0FBTyxFQXdHTCxZQUFZLEdBZ0RoQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsWUFBWSxHZ0gyVWIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxHQUFnQjtNQUd0QixTQUFTLEVBSEgsR0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxZQUFZLENBQVc7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osWUF3R2dCLEdBeEdkLE9BQU8sRUF3R0wsWUFBWSxHQWdEaEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFlBQVksR2dIMlViLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7TUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0VBbUdHLEFBQUEsWUFBWSxDQUFXO0lBMUczQixTQUFTLEVBQUUsSUFBSSxHQTRHVjtJQUZELEFBeEdKLFlBd0dnQixHQXhHZCxPQUFPLEVBd0dMLFlBQVksR0FnRGhCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSGxVQSxZQUFZLEdnSDJVYixFQUFFLENoSG5iVTtNQUdiLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUZILFNBQWdCO01BR3RCLFNBQVMsRUFISCxTQUFnQixHQUl2QjtFQW1HRyxBQUFBLFlBQVksQ0FBVztJQTFHM0IsU0FBUyxFQUFFLElBQUksR0E0R1Y7SUFGRCxBQXhHSixZQXdHZ0IsR0F4R2QsT0FBTyxFQXdHTCxZQUFZLEdBZ0RoQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsVUEsWUFBWSxHZ0gyVWIsRUFBRSxDaEhuYlU7TUFHYixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FGSCxTQUFnQjtNQUd0QixTQUFTLEVBSEgsU0FBZ0IsR0FJdkI7RUFtR0csQUFBQSxZQUFZLENBQVc7SUExRzNCLFNBQVMsRUFBRSxJQUFJLEdBNEdWO0lBRkQsQUF4R0osWUF3R2dCLEdBeEdkLE9BQU8sRUF3R0wsWUFBWSxHQWdEaEIsUUFBUSxFZ0g2UFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ2hIbFVBLFlBQVksR2dIMlViLEVBQUUsQ2hIbmJVO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsS0FBZ0I7TUFHdEIsU0FBUyxFQUhILEtBQWdCLEdBSXZCOztBekI0REcsTUFBTSxDQUFDLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7RXlCK0NoQyxBQUFBLGNBQWMsQ0FBTztJQUNuQixJQUFJLEVBNUpMLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQTZKUDs7QUFLRCxBQUNFLElBREUsQUFBQSxlQUFlLEdBQ2YsT0FBTyxFZ0g2UmxCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxlQUFlLEdBQ2YsT0FBTyxFa0hxUmxCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxlQUFlLEdBQ2YsT0FBTyxFQURYLElBQUksQUFBQSxlQUFlLEdBaUN6QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sZUFBZSxHQWlDekIsUUFBUSxFa0hxUFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGVBQWUsR0FpQ3pCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSG5URSxJQUFJLEFBQUEsZUFBZSxHZ0g0VHRCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLGVBQWUsR2dINFR0QixFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGVBQWUsR2dINFR0QixFQUFFLENoSDNUYTtFQUNSLElBQUksRUE5SkwsQ0FBQyxDQUFDLENBQUMsQ0E4SnFCLElBQUksR0FLNUI7RXpCN0RMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlCc0RoQyxBQUNFLElBREUsQUFBQSxlQUFlLEdBQ2YsT0FBTyxFZ0g2UmxCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFoSG5UTSxlQUFlLEdBQ2YsT0FBTyxFa0hxUmxCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFsSHhXSyxlQUFlLEdBQ2YsT0FBTyxFQURYLElBQUksQUFBQSxlQUFlLEdBaUN6QixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBaEhuVE0sZUFBZSxHQWlDekIsUUFBUSxFa0hxUFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGVBQWUsR0FpQ3pCLFFBQVEsRWdINlBULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENoSG5URSxJQUFJLEFBQUEsZUFBZSxHZ0g0VHRCLEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQWhIblRNLGVBQWUsR2dINFR0QixFQUFFLEVBOUJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQWxIeFdLLGVBQWUsR2dINFR0QixFQUFFLENoSDNUYTtNQUlOLElBQUksRUF2S1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBeUtMOztBekI3REwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFeUJtRXBDLEFBQ0UsZ0JBRGMsR0FDWixPQUFPLEVBRFgsZ0JBQWdCLEdBb0JsQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEh0U0YsZ0JBQWdCLEdnSCtTZixFQUFFLENoSDlTUztJSHROWixhQUFhLEU1QnVFTCxDQUFDO0k0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEcrQitJbUM7RUFHNUMsQUFDRSxrQkFEZ0IsR0FDZCxPQUFPLEVBRFgsa0JBQWtCLEdBZ0JwQixRQUFRLEVnSDZQVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDaEhsU0Ysa0JBQWtCLEdnSDJTakIsRUFBRSxDaEgxU1M7SUgxTlosYUFBYSxFQUZILE9BQTJCO0lBR3JDLFlBQVksRUFIRixPQUEyQixHRzROZ0I7O0FBS3ZELEFBQUEsT0FBTyxFa0g5T1Isb0JBQW9CLENBS25CLE9BQU8sQ2xIeU9DO0VBQ04sSUFBSSxFQXZMRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7RUF3TGYsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBR0QsQUFBQSxhQUFhLENBQUM7RUhoTFosYUFBYSxFNUJhTCxRQUE2QyxHK0JxS3REO0VBRkQsQUg5S0UsYUc4S1csR0g5S1QsV0FBVyxDQUFDO0lBQ1osYUFBYSxFQUFFLENBQUMsR0FDakI7RXRCb0ZDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5QndGN0MsQUFBQSxhQUFhLENBQUM7TUhoTFosYUFBYSxFNUJhTCxNQUE2QyxHK0JxS3REO01BRkQsQUg5S0UsYUc4S1csR0g5S1QsV0FBVyxDQUFDO1FBQ1osYUFBYSxFQUFFLENBQUMsR0FDakI7O0FnQzBMSCxBQUFBLE9BQU8sQ0FBQztFQWhMUixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixNQUFNLEUvRHNPUSxDQUFDLENBQUMsQ0FBQyxDQTNNSCxJQUFJLENBMk1lLENBQUM7RStEck9sQyxXQUFXLEVBbEZRLE9BQU87RUE0RnhCLE9BQU8sRS9EME5NLEdBQUcsQ0FBQyxLQUFLO0UrRHZOeEIsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixNQUFNLEVBQUUscUJBQXFCO0VBQzdCLGFBQWEsRS9EZUMsR0FBRztFK0RkakIsVUFBVSxFL0R1T1EsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVE7RStEdE92RSxTQUFTLEUvRCtOQSxNQUFNO0UrRDlOZixXQUFXLEVBQUUsQ0FBQztFQUNkLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxPQUFPO0VBcUNmLGdCQUFnQixFL0RqR1AsT0FBTztFK0RrR2hCLEtBQUssRS9EdkZDLE9BQU8sRytEcVZaO0dyRDNNRCxBQUFBLEFBQUEsY0FBQyxDQUFlLE9BQU8sQUFBdEIsRXFEZ0VELE9BQU8sQ3JEaEVvQjtJQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYO0VxRDhERCxBQWpIQSxPQWlITyxBQWpITixNQUFNLEVBaUhQLE9BQU8sQUFqSEcsTUFBTSxDQUFDO0lBQ2YsZ0JBQWdCLEVBM0hNLE9BQWlEO0lBNEh2RSxLQUFLLEUvRDNGRCxPQUFPLEcrRDRGWjtFQThHRCxBQUtJLE9BTEcsQUFLRixLQUFLLENBQUs7SUFDVCxTQUFTLEUvRDJEVCxNQUFNLEcrRDFEUDtFQVBMLEFBS0ksT0FMRyxBQUtGLE1BQU0sQ0FBSTtJQUNULFNBQVMsRS9ENERSLE9BQU8sRytEM0RUO0VBUEwsQUFLSSxPQUxHLEFBS0YsTUFBTSxDQUFJO0lBQ1QsU0FBUyxFL0Q4RFIsT0FBTyxHK0Q3RFQ7RUFQTCxBQVVFLE9BVkssQUFVSixTQUFTLENBQUM7SUE1SlgsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQVksRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLENBQUMsR0F5SnlCO0VBVnpDLEFBc0NNLE9BdENDLEFBc0NBLFFBQVEsQ0FBRTtJQTFKakIsZ0JBQWdCLEUvRGxGRCxPQUFPO0krRG1GdEIsS0FBSyxFL0R2RkMsT0FBTyxHK0RrUE47SUF4Q1AsQUFqSEEsT0FpSE8sQUFzQ0EsUUFBUSxBQXZKZCxNQUFNLEVBaUhQLE9BQU8sQUFzQ0EsUUFBUSxBQXZKTCxNQUFNLENBQUM7TUFDZixnQkFBZ0IsRUFQRyxPQUFpRTtNQVFwRixLQUFLLEUvRDNGRCxPQUFPLEcrRDRGWjtFQThHRCxBQXNDTSxPQXRDQyxBQXNDQSxVQUFVLENBQUE7SUExSmpCLGdCQUFnQixFL0R0RUYsT0FBTztJK0R1RXJCLEtBQUssRS9EdkZDLE9BQU8sRytEa1BOO0lBeENQLEFBakhBLE9BaUhPLEFBc0NBLFVBQVUsQUF2SmhCLE1BQU0sRUFpSFAsT0FBTyxBQXNDQSxVQUFVLEFBdkpQLE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VBOEdELEFBc0NNLE9BdENDLEFBc0NBLE1BQU0sQ0FBSTtJQTFKakIsZ0JBQWdCLEUvRHRGVixPQUFPO0krRHVGYixLQUFLLEUvRHZGQyxPQUFPLEcrRGtQTjtJQXhDUCxBQWpIQSxPQWlITyxBQXNDQSxNQUFNLEFBdkpaLE1BQU0sRUFpSFAsT0FBTyxBQXNDQSxNQUFNLEFBdkpILE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VBOEdELEFBc0NNLE9BdENDLEFBc0NBLFVBQVUsQ0FBQTtJQTFKakIsZ0JBQWdCLEUvRDVFRixPQUFPO0krRDZFckIsS0FBSyxFL0R2RkMsT0FBTyxHK0RrUE47SUF4Q1AsQUFqSEEsT0FpSE8sQUFzQ0EsVUFBVSxBQXZKaEIsTUFBTSxFQWlIUCxPQUFPLEFBc0NBLFVBQVUsQUF2SlAsTUFBTSxDQUFDO01BQ2YsZ0JBQWdCLEVBUEcsT0FBaUU7TUFRcEYsS0FBSyxFL0QzRkQsT0FBTyxHK0Q0Rlo7RUE4R0QsQUFzQ00sT0F0Q0MsQUFzQ0EsY0FBYyxDQUFKO0lBMUpqQixnQkFBZ0IsRS9EakZBLE9BQU87SStEa0Z2QixLQUFLLEUvRHZGQyxPQUFPLEcrRGtQTjtJQXhDUCxBQWpIQSxPQWlITyxBQXNDQSxjQUFjLEFBdkpwQixNQUFNLEVBaUhQLE9BQU8sQUFzQ0EsY0FBYyxBQXZKWCxNQUFNLENBQUM7TUFDZixnQkFBZ0IsRUFQRyxPQUFpRTtNQVFwRixLQUFLLEUvRDNGRCxPQUFPLEcrRDRGWjtFQThHRCxBQXNDTSxPQXRDQyxBQXNDQSxlQUFlLENBQUw7SUExSmpCLGdCQUFnQixFL0RuRUMsT0FBTztJK0RvRXhCLEtBQUssRS9EdkZDLE9BQU8sRytEa1BOO0lBeENQLEFBakhBLE9BaUhPLEFBc0NBLGVBQWUsQUF2SnJCLE1BQU0sRUFpSFAsT0FBTyxBQXNDQSxlQUFlLEFBdkpaLE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VBOEdELEFBc0NNLE9BdENDLEFBc0NBLFFBQVEsQ0FBRTtJQTFKakIsZ0JBQWdCLEUvRDNDTCxPQUF3QjtJK0Q0Q25DLEtBQUssRS9EdkZDLE9BQU8sRytEa1BOO0lBeENQLEFBakhBLE9BaUhPLEFBc0NBLFFBQVEsQUF2SmQsTUFBTSxFQWlIUCxPQUFPLEFBc0NBLFFBQVEsQUF2SkwsTUFBTSxDQUFDO01BQ2YsZ0JBQWdCLEVBUEcsT0FBaUU7TUFRcEYsS0FBSyxFL0QzRkQsT0FBTyxHK0Q0Rlo7RUE4R0QsQUFzQ00sT0F0Q0MsQUFzQ0EsUUFBUSxDQUFFO0lBMUpqQixnQkFBZ0IsRS9EMUNMLE9BQU87SStEMkNsQixLQUFLLEUvRHZGQyxPQUFPLEcrRGtQTjtJQXhDUCxBQWpIQSxPQWlITyxBQXNDQSxRQUFRLEFBdkpkLE1BQU0sRUFpSFAsT0FBTyxBQXNDQSxRQUFRLEFBdkpMLE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VBOEdELEFBc0NNLE9BdENDLEFBc0NBLFFBQVEsQ0FBRTtJQTFKakIsZ0JBQWdCLEUvRHpDTCxPQUFPO0krRDBDbEIsS0FBSyxFL0R2RkMsT0FBTyxHK0RrUE47SUF4Q1AsQUFqSEEsT0FpSE8sQUFzQ0EsUUFBUSxBQXZKZCxNQUFNLEVBaUhQLE9BQU8sQUFzQ0EsUUFBUSxBQXZKTCxNQUFNLENBQUM7TUFDZixnQkFBZ0IsRUFQRyxPQUFpRTtNQVFwRixLQUFLLEUvRDNGRCxPQUFPLEcrRDRGWjtFQThHRCxBQXNDTSxPQXRDQyxBQXNDQSxNQUFNLENBQUk7SUExSmpCLGdCQUFnQixFL0R4Q1AsT0FBTztJK0R5Q2hCLEtBQUssRS9EdkZDLE9BQU8sRytEa1BOO0lBeENQLEFBakhBLE9BaUhPLEFBc0NBLE1BQU0sQUF2SlosTUFBTSxFQWlIUCxPQUFPLEFBc0NBLE1BQU0sQUF2SkgsTUFBTSxDQUFDO01BQ2YsZ0JBQWdCLEVBUEcsT0FBaUU7TUFRcEYsS0FBSyxFL0QzRkQsT0FBTyxHK0Q0Rlo7RUE4R0QsQUFzREUsT0F0REssQUFzREosU0FBUyxFQXREWixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLEVBQVU7SUFqSGQsT0FBTyxFL0RpSWlCLElBQUk7SStEaEk1QixNQUFNLEVBQUUsV0FBVyxHQXdIaEI7SUEvREgsQUF2REEsT0F1RE8sQUFzREosU0FBUyxFQXREWixPQUFPLEFBc0RKLFNBQVMsQUE3R1IsTUFBTSxFQXVEVixPQUFPLEFBc0RKLFNBQVMsQUE3R0MsTUFBTSxFQXVEbkIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxHQXZESixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBOUdBLE1BQU0sRUF1RFYsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQTlHUyxNQUFNLENBQUM7TUFDbEIsZ0JBQWdCLEUvRC9KVCxPQUFPO00rRGdLZCxLQUFLLEUvRHJKRCxPQUFPLEcrRHNKWjtJQW9ERCxBQTJETSxPQTNEQyxBQXNESixTQUFTLEFBS0wsUUFBUSxFQTNEZixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsUUFBUSxDQUFFO01BckhqQixPQUFPLEUvRGlJaUIsSUFBSTtNK0RoSTVCLE1BQU0sRUFBRSxXQUFXLEdBc0haO01BN0RQLEFBdkRBLE9BdURPLEFBc0RKLFNBQVMsQUFLTCxRQUFRLEVBM0RmLE9BQU8sQUFzREosU0FBUyxBQUtMLFFBQVEsQUFsSFgsTUFBTSxFQXVEVixPQUFPLEFBc0RKLFNBQVMsQUFLTCxRQUFRLEFBbEhGLE1BQU0sRUF1RG5CLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxRQUFRLEVBM0RmLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxRQUFRLEFBbEhYLE1BQU0sRUF1RFYsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLFFBQVEsQUFsSEYsTUFBTSxDQUFDO1FBQ2xCLGdCQUFnQixFL0RoSkgsT0FBTztRK0RpSnBCLEtBQUssRS9EckpELE9BQU8sRytEc0paO0lBb0RELEFBMkRNLE9BM0RDLEFBc0RKLFNBQVMsQUFLTCxVQUFVLEVBM0RqQixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsVUFBVSxDQUFBO01BckhqQixPQUFPLEUvRGlJaUIsSUFBSTtNK0RoSTVCLE1BQU0sRUFBRSxXQUFXLEdBc0haO01BN0RQLEFBdkRBLE9BdURPLEFBc0RKLFNBQVMsQUFLTCxVQUFVLEVBM0RqQixPQUFPLEFBc0RKLFNBQVMsQUFLTCxVQUFVLEFBbEhiLE1BQU0sRUF1RFYsT0FBTyxBQXNESixTQUFTLEFBS0wsVUFBVSxBQWxISixNQUFNLEVBdURuQixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsVUFBVSxFQTNEakIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLFVBQVUsQUFsSGIsTUFBTSxFQXVEVixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsVUFBVSxBQWxISixNQUFNLENBQUM7UUFDbEIsZ0JBQWdCLEUvRHBJSixPQUFPO1ErRHFJbkIsS0FBSyxFL0RySkQsT0FBTyxHK0RzSlo7SUFvREQsQUEyRE0sT0EzREMsQUFzREosU0FBUyxBQUtMLE1BQU0sRUEzRGIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLE1BQU0sQ0FBSTtNQXJIakIsT0FBTyxFL0RpSWlCLElBQUk7TStEaEk1QixNQUFNLEVBQUUsV0FBVyxHQXNIWjtNQTdEUCxBQXZEQSxPQXVETyxBQXNESixTQUFTLEFBS0wsTUFBTSxFQTNEYixPQUFPLEFBc0RKLFNBQVMsQUFLTCxNQUFNLEFBbEhULE1BQU0sRUF1RFYsT0FBTyxBQXNESixTQUFTLEFBS0wsTUFBTSxBQWxIQSxNQUFNLEVBdURuQixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsTUFBTSxFQTNEYixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsTUFBTSxBQWxIVCxNQUFNLEVBdURWLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxNQUFNLEFBbEhBLE1BQU0sQ0FBQztRQUNsQixnQkFBZ0IsRS9EcEpaLE9BQU87UStEcUpYLEtBQUssRS9EckpELE9BQU8sRytEc0paO0lBb0RELEFBMkRNLE9BM0RDLEFBc0RKLFNBQVMsQUFLTCxVQUFVLEVBM0RqQixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsVUFBVSxDQUFBO01BckhqQixPQUFPLEUvRGlJaUIsSUFBSTtNK0RoSTVCLE1BQU0sRUFBRSxXQUFXLEdBc0haO01BN0RQLEFBdkRBLE9BdURPLEFBc0RKLFNBQVMsQUFLTCxVQUFVLEVBM0RqQixPQUFPLEFBc0RKLFNBQVMsQUFLTCxVQUFVLEFBbEhiLE1BQU0sRUF1RFYsT0FBTyxBQXNESixTQUFTLEFBS0wsVUFBVSxBQWxISixNQUFNLEVBdURuQixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsVUFBVSxFQTNEakIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLFVBQVUsQUFsSGIsTUFBTSxFQXVEVixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsVUFBVSxBQWxISixNQUFNLENBQUM7UUFDbEIsZ0JBQWdCLEUvRDFJSixPQUFPO1ErRDJJbkIsS0FBSyxFL0RySkQsT0FBTyxHK0RzSlo7SUFvREQsQUEyRE0sT0EzREMsQUFzREosU0FBUyxBQUtMLGNBQWMsRUEzRHJCLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxjQUFjLENBQUo7TUFySGpCLE9BQU8sRS9EaUlpQixJQUFJO00rRGhJNUIsTUFBTSxFQUFFLFdBQVcsR0FzSFo7TUE3RFAsQUF2REEsT0F1RE8sQUFzREosU0FBUyxBQUtMLGNBQWMsRUEzRHJCLE9BQU8sQUFzREosU0FBUyxBQUtMLGNBQWMsQUFsSGpCLE1BQU0sRUF1RFYsT0FBTyxBQXNESixTQUFTLEFBS0wsY0FBYyxBQWxIUixNQUFNLEVBdURuQixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsY0FBYyxFQTNEckIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLGNBQWMsQUFsSGpCLE1BQU0sRUF1RFYsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLGNBQWMsQUFsSFIsTUFBTSxDQUFDO1FBQ2xCLGdCQUFnQixFL0QvSUYsT0FBTztRK0RnSnJCLEtBQUssRS9EckpELE9BQU8sRytEc0paO0lBb0RELEFBMkRNLE9BM0RDLEFBc0RKLFNBQVMsQUFLTCxlQUFlLEVBM0R0QixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsZUFBZSxDQUFMO01BckhqQixPQUFPLEUvRGlJaUIsSUFBSTtNK0RoSTVCLE1BQU0sRUFBRSxXQUFXLEdBc0haO01BN0RQLEFBdkRBLE9BdURPLEFBc0RKLFNBQVMsQUFLTCxlQUFlLEVBM0R0QixPQUFPLEFBc0RKLFNBQVMsQUFLTCxlQUFlLEFBbEhsQixNQUFNLEVBdURWLE9BQU8sQUFzREosU0FBUyxBQUtMLGVBQWUsQUFsSFQsTUFBTSxFQXVEbkIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLGVBQWUsRUEzRHRCLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxlQUFlLEFBbEhsQixNQUFNLEVBdURWLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxlQUFlLEFBbEhULE1BQU0sQ0FBQztRQUNsQixnQkFBZ0IsRS9EaklELE9BQU87UStEa0l0QixLQUFLLEUvRHJKRCxPQUFPLEcrRHNKWjtJQW9ERCxBQTJETSxPQTNEQyxBQXNESixTQUFTLEFBS0wsUUFBUSxFQTNEZixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsUUFBUSxDQUFFO01BckhqQixPQUFPLEUvRGlJaUIsSUFBSTtNK0RoSTVCLE1BQU0sRUFBRSxXQUFXLEdBc0haO01BN0RQLEFBdkRBLE9BdURPLEFBc0RKLFNBQVMsQUFLTCxRQUFRLEVBM0RmLE9BQU8sQUFzREosU0FBUyxBQUtMLFFBQVEsQUFsSFgsTUFBTSxFQXVEVixPQUFPLEFBc0RKLFNBQVMsQUFLTCxRQUFRLEFBbEhGLE1BQU0sRUF1RG5CLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxRQUFRLEVBM0RmLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxRQUFRLEFBbEhYLE1BQU0sRUF1RFYsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLFFBQVEsQUFsSEYsTUFBTSxDQUFDO1FBQ2xCLGdCQUFnQixFL0R6R1AsT0FBd0I7UStEMEdqQyxLQUFLLEUvRHJKRCxPQUFPLEcrRHNKWjtJQW9ERCxBQTJETSxPQTNEQyxBQXNESixTQUFTLEFBS0wsUUFBUSxFQTNEZixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsUUFBUSxDQUFFO01BckhqQixPQUFPLEUvRGlJaUIsSUFBSTtNK0RoSTVCLE1BQU0sRUFBRSxXQUFXLEdBc0haO01BN0RQLEFBdkRBLE9BdURPLEFBc0RKLFNBQVMsQUFLTCxRQUFRLEVBM0RmLE9BQU8sQUFzREosU0FBUyxBQUtMLFFBQVEsQUFsSFgsTUFBTSxFQXVEVixPQUFPLEFBc0RKLFNBQVMsQUFLTCxRQUFRLEFBbEhGLE1BQU0sRUF1RG5CLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxRQUFRLEVBM0RmLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxRQUFRLEFBbEhYLE1BQU0sRUF1RFYsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLFFBQVEsQUFsSEYsTUFBTSxDQUFDO1FBQ2xCLGdCQUFnQixFL0R4R1AsT0FBTztRK0R5R2hCLEtBQUssRS9EckpELE9BQU8sRytEc0paO0lBb0RELEFBMkRNLE9BM0RDLEFBc0RKLFNBQVMsQUFLTCxRQUFRLEVBM0RmLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxRQUFRLENBQUU7TUFySGpCLE9BQU8sRS9EaUlpQixJQUFJO00rRGhJNUIsTUFBTSxFQUFFLFdBQVcsR0FzSFo7TUE3RFAsQUF2REEsT0F1RE8sQUFzREosU0FBUyxBQUtMLFFBQVEsRUEzRGYsT0FBTyxBQXNESixTQUFTLEFBS0wsUUFBUSxBQWxIWCxNQUFNLEVBdURWLE9BQU8sQUFzREosU0FBUyxBQUtMLFFBQVEsQUFsSEYsTUFBTSxFQXVEbkIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLFFBQVEsRUEzRGYsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLFFBQVEsQUFsSFgsTUFBTSxFQXVEVixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsUUFBUSxBQWxIRixNQUFNLENBQUM7UUFDbEIsZ0JBQWdCLEUvRHZHUCxPQUFPO1ErRHdHaEIsS0FBSyxFL0RySkQsT0FBTyxHK0RzSlo7SUFvREQsQUEyRE0sT0EzREMsQUFzREosU0FBUyxBQUtMLE1BQU0sRUEzRGIsT0FBTyxDQXVESixBQUFBLFFBQUMsQUFBQSxDQUlHLE1BQU0sQ0FBSTtNQXJIakIsT0FBTyxFL0RpSWlCLElBQUk7TStEaEk1QixNQUFNLEVBQUUsV0FBVyxHQXNIWjtNQTdEUCxBQXZEQSxPQXVETyxBQXNESixTQUFTLEFBS0wsTUFBTSxFQTNEYixPQUFPLEFBc0RKLFNBQVMsQUFLTCxNQUFNLEFBbEhULE1BQU0sRUF1RFYsT0FBTyxBQXNESixTQUFTLEFBS0wsTUFBTSxBQWxIQSxNQUFNLEVBdURuQixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsTUFBTSxFQTNEYixPQUFPLENBdURKLEFBQUEsUUFBQyxBQUFBLENBSUcsTUFBTSxBQWxIVCxNQUFNLEVBdURWLE9BQU8sQ0F1REosQUFBQSxRQUFDLEFBQUEsQ0FJRyxNQUFNLEFBbEhBLE1BQU0sQ0FBQztRQUNsQixnQkFBZ0IsRS9EdEdULE9BQU87UStEdUdkLEtBQUssRS9EckpELE9BQU8sRytEc0paO0VBb0RELEFBbUVJLE9BbkVHLEFBbUVGLE9BQU8sQ0FBQztJQXRKYixNQUFNLEVBeElxQixHQUFHLENBd0lSLEtBQUssQy9EbElsQixPQUFPO0krRG1JaEIsS0FBSyxFL0RuSUksT0FBTyxHK0RpU1g7SUE1RUwsQUF6R0EsT0F5R08sQUFtRUYsT0FBTyxFQW5FWixPQUFPLEFBbUVGLE9BQU8sQUEzS1gsTUFBTSxFQXdHUCxPQUFPLEFBbUVGLE9BQU8sQUExS1gsTUFBTSxDQUFDO01BQ04sZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtJQXFHRCxBQWpHRSxPQWlHSyxBQW1FRixPQUFPLEFBdEtYLFNBQVMsRUFtR1YsT0FBTyxBQW1FRixPQUFPLEFBdEtYLFNBQVMsQUFHUCxNQUFNLEVBZ0dULE9BQU8sQUFtRUYsT0FBTyxBQXRLWCxTQUFTLEFBR0UsTUFBTSxFQWdHbEIsT0FBTyxBQW1FRixPQUFPLENBcktYLEFBQUEsUUFBQyxBQUFBLEdBa0dGLE9BQU8sQUFtRUYsT0FBTyxDQXJLWCxBQUFBLFFBQUMsQUFBQSxDQUVDLE1BQU0sRUFnR1QsT0FBTyxBQW1FRixPQUFPLENBcktYLEFBQUEsUUFBQyxBQUFBLENBRVUsTUFBTSxDQUFDO01BQ2YsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtJQThGSCxBQWhGQSxPQWdGTyxBQW1FRixPQUFPLEFBbkpYLE1BQU0sRUFnRlAsT0FBTyxBQW1FRixPQUFPLEFBbkpGLE1BQU0sQ0FBQztNQUNmLFlBQVksRUFOQSxPQUFpRDtNQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7TUF3RUQsQUE3RUUsT0E2RUssQUFtRUYsT0FBTyxBQW5KWCxNQUFNLEFBR0osU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFuSlgsTUFBTSxDQUlKLEFBQUEsUUFBQyxBQUFBLEdBNEVKLE9BQU8sQUFtRUYsT0FBTyxBQW5KRixNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFuSkYsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7UUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EMUl0QixPQUFPO1ErRDJJWixLQUFLLEUvRDNJQSxPQUFPLEcrRDRJYjtJQXlFSCxBQXdFUSxPQXhFRCxBQW1FRixPQUFPLEFBS0gsUUFBUSxDQUFFO01BM0puQixNQUFNLEVBeElxQixHQUFHLENBd0lSLEtBQUssQy9EbkhaLE9BQU87TStEb0h0QixLQUFLLEUvRHBIVSxPQUFPLEcrRGdSYjtNQTFFVCxBQWhGQSxPQWdGTyxBQW1FRixPQUFPLEFBS0gsUUFBUSxBQXhKaEIsTUFBTSxFQWdGUCxPQUFPLEFBbUVGLE9BQU8sQUFLSCxRQUFRLEFBeEpQLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SmhCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SmhCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBbUVGLE9BQU8sQUFLSCxRQUFRLEFBeEpQLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SlAsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EM0hoQixPQUFPO1UrRDRIbEIsS0FBSyxFL0Q1SE0sT0FBTyxHK0Q2SG5CO0lBeUVILEFBd0VRLE9BeEVELEFBbUVGLE9BQU8sQUFLSCxVQUFVLENBQUE7TUEzSm5CLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0R2R2IsT0FBTztNK0R3R3JCLEtBQUssRS9EeEdTLE9BQU8sRytEb1FaO01BMUVULEFBaEZBLE9BZ0ZPLEFBbUVGLE9BQU8sQUFLSCxVQUFVLEFBeEpsQixNQUFNLEVBZ0ZQLE9BQU8sQUFtRUYsT0FBTyxBQUtILFVBQVUsQUF4SlQsTUFBTSxDQUFDO1FBQ2YsWUFBWSxFQU5BLE9BQWlEO1FBTzdELEtBQUssRUFQTyxPQUFpRCxHQWE5RDtRQXdFRCxBQTdFRSxPQTZFSyxBQW1FRixPQUFPLEFBS0gsVUFBVSxBQXhKbEIsTUFBTSxBQUdKLFNBQVMsRUE2RVosT0FBTyxBQW1FRixPQUFPLEFBS0gsVUFBVSxBQXhKbEIsTUFBTSxDQUlKLEFBQUEsUUFBQyxBQUFBLEdBNEVKLE9BQU8sQUFtRUYsT0FBTyxBQUtILFVBQVUsQUF4SlQsTUFBTSxBQUdiLFNBQVMsRUE2RVosT0FBTyxBQW1FRixPQUFPLEFBS0gsVUFBVSxBQXhKVCxNQUFNLENBSWIsQUFBQSxRQUFDLEFBQUEsRUFBVTtVQUNWLE1BQU0sRUFoSmlCLEdBQUcsQ0FnSkosS0FBSyxDL0QvR2pCLE9BQU87VStEZ0hqQixLQUFLLEUvRGhISyxPQUFPLEcrRGlIbEI7SUF5RUgsQUF3RVEsT0F4RUQsQUFtRUYsT0FBTyxBQUtILE1BQU0sQ0FBSTtNQTNKbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRHZIckIsT0FBTztNK0R3SGIsS0FBSyxFL0R4SEMsT0FBTyxHK0RvUko7TUExRVQsQUFoRkEsT0FnRk8sQUFtRUYsT0FBTyxBQUtILE1BQU0sQUF4SmQsTUFBTSxFQWdGUCxPQUFPLEFBbUVGLE9BQU8sQUFLSCxNQUFNLEFBeEpMLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFtRUYsT0FBTyxBQUtILE1BQU0sQUF4SmQsTUFBTSxBQUdKLFNBQVMsRUE2RVosT0FBTyxBQW1FRixPQUFPLEFBS0gsTUFBTSxBQXhKZCxNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQW1FRixPQUFPLEFBS0gsTUFBTSxBQXhKTCxNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFLSCxNQUFNLEFBeEpMLE1BQU0sQ0FJYixBQUFBLFFBQUMsQUFBQSxFQUFVO1VBQ1YsTUFBTSxFQWhKaUIsR0FBRyxDQWdKSixLQUFLLEMvRC9IekIsT0FBTztVK0RnSVQsS0FBSyxFL0RoSUgsT0FBTyxHK0RpSVY7SUF5RUgsQUF3RVEsT0F4RUQsQUFtRUYsT0FBTyxBQUtILFVBQVUsQ0FBQTtNQTNKbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRDdHYixPQUFPO00rRDhHckIsS0FBSyxFL0Q5R1MsT0FBTyxHK0QwUVo7TUExRVQsQUFoRkEsT0FnRk8sQUFtRUYsT0FBTyxBQUtILFVBQVUsQUF4SmxCLE1BQU0sRUFnRlAsT0FBTyxBQW1FRixPQUFPLEFBS0gsVUFBVSxBQXhKVCxNQUFNLENBQUM7UUFDZixZQUFZLEVBTkEsT0FBaUQ7UUFPN0QsS0FBSyxFQVBPLE9BQWlELEdBYTlEO1FBd0VELEFBN0VFLE9BNkVLLEFBbUVGLE9BQU8sQUFLSCxVQUFVLEFBeEpsQixNQUFNLEFBR0osU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFLSCxVQUFVLEFBeEpsQixNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQW1FRixPQUFPLEFBS0gsVUFBVSxBQXhKVCxNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFLSCxVQUFVLEFBeEpULE1BQU0sQ0FJYixBQUFBLFFBQUMsQUFBQSxFQUFVO1VBQ1YsTUFBTSxFQWhKaUIsR0FBRyxDQWdKSixLQUFLLEMvRHJIakIsT0FBTztVK0RzSGpCLEtBQUssRS9EdEhLLE9BQU8sRytEdUhsQjtJQXlFSCxBQXdFUSxPQXhFRCxBQW1FRixPQUFPLEFBS0gsY0FBYyxDQUFKO01BM0puQixNQUFNLEVBeElxQixHQUFHLENBd0lSLEtBQUssQy9EbEhYLE9BQU87TStEbUh2QixLQUFLLEUvRG5IVyxPQUFPLEcrRCtRZDtNQTFFVCxBQWhGQSxPQWdGTyxBQW1FRixPQUFPLEFBS0gsY0FBYyxBQXhKdEIsTUFBTSxFQWdGUCxPQUFPLEFBbUVGLE9BQU8sQUFLSCxjQUFjLEFBeEpiLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFtRUYsT0FBTyxBQUtILGNBQWMsQUF4SnRCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILGNBQWMsQUF4SnRCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBbUVGLE9BQU8sQUFLSCxjQUFjLEFBeEpiLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILGNBQWMsQUF4SmIsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EMUhmLE9BQU87VStEMkhuQixLQUFLLEUvRDNITyxPQUFPLEcrRDRIcEI7SUF5RUgsQUF3RVEsT0F4RUQsQUFtRUYsT0FBTyxBQUtILGVBQWUsQ0FBTDtNQTNKbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRHBHVixPQUFPO00rRHFHeEIsS0FBSyxFL0RyR1ksT0FBTyxHK0RpUWY7TUExRVQsQUFoRkEsT0FnRk8sQUFtRUYsT0FBTyxBQUtILGVBQWUsQUF4SnZCLE1BQU0sRUFnRlAsT0FBTyxBQW1FRixPQUFPLEFBS0gsZUFBZSxBQXhKZCxNQUFNLENBQUM7UUFDZixZQUFZLEVBTkEsT0FBaUQ7UUFPN0QsS0FBSyxFQVBPLE9BQWlELEdBYTlEO1FBd0VELEFBN0VFLE9BNkVLLEFBbUVGLE9BQU8sQUFLSCxlQUFlLEFBeEp2QixNQUFNLEFBR0osU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFLSCxlQUFlLEFBeEp2QixNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQW1FRixPQUFPLEFBS0gsZUFBZSxBQXhKZCxNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFLSCxlQUFlLEFBeEpkLE1BQU0sQ0FJYixBQUFBLFFBQUMsQUFBQSxFQUFVO1VBQ1YsTUFBTSxFQWhKaUIsR0FBRyxDQWdKSixLQUFLLEMvRDVHZCxPQUFPO1UrRDZHcEIsS0FBSyxFL0Q3R1EsT0FBTyxHK0Q4R3JCO0lBeUVILEFBd0VRLE9BeEVELEFBbUVGLE9BQU8sQUFLSCxRQUFRLENBQUU7TUEzSm5CLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0Q1RWhCLE9BQXdCO00rRDZFbkMsS0FBSyxFL0Q3RU0sT0FBd0IsRytEeU8xQjtNQTFFVCxBQWhGQSxPQWdGTyxBQW1FRixPQUFPLEFBS0gsUUFBUSxBQXhKaEIsTUFBTSxFQWdGUCxPQUFPLEFBbUVGLE9BQU8sQUFLSCxRQUFRLEFBeEpQLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SmhCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SmhCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBbUVGLE9BQU8sQUFLSCxRQUFRLEFBeEpQLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SlAsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EcEZwQixPQUF3QjtVK0RxRi9CLEtBQUssRS9EckZFLE9BQXdCLEcrRHNGaEM7SUF5RUgsQUF3RVEsT0F4RUQsQUFtRUYsT0FBTyxBQUtILFFBQVEsQ0FBRTtNQTNKbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRDNFaEIsT0FBTztNK0Q0RWxCLEtBQUssRS9ENUVNLE9BQU8sRytEd09UO01BMUVULEFBaEZBLE9BZ0ZPLEFBbUVGLE9BQU8sQUFLSCxRQUFRLEFBeEpoQixNQUFNLEVBZ0ZQLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SlAsTUFBTSxDQUFDO1FBQ2YsWUFBWSxFQU5BLE9BQWlEO1FBTzdELEtBQUssRUFQTyxPQUFpRCxHQWE5RDtRQXdFRCxBQTdFRSxPQTZFSyxBQW1FRixPQUFPLEFBS0gsUUFBUSxBQXhKaEIsTUFBTSxBQUdKLFNBQVMsRUE2RVosT0FBTyxBQW1FRixPQUFPLEFBS0gsUUFBUSxBQXhKaEIsTUFBTSxDQUlKLEFBQUEsUUFBQyxBQUFBLEdBNEVKLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SlAsTUFBTSxBQUdiLFNBQVMsRUE2RVosT0FBTyxBQW1FRixPQUFPLEFBS0gsUUFBUSxBQXhKUCxNQUFNLENBSWIsQUFBQSxRQUFDLEFBQUEsRUFBVTtVQUNWLE1BQU0sRUFoSmlCLEdBQUcsQ0FnSkosS0FBSyxDL0RuRnBCLE9BQU87VStEb0ZkLEtBQUssRS9EcEZFLE9BQU8sRytEcUZmO0lBeUVILEFBd0VRLE9BeEVELEFBbUVGLE9BQU8sQUFLSCxRQUFRLENBQUU7TUEzSm5CLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0QxRWhCLE9BQU87TStEMkVsQixLQUFLLEUvRDNFTSxPQUFPLEcrRHVPVDtNQTFFVCxBQWhGQSxPQWdGTyxBQW1FRixPQUFPLEFBS0gsUUFBUSxBQXhKaEIsTUFBTSxFQWdGUCxPQUFPLEFBbUVGLE9BQU8sQUFLSCxRQUFRLEFBeEpQLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SmhCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SmhCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBbUVGLE9BQU8sQUFLSCxRQUFRLEFBeEpQLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFtRUYsT0FBTyxBQUtILFFBQVEsQUF4SlAsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EbEZwQixPQUFPO1UrRG1GZCxLQUFLLEUvRG5GRSxPQUFPLEcrRG9GZjtJQXlFSCxBQXdFUSxPQXhFRCxBQW1FRixPQUFPLEFBS0gsTUFBTSxDQUFJO01BM0puQixNQUFNLEVBeElxQixHQUFHLENBd0lSLEtBQUssQy9EekVsQixPQUFPO00rRDBFaEIsS0FBSyxFL0QxRUksT0FBTyxHK0RzT1A7TUExRVQsQUFoRkEsT0FnRk8sQUFtRUYsT0FBTyxBQUtILE1BQU0sQUF4SmQsTUFBTSxFQWdGUCxPQUFPLEFBbUVGLE9BQU8sQUFLSCxNQUFNLEFBeEpMLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFtRUYsT0FBTyxBQUtILE1BQU0sQUF4SmQsTUFBTSxBQUdKLFNBQVMsRUE2RVosT0FBTyxBQW1FRixPQUFPLEFBS0gsTUFBTSxBQXhKZCxNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQW1FRixPQUFPLEFBS0gsTUFBTSxBQXhKTCxNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBbUVGLE9BQU8sQUFLSCxNQUFNLEFBeEpMLE1BQU0sQ0FJYixBQUFBLFFBQUMsQUFBQSxFQUFVO1VBQ1YsTUFBTSxFQWhKaUIsR0FBRyxDQWdKSixLQUFLLEMvRGpGdEIsT0FBTztVK0RrRlosS0FBSyxFL0RsRkEsT0FBTyxHK0RtRmI7RUF5RUgsQUFpRkksT0FqRkcsQUFpRkYsTUFBTSxDQUFDO0lBcEtaLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0RsSWxCLE9BQU87SStEbUloQixLQUFLLEUvRG5JSSxPQUFPLEcrRDhUWDtJQXpHTCxBQXpHQSxPQXlHTyxBQWlGRixNQUFNLEVBakZYLE9BQU8sQUFpRkYsTUFBTSxBQXpMVixNQUFNLEVBd0dQLE9BQU8sQUFpRkYsTUFBTSxBQXhMVixNQUFNLENBQUM7TUFDTixnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCO0lBcUdELEFBakdFLE9BaUdLLEFBaUZGLE1BQU0sQUFwTFYsU0FBUyxFQW1HVixPQUFPLEFBaUZGLE1BQU0sQUFwTFYsU0FBUyxBQUdQLE1BQU0sRUFnR1QsT0FBTyxBQWlGRixNQUFNLEFBcExWLFNBQVMsQUFHRSxNQUFNLEVBZ0dsQixPQUFPLEFBaUZGLE1BQU0sQ0FuTFYsQUFBQSxRQUFDLEFBQUEsR0FrR0YsT0FBTyxBQWlGRixNQUFNLENBbkxWLEFBQUEsUUFBQyxBQUFBLENBRUMsTUFBTSxFQWdHVCxPQUFPLEFBaUZGLE1BQU0sQ0FuTFYsQUFBQSxRQUFDLEFBQUEsQ0FFVSxNQUFNLENBQUM7TUFDZixnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCO0lBOEZILEFBaEZBLE9BZ0ZPLEFBaUZGLE1BQU0sQUFqS1YsTUFBTSxFQWdGUCxPQUFPLEFBaUZGLE1BQU0sQUFqS0QsTUFBTSxDQUFDO01BQ2YsWUFBWSxFQU5BLE9BQWlEO01BTzdELEtBQUssRUFQTyxPQUFpRCxHQWE5RDtNQXdFRCxBQTdFRSxPQTZFSyxBQWlGRixNQUFNLEFBaktWLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQWpLVixNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQWlGRixNQUFNLEFBaktELE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQWpLRCxNQUFNLENBSWIsQUFBQSxRQUFDLEFBQUEsRUFBVTtRQUNWLE1BQU0sRUFoSmlCLEdBQUcsQ0FnSkosS0FBSyxDL0QxSXRCLE9BQU87UStEMklaLEtBQUssRS9EM0lBLE9BQU8sRytENEliO0lBeUVILEFBc0ZRLE9BdEZELEFBaUZGLE1BQU0sRUFqRlgsT0FBTyxBQWlGRixNQUFNLEFBS0MsU0FBUyxFQXRGckIsT0FBTyxBQWlGRixNQUFNLENBS2EsQUFBQSxRQUFDLEFBQUEsR0F0RnpCLE9BQU8sQUFpRkYsTUFBTSxBQUlELE1BQU0sRUFyRmhCLE9BQU8sQUFpRkYsTUFBTSxBQUlELE1BQU0sQUFDSixTQUFTLEVBdEZyQixPQUFPLEFBaUZGLE1BQU0sQUFJRCxNQUFNLENBQ1EsQUFBQSxRQUFDLEFBQUEsR0F0RnpCLE9BQU8sQUFpRkYsTUFBTSxBQUlRLE1BQU0sRUFyRnpCLE9BQU8sQUFpRkYsTUFBTSxBQUlRLE1BQU0sQUFDYixTQUFTLEVBdEZyQixPQUFPLEFBaUZGLE1BQU0sQUFJUSxNQUFNLENBQ0QsQUFBQSxRQUFDLEFBQUEsRUFBVTtNQUN6QixZQUFZLEVBQUUsV0FBVyxHQUMxQjtJQXhGVCxBQTRGUSxPQTVGRCxBQWlGRixNQUFNLEFBV0YsUUFBUSxDQUFFO01BL0tuQixNQUFNLEVBeElxQixHQUFHLENBd0lSLEtBQUssQy9EbkhaLE9BQU87TStEb0h0QixLQUFLLEUvRHBIVSxPQUFPLEcrRDZTYjtNQXZHVCxBQWhGQSxPQWdGTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQTVLaEIsTUFBTSxFQWdGUCxPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBNUtQLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S2hCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S2hCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBNUtQLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S1AsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EM0hoQixPQUFPO1UrRDRIbEIsS0FBSyxFL0Q1SE0sT0FBTyxHK0Q2SG5CO01BeUVILEFBaUdZLE9BakdMLEFBaUZGLE1BQU0sQUFXRixRQUFRLEVBNUZqQixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBTUosU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxDQU9KLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFHSCxNQUFNLEVBL0ZwQixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBR0gsTUFBTSxBQUdQLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFHSCxNQUFNLENBSVAsQUFBQSxRQUFDLEFBQUEsR0FuR2QsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQUlOLE1BQU0sRUFoR2pCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFJTixNQUFNLEFBRUosU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQUlOLE1BQU0sQ0FHSixBQUFBLFFBQUMsQUFBQSxFQUFVO1FBQ1YsWUFBWSxFQUFFLFdBQVcsR0FDMUI7SUFyR2IsQUE0RlEsT0E1RkQsQUFpRkYsTUFBTSxBQVdGLFVBQVUsQ0FBQTtNQS9LbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRHZHYixPQUFPO00rRHdHckIsS0FBSyxFL0R4R1MsT0FBTyxHK0RpU1o7TUF2R1QsQUFoRkEsT0FnRk8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUE1S2xCLE1BQU0sRUFnRlAsT0FBTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxBQTVLVCxNQUFNLENBQUM7UUFDZixZQUFZLEVBTkEsT0FBaUQ7UUFPN0QsS0FBSyxFQVBPLE9BQWlELEdBYTlEO1FBd0VELEFBN0VFLE9BNkVLLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBNUtsQixNQUFNLEFBR0osU0FBUyxFQTZFWixPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBNUtsQixNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxBQTVLVCxNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBNUtULE1BQU0sQ0FJYixBQUFBLFFBQUMsQUFBQSxFQUFVO1VBQ1YsTUFBTSxFQWhKaUIsR0FBRyxDQWdKSixLQUFLLEMvRC9HakIsT0FBTztVK0RnSGpCLEtBQUssRS9EaEhLLE9BQU8sRytEaUhsQjtNQXlFSCxBQWlHWSxPQWpHTCxBQWlGRixNQUFNLEFBV0YsVUFBVSxFQTVGbkIsT0FBTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxBQU1OLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQ0FPTixBQUFBLFFBQUMsQUFBQSxHQW5HZCxPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBR0wsTUFBTSxFQS9GcEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxBQUdMLE1BQU0sQUFHUCxTQUFTLEVBbEd0QixPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBR0wsTUFBTSxDQUlQLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUFJUixNQUFNLEVBaEdqQixPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBSVIsTUFBTSxBQUVKLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUFJUixNQUFNLENBR0osQUFBQSxRQUFDLEFBQUEsRUFBVTtRQUNWLFlBQVksRUFBRSxXQUFXLEdBQzFCO0lBckdiLEFBNEZRLE9BNUZELEFBaUZGLE1BQU0sQUFXRixNQUFNLENBQUk7TUEvS25CLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0R2SHJCLE9BQU87TStEd0hiLEtBQUssRS9EeEhDLE9BQU8sRytEaVRKO01BdkdULEFBaEZBLE9BZ0ZPLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBNUtkLE1BQU0sRUFnRlAsT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQTVLTCxNQUFNLENBQUM7UUFDZixZQUFZLEVBTkEsT0FBaUQ7UUFPN0QsS0FBSyxFQVBPLE9BQWlELEdBYTlEO1FBd0VELEFBN0VFLE9BNkVLLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBNUtkLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUE1S2QsTUFBTSxDQUlKLEFBQUEsUUFBQyxBQUFBLEdBNEVKLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUE1S0wsTUFBTSxBQUdiLFNBQVMsRUE2RVosT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQTVLTCxNQUFNLENBSWIsQUFBQSxRQUFDLEFBQUEsRUFBVTtVQUNWLE1BQU0sRUFoSmlCLEdBQUcsQ0FnSkosS0FBSyxDL0QvSHpCLE9BQU87VStEZ0lULEtBQUssRS9EaElILE9BQU8sRytEaUlWO01BeUVILEFBaUdZLE9BakdMLEFBaUZGLE1BQU0sQUFXRixNQUFNLEVBNUZmLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUFNRixTQUFTLEVBbEd0QixPQUFPLEFBaUZGLE1BQU0sQUFXRixNQUFNLENBT0YsQUFBQSxRQUFDLEFBQUEsR0FuR2QsT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQUdELE1BQU0sRUEvRnBCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUFHRCxNQUFNLEFBR1AsU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQUdELE1BQU0sQ0FJUCxBQUFBLFFBQUMsQUFBQSxHQW5HZCxPQUFPLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBSUosTUFBTSxFQWhHakIsT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQUlKLE1BQU0sQUFFSixTQUFTLEVBbEd0QixPQUFPLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBSUosTUFBTSxDQUdKLEFBQUEsUUFBQyxBQUFBLEVBQVU7UUFDVixZQUFZLEVBQUUsV0FBVyxHQUMxQjtJQXJHYixBQTRGUSxPQTVGRCxBQWlGRixNQUFNLEFBV0YsVUFBVSxDQUFBO01BL0tuQixNQUFNLEVBeElxQixHQUFHLENBd0lSLEtBQUssQy9EN0diLE9BQU87TStEOEdyQixLQUFLLEUvRDlHUyxPQUFPLEcrRHVTWjtNQXZHVCxBQWhGQSxPQWdGTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxBQTVLbEIsTUFBTSxFQWdGUCxPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBNUtULE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUE1S2xCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUE1S2xCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBNUtULE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUE1S1QsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EckhqQixPQUFPO1UrRHNIakIsS0FBSyxFL0R0SEssT0FBTyxHK0R1SGxCO01BeUVILEFBaUdZLE9BakdMLEFBaUZGLE1BQU0sQUFXRixVQUFVLEVBNUZuQixPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBTU4sU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxDQU9OLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUFHTCxNQUFNLEVBL0ZwQixPQUFPLEFBaUZGLE1BQU0sQUFXRixVQUFVLEFBR0wsTUFBTSxBQUdQLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUFHTCxNQUFNLENBSVAsQUFBQSxRQUFDLEFBQUEsR0FuR2QsT0FBTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxBQUlSLE1BQU0sRUFoR2pCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFVBQVUsQUFJUixNQUFNLEFBRUosU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsVUFBVSxBQUlSLE1BQU0sQ0FHSixBQUFBLFFBQUMsQUFBQSxFQUFVO1FBQ1YsWUFBWSxFQUFFLFdBQVcsR0FDMUI7SUFyR2IsQUE0RlEsT0E1RkQsQUFpRkYsTUFBTSxBQVdGLGNBQWMsQ0FBSjtNQS9LbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRGxIWCxPQUFPO00rRG1IdkIsS0FBSyxFL0RuSFcsT0FBTyxHK0Q0U2Q7TUF2R1QsQUFoRkEsT0FnRk8sQUFpRkYsTUFBTSxBQVdGLGNBQWMsQUE1S3RCLE1BQU0sRUFnRlAsT0FBTyxBQWlGRixNQUFNLEFBV0YsY0FBYyxBQTVLYixNQUFNLENBQUM7UUFDZixZQUFZLEVBTkEsT0FBaUQ7UUFPN0QsS0FBSyxFQVBPLE9BQWlELEdBYTlEO1FBd0VELEFBN0VFLE9BNkVLLEFBaUZGLE1BQU0sQUFXRixjQUFjLEFBNUt0QixNQUFNLEFBR0osU0FBUyxFQTZFWixPQUFPLEFBaUZGLE1BQU0sQUFXRixjQUFjLEFBNUt0QixNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQWlGRixNQUFNLEFBV0YsY0FBYyxBQTVLYixNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBaUZGLE1BQU0sQUFXRixjQUFjLEFBNUtiLE1BQU0sQ0FJYixBQUFBLFFBQUMsQUFBQSxFQUFVO1VBQ1YsTUFBTSxFQWhKaUIsR0FBRyxDQWdKSixLQUFLLEMvRDFIZixPQUFPO1UrRDJIbkIsS0FBSyxFL0QzSE8sT0FBTyxHK0Q0SHBCO01BeUVILEFBaUdZLE9BakdMLEFBaUZGLE1BQU0sQUFXRixjQUFjLEVBNUZ2QixPQUFPLEFBaUZGLE1BQU0sQUFXRixjQUFjLEFBTVYsU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsY0FBYyxDQU9WLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLGNBQWMsQUFHVCxNQUFNLEVBL0ZwQixPQUFPLEFBaUZGLE1BQU0sQUFXRixjQUFjLEFBR1QsTUFBTSxBQUdQLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLGNBQWMsQUFHVCxNQUFNLENBSVAsQUFBQSxRQUFDLEFBQUEsR0FuR2QsT0FBTyxBQWlGRixNQUFNLEFBV0YsY0FBYyxBQUlaLE1BQU0sRUFoR2pCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLGNBQWMsQUFJWixNQUFNLEFBRUosU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsY0FBYyxBQUlaLE1BQU0sQ0FHSixBQUFBLFFBQUMsQUFBQSxFQUFVO1FBQ1YsWUFBWSxFQUFFLFdBQVcsR0FDMUI7SUFyR2IsQUE0RlEsT0E1RkQsQUFpRkYsTUFBTSxBQVdGLGVBQWUsQ0FBTDtNQS9LbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRHBHVixPQUFPO00rRHFHeEIsS0FBSyxFL0RyR1ksT0FBTyxHK0Q4UmY7TUF2R1QsQUFoRkEsT0FnRk8sQUFpRkYsTUFBTSxBQVdGLGVBQWUsQUE1S3ZCLE1BQU0sRUFnRlAsT0FBTyxBQWlGRixNQUFNLEFBV0YsZUFBZSxBQTVLZCxNQUFNLENBQUM7UUFDZixZQUFZLEVBTkEsT0FBaUQ7UUFPN0QsS0FBSyxFQVBPLE9BQWlELEdBYTlEO1FBd0VELEFBN0VFLE9BNkVLLEFBaUZGLE1BQU0sQUFXRixlQUFlLEFBNUt2QixNQUFNLEFBR0osU0FBUyxFQTZFWixPQUFPLEFBaUZGLE1BQU0sQUFXRixlQUFlLEFBNUt2QixNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsR0E0RUosT0FBTyxBQWlGRixNQUFNLEFBV0YsZUFBZSxBQTVLZCxNQUFNLEFBR2IsU0FBUyxFQTZFWixPQUFPLEFBaUZGLE1BQU0sQUFXRixlQUFlLEFBNUtkLE1BQU0sQ0FJYixBQUFBLFFBQUMsQUFBQSxFQUFVO1VBQ1YsTUFBTSxFQWhKaUIsR0FBRyxDQWdKSixLQUFLLEMvRDVHZCxPQUFPO1UrRDZHcEIsS0FBSyxFL0Q3R1EsT0FBTyxHK0Q4R3JCO01BeUVILEFBaUdZLE9BakdMLEFBaUZGLE1BQU0sQUFXRixlQUFlLEVBNUZ4QixPQUFPLEFBaUZGLE1BQU0sQUFXRixlQUFlLEFBTVgsU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsZUFBZSxDQU9YLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLGVBQWUsQUFHVixNQUFNLEVBL0ZwQixPQUFPLEFBaUZGLE1BQU0sQUFXRixlQUFlLEFBR1YsTUFBTSxBQUdQLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLGVBQWUsQUFHVixNQUFNLENBSVAsQUFBQSxRQUFDLEFBQUEsR0FuR2QsT0FBTyxBQWlGRixNQUFNLEFBV0YsZUFBZSxBQUliLE1BQU0sRUFoR2pCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLGVBQWUsQUFJYixNQUFNLEFBRUosU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsZUFBZSxBQUliLE1BQU0sQ0FHSixBQUFBLFFBQUMsQUFBQSxFQUFVO1FBQ1YsWUFBWSxFQUFFLFdBQVcsR0FDMUI7SUFyR2IsQUE0RlEsT0E1RkQsQUFpRkYsTUFBTSxBQVdGLFFBQVEsQ0FBRTtNQS9LbkIsTUFBTSxFQXhJcUIsR0FBRyxDQXdJUixLQUFLLEMvRDVFaEIsT0FBd0I7TStENkVuQyxLQUFLLEUvRDdFTSxPQUF3QixHK0RzUTFCO01BdkdULEFBaEZBLE9BZ0ZPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBNUtoQixNQUFNLEVBZ0ZQLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S1AsTUFBTSxDQUFDO1FBQ2YsWUFBWSxFQU5BLE9BQWlEO1FBTzdELEtBQUssRUFQTyxPQUFpRCxHQWE5RDtRQXdFRCxBQTdFRSxPQTZFSyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQTVLaEIsTUFBTSxBQUdKLFNBQVMsRUE2RVosT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQTVLaEIsTUFBTSxDQUlKLEFBQUEsUUFBQyxBQUFBLEdBNEVKLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S1AsTUFBTSxBQUdiLFNBQVMsRUE2RVosT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQTVLUCxNQUFNLENBSWIsQUFBQSxRQUFDLEFBQUEsRUFBVTtVQUNWLE1BQU0sRUFoSmlCLEdBQUcsQ0FnSkosS0FBSyxDL0RwRnBCLE9BQXdCO1UrRHFGL0IsS0FBSyxFL0RyRkUsT0FBd0IsRytEc0ZoQztNQXlFSCxBQWlHWSxPQWpHTCxBQWlGRixNQUFNLEFBV0YsUUFBUSxFQTVGakIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQU1KLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQ0FPSixBQUFBLFFBQUMsQUFBQSxHQW5HZCxPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBR0gsTUFBTSxFQS9GcEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQUdILE1BQU0sQUFHUCxTQUFTLEVBbEd0QixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBR0gsTUFBTSxDQUlQLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFJTixNQUFNLEVBaEdqQixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBSU4sTUFBTSxBQUVKLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFJTixNQUFNLENBR0osQUFBQSxRQUFDLEFBQUEsRUFBVTtRQUNWLFlBQVksRUFBRSxXQUFXLEdBQzFCO0lBckdiLEFBNEZRLE9BNUZELEFBaUZGLE1BQU0sQUFXRixRQUFRLENBQUU7TUEvS25CLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0QzRWhCLE9BQU87TStENEVsQixLQUFLLEUvRDVFTSxPQUFPLEcrRHFRVDtNQXZHVCxBQWhGQSxPQWdGTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQTVLaEIsTUFBTSxFQWdGUCxPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBNUtQLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S2hCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S2hCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBNUtQLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S1AsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EbkZwQixPQUFPO1UrRG9GZCxLQUFLLEUvRHBGRSxPQUFPLEcrRHFGZjtNQXlFSCxBQWlHWSxPQWpHTCxBQWlGRixNQUFNLEFBV0YsUUFBUSxFQTVGakIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQU1KLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQ0FPSixBQUFBLFFBQUMsQUFBQSxHQW5HZCxPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBR0gsTUFBTSxFQS9GcEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQUdILE1BQU0sQUFHUCxTQUFTLEVBbEd0QixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBR0gsTUFBTSxDQUlQLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFJTixNQUFNLEVBaEdqQixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBSU4sTUFBTSxBQUVKLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFJTixNQUFNLENBR0osQUFBQSxRQUFDLEFBQUEsRUFBVTtRQUNWLFlBQVksRUFBRSxXQUFXLEdBQzFCO0lBckdiLEFBNEZRLE9BNUZELEFBaUZGLE1BQU0sQUFXRixRQUFRLENBQUU7TUEvS25CLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0QxRWhCLE9BQU87TStEMkVsQixLQUFLLEUvRDNFTSxPQUFPLEcrRG9RVDtNQXZHVCxBQWhGQSxPQWdGTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQTVLaEIsTUFBTSxFQWdGUCxPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBNUtQLE1BQU0sQ0FBQztRQUNmLFlBQVksRUFOQSxPQUFpRDtRQU83RCxLQUFLLEVBUE8sT0FBaUQsR0FhOUQ7UUF3RUQsQUE3RUUsT0E2RUssQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S2hCLE1BQU0sQUFHSixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S2hCLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBNUtQLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUE1S1AsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EbEZwQixPQUFPO1UrRG1GZCxLQUFLLEUvRG5GRSxPQUFPLEcrRG9GZjtNQXlFSCxBQWlHWSxPQWpHTCxBQWlGRixNQUFNLEFBV0YsUUFBUSxFQTVGakIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQU1KLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQ0FPSixBQUFBLFFBQUMsQUFBQSxHQW5HZCxPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBR0gsTUFBTSxFQS9GcEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsUUFBUSxBQUdILE1BQU0sQUFHUCxTQUFTLEVBbEd0QixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBR0gsTUFBTSxDQUlQLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFJTixNQUFNLEVBaEdqQixPQUFPLEFBaUZGLE1BQU0sQUFXRixRQUFRLEFBSU4sTUFBTSxBQUVKLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLFFBQVEsQUFJTixNQUFNLENBR0osQUFBQSxRQUFDLEFBQUEsRUFBVTtRQUNWLFlBQVksRUFBRSxXQUFXLEdBQzFCO0lBckdiLEFBNEZRLE9BNUZELEFBaUZGLE1BQU0sQUFXRixNQUFNLENBQUk7TUEvS25CLE1BQU0sRUF4SXFCLEdBQUcsQ0F3SVIsS0FBSyxDL0R6RWxCLE9BQU87TStEMEVoQixLQUFLLEUvRDFFSSxPQUFPLEcrRG1RUDtNQXZHVCxBQWhGQSxPQWdGTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQTVLZCxNQUFNLEVBZ0ZQLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUE1S0wsTUFBTSxDQUFDO1FBQ2YsWUFBWSxFQU5BLE9BQWlEO1FBTzdELEtBQUssRUFQTyxPQUFpRCxHQWE5RDtRQXdFRCxBQTdFRSxPQTZFSyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQTVLZCxNQUFNLEFBR0osU0FBUyxFQTZFWixPQUFPLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBNUtkLE1BQU0sQ0FJSixBQUFBLFFBQUMsQUFBQSxHQTRFSixPQUFPLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBNUtMLE1BQU0sQUFHYixTQUFTLEVBNkVaLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUE1S0wsTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EakZ0QixPQUFPO1UrRGtGWixLQUFLLEUvRGxGQSxPQUFPLEcrRG1GYjtNQXlFSCxBQWlHWSxPQWpHTCxBQWlGRixNQUFNLEFBV0YsTUFBTSxFQTVGZixPQUFPLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBTUYsU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxDQU9GLEFBQUEsUUFBQyxBQUFBLEdBbkdkLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUFHRCxNQUFNLEVBL0ZwQixPQUFPLEFBaUZGLE1BQU0sQUFXRixNQUFNLEFBR0QsTUFBTSxBQUdQLFNBQVMsRUFsR3RCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUFHRCxNQUFNLENBSVAsQUFBQSxRQUFDLEFBQUEsR0FuR2QsT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQUlKLE1BQU0sRUFoR2pCLE9BQU8sQUFpRkYsTUFBTSxBQVdGLE1BQU0sQUFJSixNQUFNLEFBRUosU0FBUyxFQWxHdEIsT0FBTyxBQWlGRixNQUFNLEFBV0YsTUFBTSxBQUlKLE1BQU0sQ0FHSixBQUFBLFFBQUMsQUFBQSxFQUFVO1FBQ1YsWUFBWSxFQUFFLFdBQVcsR0FDMUI7RUFyR2IsQUF4Q0EsT0F3Q08sQUE2R0osU0FBUyxBQXJKWCxPQUFPLENBQUM7SXJEdkxULE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUVULE1BQU0sRUFBRSxLQUFLLENxRCtLTixLQUFLO0lyRDdLWixPQUFPLEVBQUUsRUFBRTtJQUdULG1CQUFtQixFQUFFLENBQUM7SUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVWVVIsT0FBTyxDVVZtQixXQUFXLENBQUMsV0FBVztJcUQ4S3JELFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBRVYsT0FBTyxFQUFFLFlBQVk7SUFDckIsS0FBSyxFQUFDLEtBQUM7SUFDUCxXQUFzQixFL0R3RkwsS0FBSyxHK0R2RnZCO0VBZ0NELEFBdUhNLE9BdkhDLEFBNkdKLFNBQVMsQUFTUCxPQUFPLEFBQ0wsT0FBTyxDQUFDO0lBQ1AsZ0JBQWdCLEUvRDdVZixPQUFPLEcrRDhVVDtFQXpIUCxBQTZIVSxPQTdISCxBQTZHSixTQUFTLEFBU1AsT0FBTyxBQU1ILFFBQVEsQUFDTixPQUFPLENBQUM7SUFDUCxnQkFBZ0IsRS9EcFViLE9BQU8sRytEcVVYO0VBL0hYLEFBNkhVLE9BN0hILEFBNkdKLFNBQVMsQUFTUCxPQUFPLEFBTUgsVUFBVSxBQUNSLE9BQU8sQ0FBQztJQUNQLGdCQUFnQixFL0R4VGQsT0FBTyxHK0R5VFY7RUEvSFgsQUE2SFUsT0E3SEgsQUE2R0osU0FBUyxBQVNQLE9BQU8sQUFNSCxNQUFNLEFBQ0osT0FBTyxDQUFDO0lBQ1AsZ0JBQWdCLEUvRHhVdEIsT0FBTyxHK0R5VUY7RUEvSFgsQUE2SFUsT0E3SEgsQUE2R0osU0FBUyxBQVNQLE9BQU8sQUFNSCxVQUFVLEFBQ1IsT0FBTyxDQUFDO0lBQ1AsZ0JBQWdCLEUvRDlUZCxPQUFPLEcrRCtUVjtFQS9IWCxBQTZIVSxPQTdISCxBQTZHSixTQUFTLEFBU1AsT0FBTyxBQU1ILGNBQWMsQUFDWixPQUFPLENBQUM7SUFDUCxnQkFBZ0IsRS9EblVaLE9BQU8sRytEb1VaO0VBL0hYLEFBNkhVLE9BN0hILEFBNkdKLFNBQVMsQUFTUCxPQUFPLEFBTUgsZUFBZSxBQUNiLE9BQU8sQ0FBQztJQUNQLGdCQUFnQixFL0RyVFgsT0FBTyxHK0RzVGI7RUEvSFgsQUE2SFUsT0E3SEgsQUE2R0osU0FBUyxBQVNQLE9BQU8sQUFNSCxRQUFRLEFBQ04sT0FBTyxDQUFDO0lBQ1AsZ0JBQWdCLEUvRDdSakIsT0FBd0IsRytEOFJ4QjtFQS9IWCxBQTZIVSxPQTdISCxBQTZHSixTQUFTLEFBU1AsT0FBTyxBQU1ILFFBQVEsQUFDTixPQUFPLENBQUM7SUFDUCxnQkFBZ0IsRS9ENVJqQixPQUFPLEcrRDZSUDtFQS9IWCxBQTZIVSxPQTdISCxBQTZHSixTQUFTLEFBU1AsT0FBTyxBQU1ILFFBQVEsQUFDTixPQUFPLENBQUM7SUFDUCxnQkFBZ0IsRS9EM1JqQixPQUFPLEcrRDRSUDtFQS9IWCxBQTZIVSxPQTdISCxBQTZHSixTQUFTLEFBU1AsT0FBTyxBQU1ILE1BQU0sQUFDSixPQUFPLENBQUM7SUFDUCxnQkFBZ0IsRS9EMVJuQixPQUFPLEcrRDJSTDtFQS9IWCxBQXNJRSxPQXRJSyxBQXNJSixXQUFXLEFBQUEsT0FBTyxDQUFDO0lBQ2xCLEdBQUcsRUFBRSxNQUFNO0lBQ1gsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFzQixFQUFTLENBQUMsR0FDakM7O0FBRUgsQUFDRSxDQURELEFBQUEsT0FBTyxBQUNMLE1BQU0sRUFEVCxDQUFDLEFBQUEsT0FBTyxBQUVMLE1BQU0sQ0FBQztFQUNOLGVBQWUsRUFBRSxJQUFJLEdBQ3RCOztBQ3ROSCxBQUFBLGFBQWEsQ0FBQztFQS9KZCxhQUFhLEVoRXFUTSxJQUFJO0VnRTdTckIsU0FBUyxFQUFFLENBQUMsR0ErTWI7RUF4REQsQXREMUJBLGFzRDBCYSxBdEQxQlosUUFBUSxFc0QwQlQsYUFBYSxBdER6QlosT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsR0FBRyxHQU1iO0VzRGlCRCxBdERmQSxhc0RlYSxBdERmWixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VzRGFELEFBcEpBLGFBb0phLENBcEpiLE9BQU8sQ0FBWTtJQUNqQixNQUFNLEVBQUUsQ0FBQztJQUNULFlBQXVCLEVoRXlTTCxHQUFHO0lnRXhTckIsYUFBYSxFaEV3U0ssR0FBRztJZ0V2U3JCLFNBQVMsRWhFeVJGLE1BQU0sR2dFalFkO0lBd0hELEFBMUlFLGFBMElXLENBcEpiLE9BQU8sQUFVSixXQUFXLENBQUM7TUFDWCxZQUF1QixFQUFTLENBQUMsR0FDbEM7RUF3SUgsQUFLSSxhQUxTLEFBS1IsS0FBSyxDQUFDLE9BQU8sQ0FBNEI7SUFDeEMsU0FBUyxFaEVpSVQsTUFBTSxHZ0VoSVA7RUFQTCxBQUtJLGFBTFMsQUFLUixNQUFNLENBQUMsT0FBTyxDQUEyQjtJQUN4QyxTQUFTLEVoRWtJUixPQUFPLEdnRWpJVDtFQVBMLEFBS0ksYUFMUyxBQUtSLE1BQU0sQ0FBQyxPQUFPLENBQTJCO0lBQ3hDLFNBQVMsRWhFb0lSLE9BQU8sR2dFbklUO0VBUEwsQUFXRSxhQVhXLEFBV1YsU0FBUyxDQUFDO0lBdkhYLFlBQXVCLEVoRW1RTCxJQUFHLEdnRTVJd0I7SUFYL0MsQUExR0UsYUEwR1csQUFXVixTQUFTLEFBckhULFFBQVEsRUEwR1gsYUFBYSxBQVdWLFNBQVMsQUFwSFQsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLElBQUksR0FDZDtJQXVHSCxBQTlGSSxhQThGUyxBQVdWLFNBQVMsQ0EvR1osT0FBTyxBQU1GLFlBQVksQUFBQSxXQUFXLENBQUM7TUFDdkIsS0FBSyxFQUFFLElBQUksR0FDWjtJQTRGTCxBQXZGUSxhQXVGSyxBQVdWLFNBQVMsQ0EvR1osT0FBTyxBQVlBLFlBQVksQUFBQSxlQUFnQixDQUFBLENBQUMsR0F3RnBDLGFBQWEsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBQ3hCLFlBQVksQUFBQSxlQUFnQixDQURMLENBQUMsSUFDUyxPQUFPLENBQVU7TUFDcEQsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLGVBQXlDO01BQ2hELFlBQXVCLEVoRTJPYixHQUFHLEdnRXRPZDtNQStFVCxBQWxGVSxhQWtGRyxBQVdWLFNBQVMsQ0EvR1osT0FBTyxBQVlBLFlBQVksQUFBQSxlQUFnQixDQUFBLENBQUMsQ0FNekIsV0FBVyxFQWtGdEIsYUFBYSxBQVdWLFNBQVMsQ0EvR1osT0FBTyxBQVlBLFlBQVksQUFBQSxlQUFnQixDQUFBLENBQUMsQ0FDeEIsWUFBWSxBQUFBLGVBQWdCLENBREwsQ0FBQyxJQUNTLE9BQU8sQUFLekMsV0FBVyxDQUFDO1FBQ1gsWUFBdUIsRUFBUyxJQUFtQyxHQUNwRTtJQWdGWCxBQXZGUSxhQXVGSyxBQVdWLFNBQVMsQ0EvR1osT0FBTyxBQVlBLFlBQVksQUFBQSxlQUFnQixDQUFBLENBQUMsR0F3RnBDLGFBQWEsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBQ3hCLFlBQVksQUFBQSxlQUFnQixDQURMLENBQUMsSUFDUyxPQUFPLENBQVU7TUFDcEQsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLHFCQUF5QztNQUNoRCxZQUF1QixFaEUyT2IsR0FBRyxHZ0V0T2Q7TUErRVQsQUFsRlUsYUFrRkcsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBTXpCLFdBQVcsRUFrRnRCLGFBQWEsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBQ3hCLFlBQVksQUFBQSxlQUFnQixDQURMLENBQUMsSUFDUyxPQUFPLEFBS3pDLFdBQVcsQ0FBQztRQUNYLFlBQXVCLEVBQVMsSUFBbUMsR0FDcEU7SUFnRlgsQUF2RlEsYUF1RkssQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLEdBd0ZwQyxhQUFhLEFBV1YsU0FBUyxDQS9HWixPQUFPLEFBWUEsWUFBWSxBQUFBLGVBQWdCLENBQUEsQ0FBQyxDQUN4QixZQUFZLEFBQUEsZUFBZ0IsQ0FETCxDQUFDLElBQ1MsT0FBTyxDQUFVO01BQ3BELE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUFBRSxlQUF5QztNQUNoRCxZQUF1QixFaEUyT2IsR0FBRyxHZ0V0T2Q7TUErRVQsQUFsRlUsYUFrRkcsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBTXpCLFdBQVcsRUFrRnRCLGFBQWEsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBQ3hCLFlBQVksQUFBQSxlQUFnQixDQURMLENBQUMsSUFDUyxPQUFPLEFBS3pDLFdBQVcsQ0FBQztRQUNYLFlBQXVCLEVBQVMsSUFBbUMsR0FDcEU7SUFnRlgsQUF2RlEsYUF1RkssQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLEdBd0ZwQyxhQUFhLEFBV1YsU0FBUyxDQS9HWixPQUFPLEFBWUEsWUFBWSxBQUFBLGVBQWdCLENBQUEsQ0FBQyxDQUN4QixZQUFZLEFBQUEsZUFBZ0IsQ0FETCxDQUFDLElBQ1MsT0FBTyxDQUFVO01BQ3BELE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUFBRSxlQUF5QztNQUNoRCxZQUF1QixFaEUyT2IsR0FBRyxHZ0V0T2Q7TUErRVQsQUFsRlUsYUFrRkcsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBTXpCLFdBQVcsRUFrRnRCLGFBQWEsQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLENBQ3hCLFlBQVksQUFBQSxlQUFnQixDQURMLENBQUMsSUFDUyxPQUFPLEFBS3pDLFdBQVcsQ0FBQztRQUNYLFlBQXVCLEVBQVMsSUFBbUMsR0FDcEU7SUFnRlgsQUF2RlEsYUF1RkssQUFXVixTQUFTLENBL0daLE9BQU8sQUFZQSxZQUFZLEFBQUEsZUFBZ0IsQ0FBQSxDQUFDLEdBd0ZwQyxhQUFhLEFBV1YsU0FBUyxDQS9HWixPQUFPLEFBWUEsWUFBWSxBQUFBLGVBQWdCLENBQUEsQ0FBQyxDQUN4QixZQUFZLEFBQUEsZUFBZ0IsQ0FETCxDQUFDLElBQ1MsT0FBTyxDQUFVO01BQ3BELE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUFBRSxxQkFBeUM7TUFDaEQsWUFBdUIsRWhFMk9iLEdBQUcsR2dFdE9kO01BK0VULEFBbEZVLGFBa0ZHLEFBV1YsU0FBUyxDQS9HWixPQUFPLEFBWUEsWUFBWSxBQUFBLGVBQWdCLENBQUEsQ0FBQyxDQU16QixXQUFXLEVBa0Z0QixhQUFhLEFBV1YsU0FBUyxDQS9HWixPQUFPLEFBWUEsWUFBWSxBQUFBLGVBQWdCLENBQUEsQ0FBQyxDQUN4QixZQUFZLEFBQUEsZUFBZ0IsQ0FETCxDQUFDLElBQ1MsT0FBTyxBQUt6QyxXQUFXLENBQUM7UUFDWCxZQUF1QixFQUFTLElBQW1DLEdBQ3BFO0VBZ0ZYLEFBZ0JNLGFBaEJPLEFBZ0JOLFFBQVEsQ0FBQyxPQUFPLENBQXlCO0lEOURoRCxnQkFBZ0IsRS9EakdQLE9BQU87SStEa0doQixLQUFLLEUvRHZGQyxPQUFPLEdnRXNKTjtJQWxCUCxBRDNDQSxhQzJDYSxBQWdCTixRQUFRLENBQUMsT0FBTyxBRDNEdEIsTUFBTSxFQzJDUCxhQUFhLEFBZ0JOLFFBQVEsQ0FBQyxPQUFPLEFEM0RiLE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VDd0NELEFBZ0JNLGFBaEJPLEFBZ0JOLFVBQVUsQ0FBQyxPQUFPLENBQXVCO0lEOURoRCxnQkFBZ0IsRS9EaEdMLE9BQU87SStEaUdsQixLQUFLLEUvRHZGQyxPQUFPLEdnRXNKTjtJQWxCUCxBRDNDQSxhQzJDYSxBQWdCTixVQUFVLENBQUMsT0FBTyxBRDNEeEIsTUFBTSxFQzJDUCxhQUFhLEFBZ0JOLFVBQVUsQ0FBQyxPQUFPLEFEM0RmLE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VDd0NELEFBZ0JNLGFBaEJPLEFBZ0JOLFFBQVEsQ0FBQyxPQUFPLENBQXlCO0lEOURoRCxnQkFBZ0IsRS9EL0ZQLE9BQU87SStEZ0doQixLQUFLLEUvRHZGQyxPQUFPLEdnRXNKTjtJQWxCUCxBRDNDQSxhQzJDYSxBQWdCTixRQUFRLENBQUMsT0FBTyxBRDNEdEIsTUFBTSxFQzJDUCxhQUFhLEFBZ0JOLFFBQVEsQ0FBQyxPQUFPLEFEM0RiLE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VDd0NELEFBZ0JNLGFBaEJPLEFBZ0JOLFFBQVEsQ0FBQyxPQUFPLENBQXlCO0lEOURoRCxnQkFBZ0IsRS9EOUZQLE9BQU87SStEK0ZoQixLQUFLLEUvRHZGQyxPQUFPLEdnRXNKTjtJQWxCUCxBRDNDQSxhQzJDYSxBQWdCTixRQUFRLENBQUMsT0FBTyxBRDNEdEIsTUFBTSxFQzJDUCxhQUFhLEFBZ0JOLFFBQVEsQ0FBQyxPQUFPLEFEM0RiLE1BQU0sQ0FBQztNQUNmLGdCQUFnQixFQVBHLE9BQWlFO01BUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0VDd0NELEFBZ0JNLGFBaEJPLEFBZ0JOLE1BQU0sQ0FBQyxPQUFPLENBQTJCO0lEOURoRCxnQkFBZ0IsRS9EN0ZULE9BQU87SStEOEZkLEtBQUssRS9EdkZDLE9BQU8sR2dFc0pOO0lBbEJQLEFEM0NBLGFDMkNhLEFBZ0JOLE1BQU0sQ0FBQyxPQUFPLEFEM0RwQixNQUFNLEVDMkNQLGFBQWEsQUFnQk4sTUFBTSxDQUFDLE9BQU8sQUQzRFgsTUFBTSxDQUFDO01BQ2YsZ0JBQWdCLEVBUEcsT0FBaUU7TUFRcEYsS0FBSyxFL0QzRkQsT0FBTyxHK0Q0Rlo7RUN3Q0QsQUFnQk0sYUFoQk8sQUFnQk4sTUFBTSxDQUFDLE9BQU8sQ0FBMkI7SUQ5RGhELGdCQUFnQixFL0Q1RlQsSUFBSTtJK0Q2RlgsS0FBSyxFL0R2RkMsT0FBTyxHZ0VzSk47SUFsQlAsQUQzQ0EsYUMyQ2EsQUFnQk4sTUFBTSxDQUFDLE9BQU8sQUQzRHBCLE1BQU0sRUMyQ1AsYUFBYSxBQWdCTixNQUFNLENBQUMsT0FBTyxBRDNEWCxNQUFNLENBQUM7TUFDZixnQkFBZ0IsRUFQRyxPQUFpRTtNQVFwRixLQUFLLEUvRDNGRCxPQUFPLEcrRDRGWjtFQ3dDRCxBQS9EQSxhQStEYSxBQTRCVixRQUFRLENBM0ZYLE9BQU8sRUErRFAsYUFBYSxBQTZCVixrQkFBa0IsQ0E1RnJCLE9BQU8sRUErRFAsYUFBYSxBQThCVixtQkFBbUIsQ0E3RnRCLE9BQU8sQ0FBTTtJQUtULEtBQUssRUFBRSxJQUFJLEdBdUJkO0lBbUNELEFBdkRFLGFBdURXLEFBNEJWLFFBQVEsQ0EzRlgsT0FBTyxBQVFKLFdBQVcsRUF1RGQsYUFBYSxBQTZCVixrQkFBa0IsQ0E1RnJCLE9BQU8sQUFRSixXQUFXLEVBdURkLGFBQWEsQUE4QlYsbUJBQW1CLENBN0Z0QixPQUFPLEFBUUosV0FBVyxDQUFDO01BQ1gsYUFBYSxFQUFFLENBQUMsR0FDakI7RXZEcUJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l1RGdDN0MsQUEzQkEsYUEyQmEsQUFrQ1Ysa0JBQWtCLENBN0RyQixPQUFPLENBQU07TUFLVCxLQUFLLEVBQUUsSUFBSTtNQUViLGFBQWEsRUFBRSxDQUFDLEdBZ0JqQjtFdkQ1QkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXVEZ0M3QyxBQTNCQSxhQTJCYSxBQXdDVixtQkFBbUIsQ0FuRXRCLE9BQU8sQ0FBTTtNQUtULEtBQUssRUFBRSxJQUFJO01BRWIsYUFBYSxFQUFFLENBQUMsR0FnQmpCO0V2RHZCRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0l1RDJCM0MsQUE4Q0UsYUE5Q1csQUE4Q1Ysa0JBQWtCLEFBQUEsU0FBUyxDQUFDO01BRXpCLE9BQU8sRUFBRSxLQUFLLEdBT2pCO01BdkRILEFBa0RNLGFBbERPLEFBOENWLGtCQUFrQixBQUFBLFNBQVMsQ0FJeEIsT0FBTyxDQUF3QjtRQUM3QixPQUFPLEVBQUUsS0FBSztRQUNkLFlBQXVCLEVBQVMsQ0FBQyxHQUNsQzs7QU96SlAsQUFBQSxhQUFhLENBQUM7RUFYZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEV2RXhCSyxPQUFPO0V1RXlCakIsTUFBTSxFQUFFLE9BQU8sR0FjZDtHN0RxR0QsQUFBQSxBQUFBLGNBQUMsQ0FBZSxPQUFPLEFBQXRCLEU2RDFHRCxhQUFhLEM3RDBHYztJQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYO0U2RDVHRCxBQVBBLGFBT2EsQUFQWixNQUFNLEVBT1AsYUFBYSxBQU5aLE1BQU0sQ0FBQztJQUNOLEtBQUssRXZFNUJELE9BQU8sR3VFNkJaO0VBSUQsQUFHRSxhQUhXLEFBR1YsTUFBTSxDQUFDO0lBMUJWLEtBQUssRXZFc1RFLE9BQU87SXVFclRkLEdBQUssRXZFeVRFLE1BQU07SXVFeFRiLFNBQVMsRXZFNFRGLEtBQUs7SXVFM1RaLFdBQVcsRXZFOFRZLENBQUMsR3VFdlN3QjtFQUhoRCxBQUlFLGFBSlcsRUFBYixhQUFhLEFBSVAsT0FBTyxDQUFDO0lBM0JkLEtBQUssRXZFdVRHLElBQUk7SXVFdFRaLEdBQUssRXZFMFRHLE1BQU07SXVFelRkLFNBQVMsRXZFNlRELEdBQUc7SXVFNVRYLFdBQVcsRXZFOFRZLENBQUMsR3VFdFM2Qjs7QU1qRHJELEFBQUEsTUFBTSxDQUFDO0VBWlAsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFN0V3Yk8sVUFBVSxDQUFDLE1BQU07RTZFdGIvQixhQUFhLEU3RWlGQyxHQUFHO0U2RS9FakIsU0FBUyxFN0VtYk8sTUFBTTtFNkVsYnRCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLE9BQU87RUFPYixVQUFVLEU3RURILE9BQU87RTZFRWQsS0FBSyxFN0VTRCxPQUFPLEc2RURaO0VBWkQsQUFPSSxNQVBFLEFBT0QsUUFBUSxDQUFFO0lBQ1QsVUFBVSxFN0VOUCxPQUFPO0k2RU9WLEtBQUssRTdFSUwsT0FBTyxHNkVIUjtFQVZMLEFBT0ksTUFQRSxBQU9ELFVBQVUsQ0FBQTtJQUNULFVBQVUsRTdFTEwsT0FBTztJNkVNWixLQUFLLEU3RUlMLE9BQU8sRzZFSFI7RUFWTCxBQU9JLE1BUEUsQUFPRCxRQUFRLENBQUU7SUFDVCxVQUFVLEU3RUpQLE9BQU87STZFS1YsS0FBSyxFN0VHTCxPQUFPLEc2RUZSO0VBVkwsQUFPSSxNQVBFLEFBT0QsUUFBUSxDQUFFO0lBQ1QsVUFBVSxFN0VIUCxPQUFPO0k2RUlWLEtBQUssRTdFR0wsT0FBTyxHNkVGUjtFQVZMLEFBT0ksTUFQRSxBQU9ELE1BQU0sQ0FBSTtJQUNULFVBQVUsRTdFRlQsT0FBTztJNkVHUixLQUFLLEU3RUlMLE9BQU8sRzZFSFI7RUFWTCxBQU9JLE1BUEUsQUFPRCxNQUFNLENBQUk7SUFDVCxVQUFVLEU3RURULElBQUk7STZFRUwsS0FBSyxFN0VHTCxPQUFPLEc2RUZSOztBT2xCTCxBQUFBLFNBQVMsQ0FBQztFQXBDVixNQUFNLEVwRjZrQlUsSUFBSTtFb0Y1a0JwQixhQUFhLEVwRitHQyxJQUFJO0VvRjlHbEIsYUFBYSxFcEZrSEMsR0FBRztFb0ZqSGpCLGdCQUFnQixFcEZtREosT0FBTyxHb0ZSbEI7RUFWRCxBQUtNLFNBTEcsQUFJSixRQUFRLENBQ1AsZUFBZSxDQUFDO0lBQ2QsZ0JBQWdCLEVwRklmLE9BQU8sR29GSFQ7RUFQUCxBQUtNLFNBTEcsQUFJSixVQUFVLENBQ1QsZUFBZSxDQUFDO0lBQ2QsZ0JBQWdCLEVwRktiLE9BQU8sR29GSlg7RUFQUCxBQUtNLFNBTEcsQUFJSixRQUFRLENBQ1AsZUFBZSxDQUFDO0lBQ2QsZ0JBQWdCLEVwRk1mLE9BQU8sR29GTFQ7RUFQUCxBQUtNLFNBTEcsQUFJSixRQUFRLENBQ1AsZUFBZSxDQUFDO0lBQ2QsZ0JBQWdCLEVwRk9mLE9BQU8sR29GTlQ7RUFQUCxBQUtNLFNBTEcsQUFJSixNQUFNLENBQ0wsZUFBZSxDQUFDO0lBQ2QsZ0JBQWdCLEVwRlFqQixPQUFPLEdvRlBQO0VBUFAsQUFLTSxTQUxHLEFBSUosTUFBTSxDQUNMLGVBQWUsQ0FBQztJQUNkLGdCQUFnQixFcEZTakIsSUFBSSxHb0ZSSjs7QUFNUCxBQUFBLGVBQWUsQ0FBQztFQXpDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsRUFBRTtFQUNULE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVwRmtDUCxPQUFPO0VvRi9CZCxhQUFhLEVwRnFHRCxHQUFHLEdvRmpFaEI7O0FBR0QsQUFBQSxvQkFBb0IsQ0FBQztFMUUrTHJCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxTQUFTLEVBQUUscUJBQXFCO0UwRWxPaEMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVwRitCQyxPQUFPO0VvRjlCYixXQUFXLEVBQUUsTUFBTTtFQUdqQixhQUFhLEVwRnNGRCxHQUFHLEdvRjVEaEI7O0FFMkNELEFBQUEsT0FBTyxDQUFDO0VBcEZSLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRXRGNmxCUSxNQUFNO0VzRjVsQnBCLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxPQUFPO0VBRXRCLGdCQUFnQixFdEZpQ0wsT0FBTztFc0ZoQ2xCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUksR0E4RWpCOztBQUdELEFBQUEsWUFBWSxDQUFDO0VBNUViLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFFUCxPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRXRGMmtCUSxNQUFNO0VzRnprQnBCLGdCQUFnQixFdEZrQkosT0FBTztFc0ZqQm5CLFVBQVUsRXRGdWtCUSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR3NGbGdCckM7RUFGRCxBQWpFQSxZQWlFWSxBQWpFWCxZQUFZLENBQUM7SUFDWixVQUFVLEVBQUUsYUFBYSxHQUMxQjs7QUFvRUQsQUFBQSxjQUFjLENBQUM7RTVFd0hmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsU0FBUyxFQUFFLGdCQUFnQjtFNEV2TDNCLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFQUFFLENBQUM7RUFFVixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEV0RjZqQmUsTUFBTTtFc0Y1akIxQixNQUFNLEV0RjJqQmUsTUFBTTtFc0Z6akIzQixhQUFhLEV0RjZEQyxHQUFHO0VzRjVEakIsZ0JBQWdCLEV0RlZQLE9BQU87RXNGV2hCLFVBQVUsRXRGbWpCUSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVc7RXNGbGpCdEMsWUFBWSxFQUFFLFlBQVksR0FxRHpCO0c1RW9GRCxBQUFBLEFBQUEsY0FBQyxDQUFlLE9BQU8sQUFBdEIsRTRFdEZELGNBQWMsQzVFc0ZhO0lBQ3pCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RTRFeEZELEFBakRBLGNBaURjLEFBakRiLE1BQU0sQ0FBQztJQUNOLGdCQUFnQixFQUFFLE9BQXdELEdBQzNFO0VBK0NELEFBN0NBLGNBNkNjLEFBN0NiLFlBQVksQ0FBQztJQUNaLFVBQVUsRUFBRSxhQUFhLEdBQzFCOztBQWdERCxBQUFBLE9BQU8sQUFBQSxTQUFTO0FBQ2hCLE9BQU8sQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0VBN0NsQixPQUFPLEV0RjZpQmlCLElBQUk7RXNGNWlCNUIsTUFBTSxFQUFFLFdBQVcsR0E4Q2xCOztBQUdELEFBQUEsT0FBTyxBQUFBLFNBQVMsQ0FBQztFQTdDakIsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFdEYraEJpQixNQUFNO0VzRjloQjVCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLFNBQVM7RUFDakIsU0FBUyxFQUFFLFlBQVksR0EyQ3RCO0VBRkQsQUF2Q0EsT0F1Q08sQUFBQSxTQUFTLENBdkNoQixZQUFZLENBQUM7SUFDWCxHQUFHLEVBQUUsQ0FBQztJQUNOLEtBQUssRXRGd2hCZSxNQUFNO0lzRnZoQjFCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBbUNELEFBakNBLE9BaUNPLEFBQUEsU0FBUyxDQWpDaEIsY0FBYyxDQUFDO0lBQ2IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsR0FBRztJQUNULEtBQUssRXRGcWhCYyxNQUFNO0lzRnBoQnpCLE1BQU0sRXRGcWhCWSxNQUFNO0lzRnBoQnhCLFNBQVMsRUFBRSxnQkFBZ0IsR0FDNUI7O0FFc0dELEFBQUEsT0FBTyxDQUFDO0VBQ04sTUFBTSxFeEZzYk0sSUFBSTtFd0Zua0JsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixhQUFhLEV4RnVEQyxJQUFJO0V3RnREbEIsT0FBTyxFQUFFLENBQUM7RUFHVixTQUFTLEVyRnFCQyxRQUE2QztFcUZwQnZELFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRXhGTkMsT0FBTztFd0ZRYixXQUFXLEVBQUUsSUFBSSxHQXNJaEI7O0FBR0QsQUFBQSxhQUFhLENBQUM7RUFwSWQsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLENBQUM7RUFDaEIsT0FBTyxFQUFFLENBQUMsR0FvSVQ7O0FBR0QsQUFBQSxjQUFjLENBQUM7RUE3SGYsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBUFUsSUFBa0I7RUFRakMsTUFBTSxFeEZzaUJRLElBQUk7RXdGcGlCbEIsYUFBYSxFeEY2QkMsR0FBRztFd0Y1QmpCLFVBQVUsRXhGbENFLE9BQU87RXdGbUNuQixVQUFVLEV4RjJpQmUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO0V3RnhpQjNDLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLEtBQUssRUFBRSxPQUFPO0VBRWQsTUFBTSxFQUFFLE9BQU8sR0FrSGQ7RUEvR0QsQUFBQSxLQUFLLEdBNkdMLGNBQWMsQ0E3R0o7SUFDUixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBMkdELEFBeEdBLGNBd0djLEFBeEdiLE9BQU8sQ0FBQztJQUNQLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRXhGeWhCZ0IsT0FBTztJd0Z4aEIxQixJQUFlLEV4RndoQkksT0FBTztJd0Z0aEIxQixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUE5QlEsTUFBNEM7SUErQnpELE1BQU0sRUFoQ1EsTUFBNEM7SUFrQzFELFNBQVMsRUFBRSxvQkFBb0I7SUFDL0IsYUFBYSxFeEZHRCxHQUFHO0l3RkZmLFVBQVUsRXhGekROLE9BQU87SXdGMERYLFVBQVUsRXhGaWhCYSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7SXdGaGhCekMsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQUdELEFBQUEsS0FBSyxBQUFBLFFBQVEsR0F1RmIsY0FBYyxDQXZGSTtJQUNoQixVQUFVLEV4RjNFSCxPQUFPLEd3RmdGZjtJQU5ELEFBR0UsS0FIRyxBQUFBLFFBQVEsR0F1RmIsY0FBYyxBQXBGWCxPQUFPLENBQUM7TUFDUCxJQUFlLEVBNUNJLE9BQXFELEdBNkN6RTtHOUVzRUgsQUFBQSxBQUFBLGNBQUMsQ0FBZSxPQUFPLEFBQXRCLEU4RW5FRCxLQUFLLEFBQUEsTUFBTSxHQStFWCxjQUFjLEM5RVphO0lBQ3pCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0E4RW9CRCxBQUxBLGNBS2MsRUFNZCxnQkFBZ0IsQ0FYSDtFQTdFYixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxnQkFBZ0IsR0E2RTFCOztBQUdELEFBQUEsY0FBYyxDQUFDO0VBM0VmLElBQWUsRUFBRSxFQUFFO0VBQ25CLE9BQU8sRUFBRSxJQUFJLEdBNkVaO0VBM0VELEFBQUEsS0FBSyxBQUFBLFFBQVEsR0FBRyxLQUFLLEdBd0VyQixjQUFjLENBeEVZO0lBQ3hCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBNEVELEFBQUEsZ0JBQWdCLENBQUM7RUF2RWpCLEtBQWdCLEVBQUUsR0FBRyxHQTBFcEI7RUF4RUQsQUFBQSxLQUFLLEFBQUEsUUFBUSxHQUFHLEtBQUssR0FxRXJCLGdCQUFnQixDQXJFVTtJQUN4QixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQXlFRCxBQUFBLE9BQU8sQUFBQSxLQUFLLENBQUM7RUF2RGIsTUFBTSxFeEY4Y2EsTUFBTSxHd0ZyWnhCO0VBRkQsQUFyREEsT0FxRE8sQUFBQSxLQUFLLENBckRaLGNBQWMsQ0FBQztJQUNiLEtBQUssRUFSUSxJQUFrQjtJQVMvQixNQUFNLEV4RjBjVyxNQUFNO0l3RnpjdkIsU0FBUyxFckZqR0QsUUFBNkMsR3FGa0d0RDtFQWlERCxBQS9DQSxPQStDTyxBQUFBLEtBQUssQ0EvQ1osY0FBYyxBQUFBLE9BQU8sQ0FBQztJQUNwQixHQUFHLEV4RjJjZ0IsT0FBTztJd0YxYzFCLElBQWUsRXhGMGNJLE9BQU87SXdGemMxQixLQUFLLEVBZlEsSUFBcUM7SUFnQmxELE1BQU0sRUFmUSxJQUFxQyxHQWdCcEQ7RUEwQ0QsQUF4Q0EsT0F3Q08sQUFBQSxLQUFLLENBeENaLEtBQUssQUFBQSxRQUFRLEdBQUcsY0FBYyxBQUFBLE9BQU8sQ0FBQztJQUNwQyxJQUFlLEVBbEJNLE9BQThDLEdBbUJwRTs7QUEwQ0QsQUFBQSxPQUFPLEFBQUEsTUFBTSxDQUFDO0VBM0RkLE1BQU0sRXhGK2NjLE9BQU8sR3dGbFoxQjtFQUZELEFBekRBLE9BeURPLEFBQUEsTUFBTSxDQXpEYixjQUFjLENBQUM7SUFDYixLQUFLLEVBUlEsTUFBa0I7SUFTL0IsTUFBTSxFeEYyY1ksT0FBTztJd0YxY3pCLFNBQVMsRXJGakdELE9BQTZDLEdxRmtHdEQ7RUFxREQsQUFuREEsT0FtRE8sQUFBQSxNQUFNLENBbkRiLGNBQWMsQUFBQSxPQUFPLENBQUM7SUFDcEIsR0FBRyxFeEYyY2dCLE9BQU87SXdGMWMxQixJQUFlLEV4RjBjSSxPQUFPO0l3RnpjMUIsS0FBSyxFQWZRLE9BQXFDO0lBZ0JsRCxNQUFNLEVBZlEsT0FBcUMsR0FnQnBEO0VBOENELEFBNUNBLE9BNENPLEFBQUEsTUFBTSxDQTVDYixLQUFLLEFBQUEsUUFBUSxHQUFHLGNBQWMsQUFBQSxPQUFPLENBQUM7SUFDcEMsSUFBZSxFQWxCTSxJQUE4QyxHQW1CcEU7O0FBOENELEFBQUEsT0FBTyxBQUFBLE1BQU0sQ0FBQztFQS9EZCxNQUFNLEV4RmdkYyxNQUFNLEd3Ri9ZekI7RUFGRCxBQTdEQSxPQTZETyxBQUFBLE1BQU0sQ0E3RGIsY0FBYyxDQUFDO0lBQ2IsS0FBSyxFQVJRLElBQWtCO0lBUy9CLE1BQU0sRXhGNGNZLE1BQU07SXdGM2N4QixTQUFTLEVyRmpHRCxJQUE2QyxHcUZrR3REO0VBeURELEFBdkRBLE9BdURPLEFBQUEsTUFBTSxDQXZEYixjQUFjLEFBQUEsT0FBTyxDQUFDO0lBQ3BCLEdBQUcsRXhGMmNnQixPQUFPO0l3RjFjMUIsSUFBZSxFeEYwY0ksT0FBTztJd0Z6YzFCLEtBQUssRUFmUSxJQUFxQztJQWdCbEQsTUFBTSxFQWZRLElBQXFDLEdBZ0JwRDtFQWtERCxBQWhEQSxPQWdETyxBQUFBLE1BQU0sQ0FoRGIsS0FBSyxBQUFBLFFBQVEsR0FBRyxjQUFjLEFBQUEsT0FBTyxDQUFDO0lBQ3BDLElBQWUsRUFsQk0sT0FBOEMsR0FtQnBFOztBQzJHRCxBQUFBLEtBQUssQ0FBQztFQTlHTixlQUFlLEVBQUUsUUFBUTtFQUN6QixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRXpGOUVDLElBQUk7RXlGK0VsQixhQUFhLEV6RjNFQyxHQUFHLEd5RndMaEI7RUFwTUQsQUFBQSxLQUFLO0VBQ0wsS0FBSztFQUNMLEtBQUssQ0FBQztJQUNKLE1BQU0sRXpGZ2lCSyxHQUFHLENBQUMsS0FBSyxDTW5qQmQsT0FBdUM7SW1Gb0I3QyxnQkFBZ0IsRXpGbkRaLE9BQU8sR3lGb0RaO0VBR0QsQUFBQSxPQUFPLENBQUM7SUFDTixPQUFPLEV0Ri9CQyxNQUE2QyxDQUE3QyxRQUE2QyxDQUE3QyxRQUE2QztJc0ZnQ3JELFdBQVcsRXpGQ00sSUFBSSxHeUZBdEI7RXpDN0RDLEFBQUEsS0FBSyxDeUNnRUQ7SUFDSixVQUFVLEVuRi9CSixPQUF1QztJbUZnQzdDLEtBQUssRXpGakRVLE9BQU8sR3lGa0R2QjtFQUdELEFBQUEsS0FBSyxDQUFDO0lBQ0osVUFBVSxFbkZyQ0osT0FBdUM7SW1Gc0M3QyxLQUFLLEV6RnZEVSxPQUFPLEd5RndEdkI7RUFHRCxBQUdFLEtBSEcsQ0FHSCxFQUFFO0VBRkosS0FBSyxDQUVILEVBQUUsQ0FBQztJQUNELFVBQVUsRUFBRSxXQUFXLEdBQ3hCO0VBTEgsQUFRRSxLQVJHLENBUUgsRUFBRTtFQVJKLEtBQUssQ0FTSCxFQUFFO0VBUkosS0FBSyxDQU9ILEVBQUU7RUFQSixLQUFLLENBUUgsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFdEYxREQsTUFBNkMsQ0FBN0MsUUFBNkMsQ0FBN0MsUUFBNkM7SXNGMkRuRCxXQUFXLEV6RjFCSSxJQUFJO0l5RjJCbkIsVUFBVSxFQUFDLElBQUMsR0FDYjtFQUlILEFBQ0UsS0FERyxDQUNILEVBQUU7RUFESixLQUFLLENBRUgsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFdEZwRUQsTUFBNkMsQ0FBN0MsUUFBNkMsQ0FBN0MsUUFBNkMsR3NGcUVwRDtFQUtELEFBNUVFLEtBNEVHLENBL0VQLEVBQUUsQUFHRyxVQUFXLENBQUEsSUFBSSxFQUFFO0lBQ2hCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGdCQUFnQixFbkZNZCxPQUF1QyxHbUZMMUM7RUF1TkwsQUF6SUksS0F5SUMsQUExSUYsVUFBVSxDQUNULEtBQUssQ0FBQztJQUVKLGdCQUFnQixFekYxR2hCLE9BQU8sR3lGMkdSO0lBc0lMLEFBMU1BLEtBME1LLEFBMUlGLFVBQVUsQ0FDVCxLQUFLLENBakVULEVBQUUsQ0FBQztNQUNELGFBQWEsRUFBRSxDQUFDO01BQ2hCLGFBQWEsRXpGeWlCRixHQUFHLENBQUMsS0FBSyxDTW5qQmQsT0FBdUM7TW1GVzdDLGdCQUFnQixFekYxQ1osT0FBTyxHeUYyQ1o7O0FoRjhERyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0VnRjRJM0MsQUF6QkUsS0F5QkcsQUFBQSxNQUFNLENBekJULEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUF1QkgsQUFwQkEsS0FvQkssQUFBQSxNQUFNLENBcEJYLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFrQkQsQUFoQkEsS0FnQkssQUFBQSxNQUFNLENBaEJYLEVBQUU7RUFnQkYsS0FBSyxBQUFBLE1BQU0sQ0FmWCxFQUFFO0VBZUYsS0FBSyxBQUFBLE1BQU0sQ0FkWCxFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VBWUQsQUFWQSxLQVVLLEFBQUEsTUFBTSxDQVZYLEVBQUUsQ0FBQztJQUNELFVBQVUsRUFBRSxDQUFDLEdBQ2Q7O0FBY0QsQUFBQSxLQUFLLEFBQUEsT0FBTyxDQUFDO0VBdkdiLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSSxHQXVHZjs7QUFFRCxBQWxHRSxLQWtHRyxBQUFBLE1BQU0sQ0FwR1gsS0FBSyxDQUFDLEVBQUUsQUFFTCxNQUFNLENBQUM7RUFDTixnQkFBZ0IsRXpGNmJDLE9BQWtELEd5RjVicEU7O0FBZ0dILEFBM0ZFLEtBMkZHLEFBQUEsTUFBTSxDQTdGWCxLQUFLLENBQUMsRUFBRSxBQUVMLE1BQU0sQ0FBQztFQUNOLGdCQUFnQixFekZ3YkMsT0FBa0QsR3lGdmJwRTs7QUF5RkgsQUFwRkUsS0FvRkcsQUFBQSxNQUFNLENBdEZYLEtBQUssQ0FBQyxFQUFFLEFBRUwsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEV6RnlhSixPQUE2QyxHeUZ4YTFEOztBQWtGSCxBQTVFSSxLQTRFQyxBQUFBLE1BQU0sQUE1RU4sSUFBSyxDQUFBLFVBQVUsRUFBRSxFQUFFLEFBQUEsWUFBYSxDQTVKckIsSUFBSSxDQTRKc0IsTUFBTSxDQUFDO0VBQzNDLGdCQUFnQixFekZrYUMsT0FBa0UsR3lGamFwRjs7QUE4RUwsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEVBQUUsSUFBSSxHQUtqQjtFQU5ELEFBR0UsYUFIVyxDQUdYLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0F0QnRSSCxBQUFBLE1BQU0sQ0FBQztFQVhQLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFNBQVMsRW5FcVFNLEtBQUs7RW1FcFFwQixPQUFPLEVuRW1RTyxLQUFLO0VtRWpRbkIsYUFBYSxFQUFFLEdBQUc7RUFFbEIsU0FBUyxFbkVpUU8sTUFBTTtFbUVoUXRCLFVBQVUsRUFBRSxNQUFNO0VBT2hCLFVBQVUsRW5FQUgsT0FBTztFbUVDZCxLQUFLLEVuRVVELE9BQU8sR21FRlo7RUFaRCxBQU9JLE1BUEUsQUFPRCxRQUFRLENBQUU7SUFDVCxVQUFVLEVuRUxQLE9BQU87SW1FTVYsS0FBSyxFbkVLTCxPQUFPLEdtRUpSO0VBVkwsQUFPSSxNQVBFLEFBT0QsVUFBVSxDQUFBO0lBQ1QsVUFBVSxFbkVKTCxPQUFPO0ltRUtaLEtBQUssRW5FS0wsT0FBTyxHbUVKUjtFQVZMLEFBT0ksTUFQRSxBQU9ELFFBQVEsQ0FBRTtJQUNULFVBQVUsRW5FSFAsT0FBTztJbUVJVixLQUFLLEVuRUlMLE9BQU8sR21FSFI7RUFWTCxBQU9JLE1BUEUsQUFPRCxRQUFRLENBQUU7SUFDVCxVQUFVLEVuRUZQLE9BQU87SW1FR1YsS0FBSyxFbkVJTCxPQUFPLEdtRUhSO0VBVkwsQUFPSSxNQVBFLEFBT0QsTUFBTSxDQUFJO0lBQ1QsVUFBVSxFbkVEVCxPQUFPO0ltRUVSLEtBQUssRW5FS0wsT0FBTyxHbUVKUjtFQVZMLEFBT0ksTUFQRSxBQU9ELE1BQU0sQ0FBSTtJQUNULFVBQVUsRW5FQVQsSUFBSTtJbUVDTCxLQUFLLEVuRUlMLE9BQU8sR21FSFI7O0FDaURMLEFBQUEsWUFBWSxDQUFDO0VBM0NiLE1BQU0sRXBFaVBhLENBQUMsQ0FBQyxDQUFDLENBNUxSLElBQUksQ0E0TG9CLENBQUM7RW9FaFB2QyxVQUFVLEVBQUUsSUFBSSxHQWlEZjtFQVBELEExRDZEQSxZMEQ3RFksQTFENkRYLFFBQVEsRTBEN0RULFlBQVksQTFEOERYLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLEdBQUcsR0FNYjtFMER0RUQsQTFEd0VBLFkwRHhFWSxBMUR3RVgsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUksR0FDWjtFMEQxRUQsQUF2Q0EsWUF1Q1ksQ0F2Q1osRUFBRSxDQUFDO0lBQ0QsS0FBSyxFQUFDLElBQUM7SUFFUCxTQUFTLEVqRWdCRCxTQUE2QztJaUVmckQsS0FBSyxFcEVYRCxPQUFPO0lvRVlYLE1BQU0sRUFBRSxPQUFPO0lBR2IsY0FBYyxFQUFFLFNBQVMsR0FrQjVCO0lBYUQsQUF4QkksWUF3QlEsQ0F2Q1osRUFBRSxBQWVHLElBQUssQ0FBQSxXQUFXLENBQUMsT0FBTyxDQUFDO01BQ3hCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxDQUFDLENwRWlPUyxPQUFPO01vRWhPekIsT0FBTyxFQUFFLENBQUM7TUFDVixPQUFPLEVBekNtQixHQUFHO01BMEM3QixLQUFLLEVwRTdCQyxPQUFPLEdvRThCZDtFQWtCTCxBQVZBLFlBVVksQ0FWWixDQUFDLENBQUM7SUFDQSxLQUFLLEVwRS9DRSxPQUFPLEdvRW9EZjtJQUlELEFBUEUsWUFPVSxDQVZaLENBQUMsQUFHRSxNQUFNLENBQUM7TUFDTixlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQUtILEFBR0UsWUFIVSxDQUdWLFNBQVMsQ0FBQztJQUNSLEtBQUssRXBFcERHLE9BQU87SW9FcURmLE1BQU0sRUFBRSxXQUFXLEdBQ3BCOztBQzFCSCxBQUFBLFFBQVEsRXdFcTBCVCxnQkFBZ0IsQ3hFcjBCTjtFQTFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVyRXNUUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0VxRXJUekIsT0FBTyxFckVzVFMsSUFBSTtFcUVwVHBCLE1BQU0sRXJFa1RTLEdBQUcsQ0FBQyxLQUFLLENBdFNsQixzQkFBTztFcUVYYixhQUFhLEVyRXVURSxDQUFDO0VxRXRTaEIsZ0JBQWdCLEVBRkgsS0FBeUQ7RUFHdEUsS0FBSyxFckVRWSxPQUFPLEdxRTJCdkI7RUFoQkQsQUFsQ0EsUUFrQ1EsR0FsQ04sWUFBWSxFd0V1MkJmLGdCQUFnQixHeEV2MkJiLFlBQVksQ0FBQztJQUNiLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7RUFnQ0QsQUE5QkEsUUE4QlEsR0E5Qk4sV0FBVyxFd0VtMkJkLGdCQUFnQixHeEVuMkJiLFdBQVcsQ0FBQztJQUNaLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBNEJELEFBSUksUUFKSSxBQUlILFFBQVEsRUFBUixRQUFRLEF3RWkwQmQsZ0JBQWdCLEN4RWowQkE7SUF4QmYsZ0JBQWdCLEVBRkgsT0FBeUQ7SUFHdEUsS0FBSyxFckVRWSxPQUFPLEdxRWlCbkI7RUFOTCxBQUlJLFFBSkksQUFJSCxVQUFVLEVBQVYsVUFBVSxBd0VpMEJoQixnQkFBZ0IsQ3hFajBCQTtJQXhCZixnQkFBZ0IsRUFGSCxPQUF5RDtJQUd0RSxLQUFLLEVyRVFZLE9BQU8sR3FFaUJuQjtFQU5MLEFBSUksUUFKSSxBQUlILFFBQVEsRUFBUixRQUFRLEF3RWkwQmQsZ0JBQWdCLEN4RWowQkE7SUF4QmYsZ0JBQWdCLEVBRkgsT0FBeUQ7SUFHdEUsS0FBSyxFckVRWSxPQUFPLEdxRWlCbkI7RUFOTCxBQUlJLFFBSkksQUFJSCxRQUFRLEVBQVIsUUFBUSxBd0VpMEJkLGdCQUFnQixDeEVqMEJBO0lBeEJmLGdCQUFnQixFQUZILE9BQXlEO0lBR3RFLEtBQUssRXJFUVksT0FBTyxHcUVpQm5CO0VBTkwsQUFJSSxRQUpJLEFBSUgsTUFBTSxFQUFOLE1BQU0sQXdFaTBCWixnQkFBZ0IsQ3hFajBCQTtJQXhCZixnQkFBZ0IsRUFGSCxPQUF5RDtJQUd0RSxLQUFLLEVyRVFZLE9BQU8sR3FFaUJuQjtFQU5MLEFBSUksUUFKSSxBQUlILE1BQU0sRUFBTixNQUFNLEF3RWkwQlosZ0JBQWdCLEN4RWowQkE7SUF4QmYsZ0JBQWdCLEVBRkgsS0FBeUQ7SUFHdEUsS0FBSyxFckVRWSxPQUFPLEdxRWlCbkI7RUFOTCxBQVNFLFFBVE0sQUFTTCxNQUFNLEVBQU4sTUFBTSxBd0U0ekJWLGdCQUFnQixDeEU1ekJMO0lBeEJWLFdBQVcsRUF5QmUsTUFBTTtJQXhCaEMsYUFBYSxFQXdCYSxNQUFNO0lBdkJoQyxjQUFjLEVBdUJZLE1BQU07SUF0QmhDLFlBQVksRUFzQmMsTUFBTSxHQUM3QjtFQVhILEFBYUUsUUFiTSxBQWFMLE1BQU0sRUFBTixNQUFNLEF3RXd6QlYsZ0JBQWdCLEN4RXh6Qkw7SUE1QlYsV0FBVyxFQTZCZSxJQUFJO0lBNUI5QixhQUFhLEVBNEJhLElBQUk7SUEzQjlCLGNBQWMsRUEyQlksSUFBSTtJQTFCOUIsWUFBWSxFQTBCYyxJQUFJLEdBQzNCOztBQ1FILEFBQUEsS0FBSyxDQUFDO0VBbEROLGFBQWEsRXRFeURDLElBQUk7RXNFdkRsQixNQUFNLEV0RW9UTSxHQUFHLENBQUMsS0FBSyxDQXhUVixPQUFPO0VzRUtsQixhQUFhLEV0RTBEQyxHQUFHO0VzRXhEakIsVUFBVSxFdEVISixPQUFPO0VzRUliLFVBQVUsRXRFaVRFLElBQUk7RXNFL1NoQixRQUFRLEVBQUUsTUFBTTtFQUNoQixLQUFLLEV0RU9ZLE9BQU8sR3NFb0N2QjtFQUZELEFBdkNBLEtBdUNLLEdBdkNELFdBQVcsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQXlDRCxBQUFBLGFBQWEsQ0FBQztFQTVCZCxPQUFPLEV0RWdDUSxJQUFJO0VzRS9CbkIsVUFBVSxFdEU3QkMsT0FBTyxHc0UwRGpCO0VBRkQsQUF6QkEsYUF5QmEsR0F6QlQsV0FBVyxDQUFDO0lBQ2QsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBMkJELEFBQUEsYUFBYSxDQUFDO0VBaEJkLE9BQU8sRXRFZ0JRLElBQUksR3NFRWxCO0VBRkQsQUFkQSxhQWNhLEdBZFQsV0FBVyxDQUFDO0lBQ2QsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBa0JELEFBQUEsV0FBVyxDQUFDO0VBQ1YsVUFBVSxFQUFFLEdBQUcsR0FDaEI7O0FJMURELEFBQUEsY0FBYyxDQUFDO0VBM0JmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxFQUFFO0VBRVgsS0FBSyxFMUVnWFUsS0FBSztFMEUvV3BCLE9BQU8sRTFFMldVLElBQUk7RTBFeldyQixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRTFFeVdVLEdBQUcsQ0FBQyxLQUFLLENBL1ZiLE9BQU87RTBFVG5CLGFBQWEsRTFFdUVDLEdBQUc7RTBFdEVqQixnQkFBZ0IsRTFFV1YsT0FBTztFMEVUYixTQUFTLEUxRXNXVSxJQUFJLEcwRXJWdEI7RUFGRCxBQVhBLGNBV2MsQUFYYixXQUFXLENBQUM7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VBU0QsQUFQQSxjQU9jLEFBUGIsUUFBUSxDQUFDO0lBQ1IsVUFBVSxFQUFFLE9BQU87SUFDbkIsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFTQyxBQUFBLGNBQWMsQUFBQSxLQUFLLENBQUs7RUFDdEIsS0FBSyxFMUVxVkgsS0FBSyxHMEVwVlI7O0FBRkQsQUFBQSxjQUFjLEFBQUEsTUFBTSxDQUFJO0VBQ3RCLEtBQUssRTFFc1ZGLEtBQUssRzBFclZUOztBQUZELEFBQUEsY0FBYyxBQUFBLE1BQU0sQ0FBSTtFQUN0QixLQUFLLEUxRXVWRixLQUFLLEcwRXRWVDs7QVNxRkgsQUFBQSxXQUFXLENBQUM7RUFuRlosV0FBc0IsRUFBUyxDQUFDO0VBQ2hDLGFBQWEsRW5GdUNDLElBQUksR21GeURqQjtFQWRELEF6RVFBLFd5RVJXLEF6RVFWLFFBQVEsRXlFUlQsV0FBVyxBekVTVixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxHQUFHLEdBTWI7RXlFakJELEF6RW1CQSxXeUVuQlcsQXpFbUJWLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJLEdBQ1o7RXlFckJELEFBL0VBLFdBK0VXLENBL0VYLEVBQUUsQ0FBQztJQUNELFlBQXVCLEVoRktmLFNBQTZDO0lnRkpyRCxhQUFhLEVuRnNDRCxHQUFHO0ltRnJDZixTQUFTLEVoRkdELFFBQTZDO0lnRkduRCxPQUFPLEVBQUUsSUFBSSxHQWlCaEI7SUFxREQsQUFwRUksV0FvRU8sQ0EvRVgsRUFBRSxBQVdHLFdBQVcsRUFvRWhCLFdBQVcsQ0EvRVgsRUFBRSxBQVlHLFlBQVksQ0FBQztNQUNaLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0kxRW1FRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMEVGN0MsQUEvRUEsV0ErRVcsQ0EvRVgsRUFBRSxDQUFDO1FBdUJHLE9BQU8sRUFBRSxZQUFZLEdBRzFCO0VBcURELEFBbERBLFdBa0RXLENBbERYLENBQUM7RUFrREQsV0FBVyxDQWpEWCxNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRWhGMUJDLFNBQTZDLENBQTdDLFFBQTZDO0lnRjJCckQsYUFBYSxFbkZPRCxHQUFHO0ltRk5mLEtBQUssRW5GdERELE9BQU8sR21GMkRaO0lBd0NELEFBM0NFLFdBMkNTLENBbERYLENBQUMsQUFPRSxNQUFNO0lBMkNULFdBQVcsQ0FqRFgsTUFBTSxBQU1ILE1BQU0sQ0FBQztNQUNOLFVBQVUsRW5GNURILE9BQU8sR21GNkRmO0VBeUNILEFBR0UsV0FIUyxDQUdULFFBQVEsQ0FBQztJQWxDWCxPQUFPLEVoRjFDRyxTQUE2QyxDQUE3QyxRQUE2QztJZ0YyQ3ZELFVBQVUsRW5GL0VELE9BQU87SW1GZ0ZoQixLQUFLLEVuRnJFQyxPQUFPO0ltRnNFYixNQUFNLEVBQUUsT0FBTyxHQWlDWjtFQUxILEFBT0UsV0FQUyxDQU9ULFNBQVMsQ0FBQztJQTNCWixPQUFPLEVoRnJERyxTQUE2QyxDQUE3QyxRQUE2QztJZ0ZzRHZELEtBQUssRW5GbEZPLE9BQU87SW1GbUZuQixNQUFNLEVBQUUsV0FBVyxHQTJCaEI7SUFUSCxBQWhCQSxXQWdCVyxDQU9ULFNBQVMsQUF2QlYsTUFBTSxDQUFDO01BQ04sVUFBVSxFQUFFLFdBQVcsR0FDeEI7RUFjRCxBQVdFLFdBWFMsQ0FXVCxTQUFTLEFBQUEsT0FBTyxDQUFDO0lBakJuQixPQUFPLEVoRm5FRyxTQUE2QyxDQUE3QyxRQUE2QztJZ0ZvRXZELE9BQU8sRUFBRSxPQUFPO0lBQ2hCLEtBQUssRW5GL0ZDLE9BQU8sR21GZ0hWOztBQUlELEFBQUEsb0JBQW9CLENBQUMsQ0FBQyxBQUFBLFFBQVE7QUFDOUIsb0JBQW9CLEFBQUEsU0FBUyxBQUFBLFFBQVEsQ0FBQztFQUNwQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixZQUF1QixFQUFTLE1BQU07RUFDdEMsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQyxDQUFDLEFBQUEsT0FBTztBQUN6QixnQkFBZ0IsQUFBQSxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQy9CLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQXNCLEVBQVMsTUFBTTtFQUNyQyxPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QVd0Q0gsQUFBQSxRQUFRLENBQUM7RUFuR1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFFckIsYUFBYSxFOUZtcEJTLE1BQU0sQ0FBQyxHQUFHLENBOW9CdEIsT0FBTztFOEZKakIsV0FBVyxFOUZnRVEsSUFBSTtFOEYvRHZCLE1BQU0sRUFoRFMsSUFBSSxHQWdKbEI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUE5RlQsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLHNCQUFtQztFQUN4QyxPQUFPLEVBQUUsSUFBSTtFQUViLFNBQVMsRUFoQ1MsS0FBSztFQWlDdkIsT0FBTyxFOUYyb0JTLE9BQU87RThGem9CdkIsYUFBYSxFOUZxREMsR0FBRztFOEZwRGpCLGdCQUFnQixFOUZSVixPQUFPO0U4RlNiLFNBQVMsRTlGeUlPLEdBQUc7RThGeEluQixLQUFLLEU5RlRDLE9BQU8sRzhGK0ZaO0VBRkQsQUFsRkEsUUFrRlEsQUFsRlAsUUFBUSxDQUFDO0lBQ1IsUUFBUSxFQUFFLFFBQVEsR0FDbkI7RUFnRkQsQUE3RUUsUUE2RU0sQUE5RVAsT0FBTyxBQUNMLFFBQVEsQ0FBQztJcEZyQ1osT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1ZrcUJLLE9BQU87SVVocUJ6QixPQUFPLEVBQUUsRUFBRTtJQVFULGdCQUFnQixFQUFFLENBQUM7SUFDbkIsbUJBQW1CLEVBQUUsS0FBSztJQUMxQixZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ1ZJakMsT0FBTztJOEZtQlQsTUFBTSxFQUFFLElBQUksR0FDYjtFQTBFSCxBQXhFRSxRQXdFTSxBQTlFUCxPQUFPLEFBTUwsYUFBYSxBQUFBLFFBQVEsRWdEcEYxQixJQUFJLENBR0gsVUFBVSxDaER5SlQsUUFBUSxBQTlFUCxPQUFPLEFnRDFFUixRQUFRLEFoRGdGUSxRQUFRLEVtRG5EekIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ25EOERWLFFBQVEsQUE5RVAsT0FBTyxBbUR1REwsSUFBSSxBbkRqRFMsUUFBUSxFbURuRHpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVvRHdhekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVtRG5EekIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0dzWlgsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNEZ2F6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVtRGdKekIsMkJBQTJCLENBMkQxQixRQUFRLENuRG5JUixRQUFRLEFBOUVQLE9BQU8sQW1EK09QLElBQUksQW5Eek9XLFFBQVEsRW1EZ0p6QiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0M2TlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRW9Ed2F6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEM1NSLDJCQUEyQixDQTJEMUIsUUFBUSxDQ2tQTixFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVtRGdKekIsMkJBQTJCLENBMkQxQixRQUFRLENHcU5ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVzRGdhekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIOVVqQiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0d1U0wsRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFbURtVHpCLG9CQUFvQixDQWNuQixhQUFhLENuRHpQYixRQUFRLEFBOUVQLE9BQU8sQW1EbVZQLElBQUksQW5EN1VXLFFBQVEsRW1EbVR6QixvQkFBb0IsQ0FjbkIsYUFBYSxDQ3VHZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFb0R3YXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBY25CLGFBQWEsQ0M0SFgsRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFbURtVHpCLG9CQUFvQixDQWNuQixhQUFhLENHK0ZkLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVzRGdhekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0FjbkIsYUFBYSxDR2lMVixFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVtRG1UekIsb0JBQW9CLENBK0JuQixRQUFRLENuRDFRUixRQUFRLEFBOUVQLE9BQU8sQW1EaVdQLElBQUksQW5EM1ZXLFFBQVEsRW1EbVR6QixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRW9Ed2F6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVtRG1UekIsb0JBQW9CLENBK0JuQixRQUFRLENHOEVULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVzRGdhekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFbUQ0WXpCLHlCQUF5QixDQVd4QixRQUFRLENuRC9VUixRQUFRLEFBOUVQLE9BQU8sQW1EdWJQLElBQUksQW5EamJXLFFBQVEsRW1ENFl6Qix5QkFBeUIsQ0FXeEIsUUFBUSxDQ2lCVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFb0R3YXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0QvQ1IseUJBQXlCLENBV3hCLFFBQVEsQ0NzQ04sRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFbUQ0WXpCLHlCQUF5QixDQVd4QixRQUFRLENHU1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNEZ2F6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hsRmpCLHlCQUF5QixDQVd4QixRQUFRLENHMkZMLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRW9EUXpCLHNCQUFzQixDQUdyQixlQUFlLENBRWQsYUFBYSxDcEQyRGQsUUFBUSxBQTlFUCxPQUFPLEFvRHFDTixhQUFhLEFwRC9CQyxRQUFRLEVvRGtRekIsMEJBQTBCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENwRC9MVCxRQUFRLEFBOUVQLE9BQU8sQW9Ed1JOLFNBQVMsQXBEbFJLLFFBQVEsRW9ENmhCekIsMEJBQTBCLENwRHJkekIsUUFBUSxBQTlFUCxPQUFPLEFvRHFpQlIsZUFBZSxBcEQvaEJDLFFBQVEsRW9ENmhCekIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDcERoZlQsUUFBUSxBQTlFUCxPQUFPLEFvRCtrQk4sSUFBSSxBcER6a0JVLFFBQVEsRW9ENmhCekIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFb0R3YXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FrR1IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQTNIUCxFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVvRDZoQnpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V4SlYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNEZ2F6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFcUQwV3pCLHNCQUFzQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDckR6U2IsUUFBUSxBQTlFUCxPQUFPLEFxRHNZUCxhQUFhLEFyRGhZRSxRQUFRLEVxRDZzQnpCLGNBQWMsQ0FrQmIsYUFBYSxDckR2cEJiLFFBQVEsQUE5RVAsT0FBTyxBcUQ0dUJQLElBQUksQXJEdHVCVyxRQUFRLEVxRDZzQnpCLGNBQWMsQ0FrQmIsYUFBYSxDRHZUZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFb0R3YXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NrUlIsY0FBYyxDQWtCYixhQUFhLENEbFNYLEVBQUUsQXBEclhKLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXFENnNCekIsY0FBYyxDQWtCYixhQUFhLENDL1RkLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVzRGdhekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENEK09qQixjQUFjLENBa0JiLGFBQWEsQ0M3T1YsRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFcUQyMkJ6QixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ3JEdnlCZCxRQUFRLEFBOUVQLE9BQU8sQXFENDNCTixJQUFJLEFyRHQzQlUsUUFBUSxFcUQyMkJ6QixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0R2Y2YsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRW9Ed2F6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDZ2JSLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDRGxiWixFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVxRDIyQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDQy9jZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFc0RnYXpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRDZZakIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENDN1hYLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXFEMjJCekIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENyRHB6QlQsUUFBUSxBQTlFUCxPQUFPLEFxRHE1Qk4sSUFBSSxBckQvNEJVLFFBQVEsRXFEMjJCekIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENEcGRWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVvRHdhekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0QvYlAsRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFcUQyMkJ6QixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0M1ZFYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNEZ2F6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0Q2WWpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQzFZTixFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVzRDdFekIsb0JBQW9CLEN0RHFKbkIsUUFBUSxBQTlFUCxPQUFPLEFzRDFDUixnQkFBZ0IsQXREZ0RBLFFBQVEsRXNEN0V6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDdEQrRlAsUUFBUSxBQTlFUCxPQUFPLEFzRGZMLElBQUksQXREcUJTLFFBQVEsRXNEN0V6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFb0R3YXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENGb2RMLEVBQUUsQXBEclhKLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNEN0V6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXViUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFc0RnYXpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLEF0RDFhTCxRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVzRGdQekIsaUNBQWlDLENBRWhDLFFBQVEsQ3REMUtSLFFBQVEsQUE5RVAsT0FBTyxBc0R5UFAsSUFBSSxBdERuUFcsUUFBUSxFc0RnUHpCLGlDQUFpQyxDQUVoQyxRQUFRLENGc0xULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVvRHdhekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNNUixpQ0FBaUMsQ0FFaEMsUUFBUSxDRjJNTixFQUFFLEFwRHJYSixRQUFRLEFBOUVQLE9BQU8sQUFNUSxRQUFRLEVzRGdQekIsaUNBQWlDLENBRWhDLFFBQVEsQ0E4S1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNEZ2F6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0E5T2pCLGlDQUFpQyxDQUVoQyxRQUFRLENBZ1FMLEVBQUUsQXREMWFMLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNENlR6Qiw0QkFBNEIsQ3REclAzQixRQUFRLEFBOUVQLE9BQU8sQXNEb1VSLGFBQWEsQXREOVRHLFFBQVEsRXNENlR6Qiw0QkFBNEIsQ0FVM0IsUUFBUSxDdEQvUFIsUUFBUSxBQTlFUCxPQUFPLEFzRG9WUCxJQUFJLEF0RDlVVyxRQUFRLEVzRDZUekIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZpR1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRW9Ed2F6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQVUzQixRQUFRLENGc0hOLEVBQUUsQXBEclhKLFFBQVEsQUE5RVAsT0FBTyxBQU1RLFFBQVEsRXNENlR6Qiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFc0RnYXpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBVTNCLFFBQVEsQ0EyS0wsRUFBRSxBdEQxYUwsUUFBUSxBQTlFUCxPQUFPLEFBTVEsUUFBUSxFQXdFeEIsUUFBUSxBQTlFUCxPQUFPLEEwRHdoQlYsOEJBQThCLEExRGxoQlosUUFBUSxDQUFDO0lBQ3JCLElBQUksRUFBRSxHQUFHO0lBQ1QsU0FBUyxFQUFFLGdCQUFnQixHQUM1QjtFQXFFSCxBQWpFRSxRQWlFTSxBQWxFUCxJQUFJLEFBQ0YsUUFBUSxDQUFDO0lwRmpEWixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVmtxQkssT0FBTztJVWhxQnpCLE9BQU8sRUFBRSxFQUFFO0lBR1QsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFlBQVksRVZTUixPQUFPLENVVG1CLFdBQVcsQ0FBQyxXQUFXO0lvRndDbkQsR0FBRyxFQUFFLElBQUk7SUFDVCxNQUFNLEVBQUUsSUFBSSxHQUNiO0VBNkRILEFBM0RFLFFBMkRNLEFBbEVQLElBQUksQUFPRixhQUFhLEFBQUEsUUFBUSxFZ0RqRzFCLElBQUksQ0FHSCxVQUFVLENoRHlKVCxRQUFRLEFBbEVQLElBQUksQWdEdEZMLFFBQVEsQWhENkZRLFFBQVEsRW1EaEV6Qix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDbkQ4RFYsUUFBUSxBQWxFUCxJQUFJLEFtRDJDRixJQUFJLEFuRHBDUyxRQUFRLEVtRGhFekIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0M4WlgsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW9EMlp6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEOWVSLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDbWJSLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW1EaEV6Qix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3NaWCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFc0RtWnpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGpoQmpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENHd2VQLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW1EbUl6QiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ25EbklSLFFBQVEsQUFsRVAsSUFBSSxBbURtT0osSUFBSSxBbkQ1TlcsUUFBUSxFbURtSXpCLDJCQUEyQixDQTJEMUIsUUFBUSxDQzZOVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFb0QyWnpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0QzU1IsMkJBQTJCLENBMkQxQixRQUFRLENDa1BOLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW1EbUl6QiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0dxTlQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEbVp6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0g5VWpCLDJCQUEyQixDQTJEMUIsUUFBUSxDR3VTTCxFQUFFLEF0RDFhTCxRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVtRHNTekIsb0JBQW9CLENBY25CLGFBQWEsQ25EelBiLFFBQVEsQUFsRVAsSUFBSSxBbUR1VUosSUFBSSxBbkRoVVcsUUFBUSxFbURzU3pCLG9CQUFvQixDQWNuQixhQUFhLENDdUdkLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVvRDJaekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0FjbkIsYUFBYSxDQzRIWCxFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVtRHNTekIsb0JBQW9CLENBY25CLGFBQWEsQ0crRmQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEbVp6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQWNuQixhQUFhLENHaUxWLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW1Ec1N6QixvQkFBb0IsQ0ErQm5CLFFBQVEsQ25EMVFSLFFBQVEsQUFsRVAsSUFBSSxBbURxVkosSUFBSSxBbkQ5VVcsUUFBUSxFbURzU3pCLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFb0QyWnpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW1Ec1N6QixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0c4RVQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEbVp6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLEF0RDFhTCxRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVtRCtYekIseUJBQXlCLENBV3hCLFFBQVEsQ25EL1VSLFFBQVEsQUFsRVAsSUFBSSxBbUQyYUosSUFBSSxBbkRwYVcsUUFBUSxFbUQrWHpCLHlCQUF5QixDQVd4QixRQUFRLENDaUJULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVvRDJaekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRC9DUix5QkFBeUIsQ0FXeEIsUUFBUSxDQ3NDTixFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVtRCtYekIseUJBQXlCLENBV3hCLFFBQVEsQ0dTVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFc0RtWnpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGxGakIseUJBQXlCLENBV3hCLFFBQVEsQ0cyRkwsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFb0RMekIsc0JBQXNCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENwRDJEZCxRQUFRLEFBbEVQLElBQUksQW9EeUJILGFBQWEsQXBEbEJDLFFBQVEsRW9EcVB6QiwwQkFBMEIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ3BEL0xULFFBQVEsQUFsRVAsSUFBSSxBb0Q0UUgsU0FBUyxBcERyUUssUUFBUSxFb0RnaEJ6QiwwQkFBMEIsQ3BEcmR6QixRQUFRLEFBbEVQLElBQUksQW9EeWhCTCxlQUFlLEFwRGxoQkMsUUFBUSxFb0RnaEJ6QiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENwRGhmVCxRQUFRLEFBbEVQLElBQUksQW9EbWtCSCxJQUFJLEFwRDVqQlUsUUFBUSxFb0RnaEJ6QiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVvRDJaekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQWtHUiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBM0hQLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW9EZ2hCekIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXhKViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFc0RtWnpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLEF0RDFhTCxRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVxRDZWekIsc0JBQXNCLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENyRHpTYixRQUFRLEFBbEVQLElBQUksQXFEMFhKLGFBQWEsQXJEblhFLFFBQVEsRXFEZ3NCekIsY0FBYyxDQWtCYixhQUFhLENyRHZwQmIsUUFBUSxBQWxFUCxJQUFJLEFxRGd1QkosSUFBSSxBckR6dEJXLFFBQVEsRXFEZ3NCekIsY0FBYyxDQWtCYixhQUFhLENEdlRkLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVvRDJaekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2tSUixjQUFjLENBa0JiLGFBQWEsQ0RsU1gsRUFBRSxBcERyWEosUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFcURnc0J6QixjQUFjLENBa0JiLGFBQWEsQ0MvVGQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEbVp6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0QrT2pCLGNBQWMsQ0FrQmIsYUFBYSxDQzdPVixFQUFFLEF0RDFhTCxRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVxRDgxQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDckR2eUJkLFFBQVEsQUFsRVAsSUFBSSxBcURnM0JILElBQUksQXJEejJCVSxRQUFRLEVxRDgxQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDRHZjZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFb0QyWnpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NnYlIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENEbGJaLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXFEODFCekIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENDL2NmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVzRG1aekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0M3WFgsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFcUQ4MUJ6QixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ3JEcHpCVCxRQUFRLEFBbEVQLElBQUksQXFEeTRCSCxJQUFJLEFyRGw0QlUsUUFBUSxFcUQ4MUJ6QixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0RwZFYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW9EMlp6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDZ2JSLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDRC9iUCxFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVxRDgxQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQzVkViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFc0RtWnpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRDZZakIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENDMVlOLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEMUZ6QixvQkFBb0IsQ3REcUpuQixRQUFRLEFBbEVQLElBQUksQXNEdERMLGdCQUFnQixBdEQ2REEsUUFBUSxFc0QxRnpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLEN0RCtGUCxRQUFRLEFBbEVQLElBQUksQXNEM0JGLElBQUksQXREa0NTLFFBQVEsRXNEMUZ6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFb0QyWnpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENGb2RMLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEMUZ6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXViUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFc0RtWnpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLEF0RDFhTCxRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVzRG1PekIsaUNBQWlDLENBRWhDLFFBQVEsQ3REMUtSLFFBQVEsQUFsRVAsSUFBSSxBc0Q2T0osSUFBSSxBdER0T1csUUFBUSxFc0RtT3pCLGlDQUFpQyxDQUVoQyxRQUFRLENGc0xULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVvRDJaekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNNUixpQ0FBaUMsQ0FFaEMsUUFBUSxDRjJNTixFQUFFLEFwRHJYSixRQUFRLEFBbEVQLElBQUksQUFPVyxRQUFRLEVzRG1PekIsaUNBQWlDLENBRWhDLFFBQVEsQ0E4S1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEbVp6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0E5T2pCLGlDQUFpQyxDQUVoQyxRQUFRLENBZ1FMLEVBQUUsQXREMWFMLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEZ1R6Qiw0QkFBNEIsQ3REclAzQixRQUFRLEFBbEVQLElBQUksQXNEd1RMLGFBQWEsQXREalRHLFFBQVEsRXNEZ1R6Qiw0QkFBNEIsQ0FVM0IsUUFBUSxDdEQvUFIsUUFBUSxBQWxFUCxJQUFJLEFzRHdVSixJQUFJLEF0RGpVVyxRQUFRLEVzRGdUekIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZpR1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRW9EMlp6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQVUzQixRQUFRLENGc0hOLEVBQUUsQXBEclhKLFFBQVEsQUFsRVAsSUFBSSxBQU9XLFFBQVEsRXNEZ1R6Qiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFc0RtWnpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBVTNCLFFBQVEsQ0EyS0wsRUFBRSxBdEQxYUwsUUFBUSxBQWxFUCxJQUFJLEFBT1csUUFBUSxFQTJEeEIsUUFBUSxBQWxFUCxJQUFJLEEwRDRnQlAsOEJBQThCLEExRHJnQlosUUFBUSxDQUFDO0lBQ3JCLElBQUksRUFBRSxHQUFHO0lBQ1QsU0FBUyxFQUFFLGdCQUFnQixHQUM1QjtFQXdESCxBQXBERSxRQW9ETSxBQXJEUCxLQUFLLEFBQ0gsUUFBUSxDQUFDO0lwRjlEWixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVmtxQkssT0FBTztJVWhxQnpCLE9BQU8sRUFBRSxFQUFFO0lBYVQsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQixpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLFlBQVksRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ1ZEN0MsT0FBTztJOEY0Q1QsSUFBSSxFQUFFLElBQUksR0FDWDtFQWlESCxBQS9DRSxRQStDTSxBQXJEUCxLQUFLLEFBTUgsYUFBYSxBQUFBLFFBQVEsRWdEN0cxQixJQUFJLENBR0gsVUFBVSxDaER5SlQsUUFBUSxBQXJEUCxLQUFLLEFnRG5HTixRQUFRLEFoRHlHUSxRQUFRLEVtRDVFekIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ25EOERWLFFBQVEsQUFyRFAsS0FBSyxBbUQ4QkgsSUFBSSxBbkR4QlMsUUFBUSxFbUQ1RXpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVvRCtZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVtRDVFekIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0dzWlgsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEdVl6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVtRHVIekIsMkJBQTJCLENBMkQxQixRQUFRLENuRG5JUixRQUFRLEFBckRQLEtBQUssQW1Ec05MLElBQUksQW5EaE5XLFFBQVEsRW1EdUh6QiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0M2TlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRW9EK1l6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEM1NSLDJCQUEyQixDQTJEMUIsUUFBUSxDQ2tQTixFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVtRHVIekIsMkJBQTJCLENBMkQxQixRQUFRLENHcU5ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVzRHVZekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIOVVqQiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0d1U0wsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFbUQwUnpCLG9CQUFvQixDQWNuQixhQUFhLENuRHpQYixRQUFRLEFBckRQLEtBQUssQW1EMFRMLElBQUksQW5EcFRXLFFBQVEsRW1EMFJ6QixvQkFBb0IsQ0FjbkIsYUFBYSxDQ3VHZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFb0QrWXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBY25CLGFBQWEsQ0M0SFgsRUFBRSxBcERyWEosUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFbUQwUnpCLG9CQUFvQixDQWNuQixhQUFhLENHK0ZkLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVzRHVZekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0FjbkIsYUFBYSxDR2lMVixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVtRDBSekIsb0JBQW9CLENBK0JuQixRQUFRLENuRDFRUixRQUFRLEFBckRQLEtBQUssQW1Ed1VMLElBQUksQW5EbFVXLFFBQVEsRW1EMFJ6QixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRW9EK1l6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVtRDBSekIsb0JBQW9CLENBK0JuQixRQUFRLENHOEVULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVzRHVZekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFbURtWHpCLHlCQUF5QixDQVd4QixRQUFRLENuRC9VUixRQUFRLEFBckRQLEtBQUssQW1EOFpMLElBQUksQW5EeFpXLFFBQVEsRW1EbVh6Qix5QkFBeUIsQ0FXeEIsUUFBUSxDQ2lCVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFb0QrWXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0QvQ1IseUJBQXlCLENBV3hCLFFBQVEsQ0NzQ04sRUFBRSxBcERyWEosUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFbURtWHpCLHlCQUF5QixDQVd4QixRQUFRLENHU1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEdVl6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hsRmpCLHlCQUF5QixDQVd4QixRQUFRLENHMkZMLEVBQUUsQXREMWFMLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRW9EakJ6QixzQkFBc0IsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ3BEMkRkLFFBQVEsQUFyRFAsS0FBSyxBb0RZSixhQUFhLEFwRE5DLFFBQVEsRW9EeU96QiwwQkFBMEIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ3BEL0xULFFBQVEsQUFyRFAsS0FBSyxBb0QrUEosU0FBUyxBcER6UEssUUFBUSxFb0RvZ0J6QiwwQkFBMEIsQ3BEcmR6QixRQUFRLEFBckRQLEtBQUssQW9ENGdCTixlQUFlLEFwRHRnQkMsUUFBUSxFb0RvZ0J6QiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENwRGhmVCxRQUFRLEFBckRQLEtBQUssQW9Ec2pCSixJQUFJLEFwRGhqQlUsUUFBUSxFb0RvZ0J6QiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVvRCtZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQWtHUiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBM0hQLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRW9Eb2dCekIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXhKViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFc0R1WXpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVxRGlWekIsc0JBQXNCLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENyRHpTYixRQUFRLEFBckRQLEtBQUssQXFENldMLGFBQWEsQXJEdldFLFFBQVEsRXFEb3JCekIsY0FBYyxDQWtCYixhQUFhLENyRHZwQmIsUUFBUSxBQXJEUCxLQUFLLEFxRG10QkwsSUFBSSxBckQ3c0JXLFFBQVEsRXFEb3JCekIsY0FBYyxDQWtCYixhQUFhLENEdlRkLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVvRCtZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2tSUixjQUFjLENBa0JiLGFBQWEsQ0RsU1gsRUFBRSxBcERyWEosUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFcURvckJ6QixjQUFjLENBa0JiLGFBQWEsQ0MvVGQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEdVl6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0QrT2pCLGNBQWMsQ0FrQmIsYUFBYSxDQzdPVixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVxRGsxQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDckR2eUJkLFFBQVEsQUFyRFAsS0FBSyxBcURtMkJKLElBQUksQXJENzFCVSxRQUFRLEVxRGsxQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDRHZjZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFb0QrWXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NnYlIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENEbGJaLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXFEazFCekIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENDL2NmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVzRHVZekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0M3WFgsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFcURrMUJ6QixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ3JEcHpCVCxRQUFRLEFBckRQLEtBQUssQXFENDNCSixJQUFJLEFyRHQzQlUsUUFBUSxFcURrMUJ6QixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0RwZFYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRW9EK1l6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDZ2JSLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDRC9iUCxFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVxRGsxQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQzVkViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFc0R1WXpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRDZZakIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENDMVlOLEVBQUUsQXREMWFMLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEdEd6QixvQkFBb0IsQ3REcUpuQixRQUFRLEFBckRQLEtBQUssQXNEbkVOLGdCQUFnQixBdER5RUEsUUFBUSxFc0R0R3pCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLEN0RCtGUCxRQUFRLEFBckRQLEtBQUssQXNEeENILElBQUksQXREOENTLFFBQVEsRXNEdEd6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFb0QrWXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENGb2RMLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEdEd6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXViUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFc0R1WXpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLEF0RDFhTCxRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVzRHVOekIsaUNBQWlDLENBRWhDLFFBQVEsQ3REMUtSLFFBQVEsQUFyRFAsS0FBSyxBc0RnT0wsSUFBSSxBdEQxTlcsUUFBUSxFc0R1TnpCLGlDQUFpQyxDQUVoQyxRQUFRLENGc0xULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVvRCtZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNNUixpQ0FBaUMsQ0FFaEMsUUFBUSxDRjJNTixFQUFFLEFwRHJYSixRQUFRLEFBckRQLEtBQUssQUFNVSxRQUFRLEVzRHVOekIsaUNBQWlDLENBRWhDLFFBQVEsQ0E4S1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEdVl6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0E5T2pCLGlDQUFpQyxDQUVoQyxRQUFRLENBZ1FMLEVBQUUsQXREMWFMLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEb1N6Qiw0QkFBNEIsQ3REclAzQixRQUFRLEFBckRQLEtBQUssQXNEMlNOLGFBQWEsQXREclNHLFFBQVEsRXNEb1N6Qiw0QkFBNEIsQ0FVM0IsUUFBUSxDdEQvUFIsUUFBUSxBQXJEUCxLQUFLLEFzRDJUTCxJQUFJLEF0RHJUVyxRQUFRLEVzRG9TekIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZpR1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRW9EK1l6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQVUzQixRQUFRLENGc0hOLEVBQUUsQXBEclhKLFFBQVEsQUFyRFAsS0FBSyxBQU1VLFFBQVEsRXNEb1N6Qiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFc0R1WXpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBVTNCLFFBQVEsQ0EyS0wsRUFBRSxBdEQxYUwsUUFBUSxBQXJEUCxLQUFLLEFBTVUsUUFBUSxFQStDeEIsUUFBUSxBQXJEUCxLQUFLLEEwRCtmUiw4QkFBOEIsQTFEemZaLFFBQVEsQ0FBQztJQUNyQixNQUFNLEVBQUUsSUFBSTtJQUNaLEdBQUcsRUFBRSxHQUFHO0lBQ1IsU0FBUyxFQUFFLGdCQUFnQixHQUM1QjtFQTJDSCxBQXZDRSxRQXVDTSxBQXhDUCxNQUFNLEFBQ0osUUFBUSxDQUFDO0lwRjNFWixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVmtxQkssT0FBTztJVWhxQnpCLE9BQU8sRUFBRSxFQUFFO0lBa0JULGlCQUFpQixFQUFFLENBQUM7SUFDcEIsa0JBQWtCLEVBQUUsS0FBSztJQUN6QixZQUFZLEVBQUUsV0FBVyxDVk5yQixPQUFPLENVTStCLFdBQVcsQ0FBQyxXQUFXO0lvRm1EL0QsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSSxHQUNYO0VBbUNILEFBakNFLFFBaUNNLEFBeENQLE1BQU0sQUFPSixhQUFhLEFBQUEsUUFBUSxFZ0QzSDFCLElBQUksQ0FHSCxVQUFVLENoRHlKVCxRQUFRLEFBeENQLE1BQU0sQWdEaEhQLFFBQVEsQWhEdUhRLFFBQVEsRW1EMUZ6Qix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDbkQ4RFYsUUFBUSxBQXhDUCxNQUFNLEFtRGlCSixJQUFJLEFuRFZTLFFBQVEsRW1EMUZ6Qix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQzhaWCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFb0RpWXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0Q5ZVIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0NtYlIsRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFbUQxRnpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENHc1pYLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHlYekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIamhCakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0d3ZVAsRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFbUR5R3pCLDJCQUEyQixDQTJEMUIsUUFBUSxDbkRuSVIsUUFBUSxBQXhDUCxNQUFNLEFtRHlNTixJQUFJLEFuRGxNVyxRQUFRLEVtRHlHekIsMkJBQTJCLENBMkQxQixRQUFRLENDNk5ULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVvRGlZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDNTUiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0NrUE4sRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFbUR5R3pCLDJCQUEyQixDQTJEMUIsUUFBUSxDR3FOVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFc0R5WHpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDlVakIsMkJBQTJCLENBMkQxQixRQUFRLENHdVNMLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW1ENFF6QixvQkFBb0IsQ0FjbkIsYUFBYSxDbkR6UGIsUUFBUSxBQXhDUCxNQUFNLEFtRDZTTixJQUFJLEFuRHRTVyxRQUFRLEVtRDRRekIsb0JBQW9CLENBY25CLGFBQWEsQ0N1R2QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW9EaVl6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQWNuQixhQUFhLENDNEhYLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW1ENFF6QixvQkFBb0IsQ0FjbkIsYUFBYSxDRytGZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFc0R5WHpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBY25CLGFBQWEsQ0dpTFYsRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFbUQ0UXpCLG9CQUFvQixDQStCbkIsUUFBUSxDbkQxUVIsUUFBUSxBQXhDUCxNQUFNLEFtRDJUTixJQUFJLEFuRHBUVyxRQUFRLEVtRDRRekIsb0JBQW9CLENBK0JuQixRQUFRLENDc0ZULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVvRGlZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0MyR04sRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFbUQ0UXpCLG9CQUFvQixDQStCbkIsUUFBUSxDRzhFVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFc0R5WHpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBK0JuQixRQUFRLENHZ0tMLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW1EcVd6Qix5QkFBeUIsQ0FXeEIsUUFBUSxDbkQvVVIsUUFBUSxBQXhDUCxNQUFNLEFtRGlaTixJQUFJLEFuRDFZVyxRQUFRLEVtRHFXekIseUJBQXlCLENBV3hCLFFBQVEsQ0NpQlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW9EaVl6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEL0NSLHlCQUF5QixDQVd4QixRQUFRLENDc0NOLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW1EcVd6Qix5QkFBeUIsQ0FXeEIsUUFBUSxDR1NULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHlYekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIbEZqQix5QkFBeUIsQ0FXeEIsUUFBUSxDRzJGTCxFQUFFLEF0RDFhTCxRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVvRC9CekIsc0JBQXNCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENwRDJEZCxRQUFRLEFBeENQLE1BQU0sQW9EREwsYUFBYSxBcERRQyxRQUFRLEVvRDJOekIsMEJBQTBCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENwRC9MVCxRQUFRLEFBeENQLE1BQU0sQW9Ea1BMLFNBQVMsQXBEM09LLFFBQVEsRW9Ec2Z6QiwwQkFBMEIsQ3BEcmR6QixRQUFRLEFBeENQLE1BQU0sQW9EK2ZQLGVBQWUsQXBEeGZDLFFBQVEsRW9Ec2Z6QiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENwRGhmVCxRQUFRLEFBeENQLE1BQU0sQW9EeWlCTCxJQUFJLEFwRGxpQlUsUUFBUSxFb0RzZnpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FoSlYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW9EaVl6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFb0RzZnpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V4SlYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRXNEeVh6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFcURtVXpCLHNCQUFzQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDckR6U2IsUUFBUSxBQXhDUCxNQUFNLEFxRGdXTixhQUFhLEFyRHpWRSxRQUFRLEVxRHNxQnpCLGNBQWMsQ0FrQmIsYUFBYSxDckR2cEJiLFFBQVEsQUF4Q1AsTUFBTSxBcURzc0JOLElBQUksQXJEL3JCVyxRQUFRLEVxRHNxQnpCLGNBQWMsQ0FrQmIsYUFBYSxDRHZUZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFb0RpWXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NrUlIsY0FBYyxDQWtCYixhQUFhLENEbFNYLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRXFEc3FCekIsY0FBYyxDQWtCYixhQUFhLENDL1RkLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHlYekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENEK09qQixjQUFjLENBa0JiLGFBQWEsQ0M3T1YsRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFcURvMEJ6QixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ3JEdnlCZCxRQUFRLEFBeENQLE1BQU0sQXFEczFCTCxJQUFJLEFyRC8wQlUsUUFBUSxFcURvMEJ6QixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0R2Y2YsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW9EaVl6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDZ2JSLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDRGxiWixFQUFFLEFwRHJYSixRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVxRG8wQnpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDQy9jZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFc0R5WHpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRDZZakIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENDN1hYLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRXFEbzBCekIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENyRHB6QlQsUUFBUSxBQXhDUCxNQUFNLEFxRCsyQkwsSUFBSSxBckR4MkJVLFFBQVEsRXFEbzBCekIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENEcGRWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVvRGlZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0QvYlAsRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFcURvMEJ6QixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0M1ZFYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRXNEeVh6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0Q2WWpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQzFZTixFQUFFLEF0RDFhTCxRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHBIekIsb0JBQW9CLEN0RHFKbkIsUUFBUSxBQXhDUCxNQUFNLEFzRGhGUCxnQkFBZ0IsQXREdUZBLFFBQVEsRXNEcEh6QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDdEQrRlAsUUFBUSxBQXhDUCxNQUFNLEFzRHJESixJQUFJLEF0RDREUyxRQUFRLEVzRHBIekIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRW9EaVl6Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLEFwRHJYSixRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHBIekIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0F1YlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRXNEeVh6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxBdEQxYUwsUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFc0R5TXpCLGlDQUFpQyxDQUVoQyxRQUFRLEN0RDFLUixRQUFRLEFBeENQLE1BQU0sQXNEbU5OLElBQUksQXRENU1XLFFBQVEsRXNEeU16QixpQ0FBaUMsQ0FFaEMsUUFBUSxDRnNMVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFb0RpWXpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzTVIsaUNBQWlDLENBRWhDLFFBQVEsQ0YyTU4sRUFBRSxBcERyWEosUUFBUSxBQXhDUCxNQUFNLEFBT1MsUUFBUSxFc0R5TXpCLGlDQUFpQyxDQUVoQyxRQUFRLENBOEtULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF0RDFhTCxRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHlYekIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBOU9qQixpQ0FBaUMsQ0FFaEMsUUFBUSxDQWdRTCxFQUFFLEF0RDFhTCxRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHNSekIsNEJBQTRCLEN0RHJQM0IsUUFBUSxBQXhDUCxNQUFNLEFzRDhSUCxhQUFhLEF0RHZSRyxRQUFRLEVzRHNSekIsNEJBQTRCLENBVTNCLFFBQVEsQ3REL1BSLFFBQVEsQUF4Q1AsTUFBTSxBc0Q4U04sSUFBSSxBdER2U1csUUFBUSxFc0RzUnpCLDRCQUE0QixDQVUzQixRQUFRLENGaUdULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVvRGlZekIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTlIUiw0QkFBNEIsQ0FVM0IsUUFBUSxDRnNITixFQUFFLEFwRHJYSixRQUFRLEFBeENQLE1BQU0sQUFPUyxRQUFRLEVzRHNSekIsNEJBQTRCLENBVTNCLFFBQVEsQ0F5RlQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRXNEeVh6Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FqS2pCLDRCQUE0QixDQVUzQixRQUFRLENBMktMLEVBQUUsQXREMWFMLFFBQVEsQUF4Q1AsTUFBTSxBQU9TLFFBQVEsRUFpQ3hCLFFBQVEsQUF4Q1AsTUFBTSxBMERrZlQsOEJBQThCLEExRDNlWixRQUFRLENBQUM7SUFDckIsTUFBTSxFQUFFLElBQUk7SUFDWixHQUFHLEVBQUUsR0FBRztJQUNSLFNBQVMsRUFBRSxnQkFBZ0IsR0FDNUI7RUE2QkgsQUExQkEsUUEwQlEsQUExQlAsVUFBVSxBQUFBLFFBQVEsRWdEYXJCLHdDQUF3QyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ2hEUmYsUUFBUSxBZ0RjTCxJQUFJLEFoRHhDSSxRQUFRLEVnRGFyQix3Q0FBd0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENJd1ZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBcERyWEosUUFBUSxBQTFCRyxRQUFRLEVvRDBYcEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDSmhZVCx3Q0FBd0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENJNldiLEVBQUUsQXBEclhKLFFBQVEsQUExQkcsUUFBUSxFZ0RhckIsd0NBQXdDLENBU3ZDLHlCQUF5QixDQUl2QixxQkFBcUIsQ0FRcEIsYUFBYSxDTWdWaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUExQkcsUUFBUSxFc0RrWHBCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDTm5hbEIsd0NBQXdDLENBU3ZDLHlCQUF5QixDQUl2QixxQkFBcUIsQ0FRcEIsYUFBYSxDTWthWixFQUFFLEF0RDFhTCxRQUFRLEFBMUJHLFFBQVEsRXFEcWNwQixzQkFBc0IsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENyRDlmVCxRQUFRLEFxRDZnQk4sSUFBSSxBckR2aUJLLFFBQVEsRXFEcWNwQixzQkFBc0IsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENEOUpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFwRHJYSixRQUFRLEFBMUJHLFFBQVEsRW9EMFhwQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDd0RSLHNCQUFzQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0R6SVAsRUFBRSxBcERyWEosUUFBUSxBQTFCRyxRQUFRLEVxRHFjcEIsc0JBQXNCLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQ3RLViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBdEQxYUwsUUFBUSxBQTFCRyxRQUFRLEVzRGtYcEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENEcUJqQixzQkFBc0IsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENDcEZOLEVBQUUsQXREMWFMLFFBQVEsQUExQkcsUUFBUSxDQUFDO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osR0FBRyxFQUFFLEdBQUcsR0FDVDtFQXVCRCxBQXJCQSxRQXFCUSxBQXJCUCxhQUFhLEFBQUEsUUFBUSxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxHQUFHO0lBQ1gsR0FBRyxFQUFFLElBQUksR0FDVjtFQWtCRCxBQWhCQSxRQWdCUSxBQWhCUCxXQUFXLEFBQUEsUUFBUSxFb0R1SXJCLG1CQUFtQixDQUNsQixRQUFRLENwRHhIUixRQUFRLEFvRHVJUCxJQUFJLEFwRHZKTyxRQUFRLEVvRHVJckIsbUJBQW1CLENBQ2xCLFFBQVEsQ0F3T1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXBEclhKLFFBQVEsQUExQkcsUUFBUSxFb0QwWHBCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxBcERyWEosUUFBUSxBQTFCRyxRQUFRLEVvRGlKcEIsbUJBQW1CLENBQ2xCLFFBQVEsQ0VnT1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXREMWFMLFFBQVEsQUExQkcsUUFBUSxFc0RrWHBCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRi9SakIsbUJBQW1CLENBQ2xCLFFBQVEsQ0VrVEwsRUFBRSxBdEQxYUwsUUFBUSxBQTFCRyxRQUFRLENBVUU7SUFDbkIsSUFBSSxFQUFFLEdBQUc7SUFDVCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBYUQsQUFYQSxRQVdRLEFBWFAsWUFBWSxBQUFBLFFBQVEsQ0FBQztJQUNwQixJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxHQUFHLEdBQ1g7O0E1QlRELEFBQUEsVUFBVSxDQUFDO0VBdkZYLFdBQXNCLEVBQVMsQ0FBQztFQUNoQyxVQUFVLEVsRVVKLE9BQU87RWtFVGIsZUFBZSxFQUFFLElBQUksR0F1RnBCO0VBRkQsQUFuRkUsVUFtRlEsQ0FwRlQsQUFBQSxRQUFDLEFBQUEsRUFDQSxnQkFBZ0IsQ0FBQztJQUNmLE1BQU0sRUFBRSxXQUFXLEdBQ3BCOztBQXFGSCxBQS9FQSxlQStFZSxBQS9FZCxZQUFZLEdBQUcsWUFBWSxDQUFDO0VBQzNCLGFBQWEsRWxFeURELEdBQUcsQ0FBSCxHQUFHLENrRXpEOEIsQ0FBQyxDQUFDLENBQUMsR0FDakQ7O0FBNkVELEFBM0VBLGVBMkVlLEFBM0VkLFdBQVcsR0FBRyxXQUFXLENBQUM7RUFDekIsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENsRXFETixHQUFHLENBQUgsR0FBRyxHa0VwRGhCOztBQTZFRCxBQUFBLGdCQUFnQixDQUFDO0VBbEVqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRWxFb01nQixPQUFPLENBQUMsSUFBSTtFa0VsTW5DLE1BQU0sRWxFb01tQixHQUFHLENBQUMsS0FBSyxDQTlOdkIsT0FBTztFa0UyQmxCLGFBQWEsRUFBRSxDQUFDO0VBRWhCLFNBQVMsRS9EQUMsT0FBNkM7RStEQ3ZELFdBQVcsRUFBRSxDQUFDO0VBQ2QsS0FBSyxFbEV0Q0ksT0FBTyxHa0VpR2Y7RUF6REQsQUFBQSxXQUFXLEFBQUEsSUFBSyxDQUFBLFVBQVUsSUF1RDFCLGdCQUFnQixDQXZEZ0I7SUFDOUIsYUFBYSxFbEU0TFUsR0FBRyxDQUFDLEtBQUssQ0E5TnZCLE9BQU87SWtFbUNoQixhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ2xFNEJOLEdBQUcsQ0FBSCxHQUFHLEdrRTNCaEI7RUFvREQsQUFsREEsZ0JBa0RnQixBQWxEZixNQUFNLEVBa0RQLGdCQUFnQixBQWpEZixNQUFNLENBQUM7SUFDTixnQkFBZ0IsRWxFeENQLE9BQU8sR2tFeUNqQjtFQStDRCxBQTVDRSxnQkE0Q2MsQUE1Q2IsUUFBUSxDQUFDO0lBQ1IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFnQixFQUFFLElBQUk7SUFDdEIsVUFBVSxFQUFFLE9BQU87SUFDbkIsT0FBTyxFQUFFLEdBQUcsR0FDYjtFQUVELEFBQUEsVUFBVSxHQW9DWixnQkFBZ0IsQUFwQ0EsUUFBUSxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQXNDSCxBQUFBLGtCQUFrQixDQUFDO0VBM0JuQixPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU8sRWxFOEptQixJQUFJO0VrRTVKOUIsTUFBTSxFbEUwSm1CLEdBQUcsQ0FBQyxLQUFLLENBOU52QixPQUFPO0VrRXFFbEIsYUFBYSxFQUFFLENBQUM7RUFDaEIsZ0JBQWdCLEVsRWxFVixPQUFPO0VrRW9FYixLQUFLLEVsRXREWSxPQUFPLEdrRTRFdkI7RUFwQkQsQUFBQSxXQUFXLEdBa0JYLGtCQUFrQixBQWxCSCxXQUFXLENBQUM7SUFDekIsYUFBYSxFbEVtSlUsR0FBRyxDQUFDLEtBQUssQ0E5TnZCLE9BQU8sR2tFNEVqQjs7QVk5REQsQUFBQSxhQUFhLENBQUM7RUFuRGQsT0FBTyxFQUE0QixLQUFLO0VBQ3hDLGFBQWEsRTlFK0ZDLElBQUksRzhFekJqQjtFQXBCRCxBQUdFLGFBSFcsQ0FHWCxHQUFHLENBQUM7SUFDRixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFckUwRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJcUUvRjNDLEFBZUUsYUFmVyxBQWVWLGdCQUFnQixDQUFDLHFCQUFxQixDQUFtQjtNQWhDNUQsT0FBTyxFQUFFLENBQUM7TUFDVixjQUFjLEU5RThEQyxJQUFJO004RXZEakIsT0FBTyxFQUFFLEtBQUssR0E0QmI7TUFuQkgsQUFOQSxhQU1hLEFBZVYsZ0JBQWdCLENBQUMscUJBQXFCLENBckJ6QyxHQUFHLENBQUM7UUFDRixLQUFLLEU5RW1heUIsSUFBSSxHOEVsYW5DOztBQTBCRCxBQUFBLHFCQUFxQixDQUFDO0VBMURwQixPQUFPLEVBQUUsVUFBVTtFQUNuQixjQUFjLEVBQUUsR0FBRyxHQTBFcEI7RUFqQkQsQUF0REEscUJBc0RxQixBQXREcEIsWUFBWSxDQUFDO0lBQ1osYUFBd0IsRTlFNkVYLElBQUksRzhFNUVsQjtFQW9ERCxBQWxEQSxxQkFrRHFCLEFBbERwQixXQUFXLEFBQUEsSUFBSyxDQUFBLFVBQVcsQ2Q4RE8sQ0FBQyxHYzlESjtJQUM5QixZQUF1QixFOUV5RVYsSUFBSSxHOEV4RWxCO0VBZ0RELEFBOUNBLHFCQThDcUIsR0E5Q25CLFdBQVcsQ0FBQztJQUNaLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBNENELEFBU0kscUJBVGlCLEFBU2hCLE9BQU8sQ0FBQztJQUNQLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBWEwsQUFhSSxxQkFiaUIsQUFhaEIsT0FBTyxDQUFDO0lBQ1AsY0FBYyxFQUFFLE1BQU0sR0FDdkI7O0FJNENMLEFBQUEsTUFBTSxDQUFDO0VBcEdQLFFBQVEsRUFBRSxRQUFRLEdBc0dqQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBbkdqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUk7RUFDaEIsUUFBUSxFQUFFLE1BQU0sR0FpR2Y7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUE5RmIsS0FBSyxFQUFFLElBQUksR0FnR1Y7RUFGRCxBQTNGRSxZQTJGVSxBQTVGWCxZQUFZLEFBQ1YsVUFBVSxDQUFDO0lBQ1YsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQyxHQUNSOztBQTRGSCxBQUFBLGFBQWEsQ0FBQztFQXZGZCxNQUFNLEVBQUUsQ0FBQyxHQXlGUjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQXRGYixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLENBQUMsR0FzRlI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFuRmYsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRWxGMGRlLElBQUk7RWtGeGQxQixnQkFBZ0IsRWxGbkNWLHFCQUFPO0VrRm9DYixLQUFLLEVsRm5DQyxPQUFPLEdrRmlIWjs7QUFNRCxBQUpBLGVBSWUsRUFLZixXQUFXLENBVEk7RXhFeURmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsU0FBUyxFQUFFLGdCQUFnQjtFd0VwSTNCLE9BQU8sRWxGbWRjLEVBQUU7RWtGbGR2QixPQUFPLEVsRmlkZSxJQUFJO0VrRmhkMUIsS0FBSyxFbEY1Q0MsT0FBTyxHa0ZxSFo7R3hFcUJELEFBQUEsQUFBQSxjQUFDLENBQWUsT0FBTyxBQUF0QixFd0VuQkQsZUFBZSxHeEVtQmYsQUFBQSxjQUFDLENBQWUsT0FBTyxBQUF0QixFd0VkRCxXQUFXLEN4RWNnQjtJQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYO0V3RXJCRCxBQXpFQSxlQXlFZSxBQXpFZCxNQUFNLEVBOEVQLFdBQVcsQUE5RVYsTUFBTSxFQXlFUCxlQUFlLEFBeEVkLE9BQU8sRUE2RVIsV0FBVyxBQTdFVixPQUFPLEVBd0VSLGVBQWUsQUF2RWQsTUFBTSxFQTRFUCxXQUFXLEFBNUVWLE1BQU0sQ0FBQztJQUNOLGdCQUFnQixFbEZsRFoscUJBQU8sR2tGbURaOztBQXFFRCxBQUFBLGVBQWUsQ0FBQztFQWhFaEIsSUFBZSxFQUFFLENBQUMsR0FtRWpCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBaEVaLElBQWUsRUFBRSxJQUFJO0VBQ3JCLEtBQWdCLEVBQUUsQ0FBQyxHQWtFbEI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUE5RGYsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFbEZtYmMsTUFBTTtFa0ZsYjlCLGFBQWEsRWxGbWJjLE1BQU07RWtGbGJqQyxVQUFVLEVBQUUsTUFBTSxHQTZEakI7R3hFT0QsQUFBQSxBQUFBLGNBQUMsQ0FBZSxPQUFPLEFBQXRCLEV3RVRELGNBQWMsQ3hFU2E7SUFDekIsT0FBTyxFQUFFLENBQUMsR0FDWDtFd0VYRCxBQXpEQSxjQXlEYyxDQXpEZCxNQUFNLENBQUM7SUFDTCxLQUFLLEVsRjRhZSxNQUFNO0lrRjNhMUIsTUFBTSxFbEYyYWMsTUFBTTtJa0YxYTFCLE1BQU0sRWxGMmFZLE1BQU07SWtGemF4QixhQUFhLEVBQUUsR0FBRztJQUNsQixnQkFBZ0IsRWxGakZOLE9BQU8sR2tGMEZsQjtJQTBDRCxBQWpERSxjQWlEWSxDQXpEZCxNQUFNLEFBUUgsTUFBTSxDQUFDO01BQ04sZ0JBQWdCLEVsRm5GVixPQUFPLEdrRm9GZDtJQStDSCxBQTdDRSxjQTZDWSxDQXpEZCxNQUFNLEFBWUgsVUFBVSxDQUFDO01BQ1YsZ0JBQWdCLEVsRnZGVixPQUFPLEdrRndGZDs7QU50R0gsQUFBQSxpQkFBaUI7QUFDakIsV0FBVyxDQUFDO0VBcEJaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFekUwREgsSUFBNkM7RXlFekR2RCxjQUFjLEUxRXVDTixHQUFjO0UwRXRDdEIsUUFBUSxFQUFFLE1BQU0sR0EwQmY7RUFYRCxBQWJBLGlCQWFpQixDQWJqQixNQUFNO0VBYU4saUJBQWlCLENBWmpCLE1BQU07RUFZTixpQkFBaUIsQ0FYakIsS0FBSztFQVdMLGlCQUFpQixDQVZqQixLQUFLO0VBV0wsV0FBVyxDQWRYLE1BQU07RUFjTixXQUFXLENBYlgsTUFBTTtFQWFOLFdBQVcsQ0FaWCxLQUFLO0VBWUwsV0FBVyxDQVhYLEtBQUssQ0FBQztJQUNKLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBZSxFQUFFLENBQUM7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiO0VBSUQsQUFPSSxpQkFQYSxBQU9aLFdBQVc7RUFOaEIsV0FBVyxBQU1OLFdBQVcsQ0FBRDtJQUNULGNBQWMsRTFFZVosTUFBYyxHMEVkakI7O0FjMEZMLEFBQUEsS0FBSyxDQUFDO0VBaEZOLE1BQU0sRTFGa21CSyxDQUFDO0UwRmptQlosTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxRlJOLE9BQU87RTBGU2xCLFVBQVUsRTFGTEosT0FBTztFMEZNYixlQUFlLEVBQUUsSUFBSSxHQStFcEI7RUFGRCxBaEZ1QkEsS2dGdkJLLEFoRnVCSixRQUFRLEVnRnZCVCxLQUFLLEFoRndCSixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxHQUFHLEdBTWI7RWdGaENELEFoRmtDQSxLZ0ZsQ0ssQWhGa0NKLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FnRi9CRCxBQTdFQSxLQTZFSyxBQUFBLFNBQVMsR0E3RVosRUFBRSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBOEVELEFBQ0UsS0FERyxBQUFBLE9BQU8sR0FDUixFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQ1AsT0FBTyxFQUFFLENBQUMsR0FLWDtFQVBILEFBSUksS0FKQyxBQUFBLE9BQU8sR0FDUixFQUFFLEdBQUcsQ0FBQyxBQUdMLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxXQUFXLEdBQ3hCOztBQUtMLEFBQUEsS0FBSyxBQUFBLFFBQVEsQ0FBQztFQUNaLFVBQVUsRTFGcEhILE9BQU8sRzBGOEhmO0VBWEQsQUFHRSxLQUhHLEFBQUEsUUFBUSxHQUdULEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDUCxLQUFLLEUxRjVHSCxPQUFPLEcwRmtIVjtJQVZILEFBTUksS0FOQyxBQUFBLFFBQVEsR0FHVCxFQUFFLEdBQUcsQ0FBQyxBQUdMLE1BQU0sRUFOWCxLQUFLLEFBQUEsUUFBUSxHQUdULEVBQUUsR0FBRyxDQUFDLEFBSUwsTUFBTSxDQUFDO01BQ04sVUFBVSxFcEZqRlIsT0FBdUMsR29Ga0YxQzs7QUFJTCxBQUFBLFdBQVcsQ0FBQztFQTFGWixLQUFLLEVBQUMsSUFBQyxHQTRGTjtFQUZELEFBeEZBLFdBd0ZXLEdBeEZULENBQUMsQ0FBQztJQUNGLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFMUY2a0JRLE9BQU8sQ0FBQyxNQUFNO0kwRjVrQjdCLFNBQVMsRXZGUEQsT0FBNkM7SXVGUXJELFdBQVcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxFMUY3Q0UsT0FBTyxHMEZ5RGY7SUF1RUQsQUFqRkUsV0FpRlMsR0F4RlQsQ0FBQyxBQU9BLE1BQU0sQ0FBQztNQUNOLFVBQVUsRTFGckNSLE9BQU87TTBGc0NULEtBQUssRUFBRSxPQUFxQyxHQUM3QztJQThFSCxBQTVFRSxXQTRFUyxHQXhGVCxDQUFDLEFBWUEsTUFBTSxFQTRFVCxXQUFXLEdBeEZULENBQUMsQ0FhQSxBQUFBLGFBQUMsQ0FBYyxNQUFNLEFBQXBCLEVBQXNCO01BQ3RCLFVBQVUsRTFGL0NILE9BQU87TTBGZ0RkLEtBQUssRTFGdkRBLE9BQU8sRzBGd0RiOztBQTRFSCxBQUFBLGFBQWEsQ0FBQztFQWxFZCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFGM0ROLE9BQU87RTBGNERsQixVQUFVLEVBQUUsQ0FBQztFQUNiLFVBQVUsRTFGekRKLE9BQU87RTBGMERiLEtBQUssRTFGNUNZLE9BQU87RTBGNkN4QixVQUFVLEVBQUUsYUFBYSxHQWdFeEI7O0FBRUQsQUFBQSxhQUFhLEFBQUEsU0FBUyxDQUFDO0VBM0R2QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFGdEVOLE9BQU87RTBGdUVsQixXQUFzQixFQUFTLENBQUMsR0E0RC9COztBQUVELEFBQUEsV0FBVyxDQUFDO0VBdkRaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFMUZzaUJhLElBQUksRzBGOWV2QjtFQUZELEFBcERBLFdBb0RXLEFBcERWLFVBQVUsQ0FBQztJQUNWLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FHbkZELEFBQUEsVUFBVSxDQUFDO0VBekJYLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsYUFBYSxFN0ZrRkMsSUFBSTtFNkZoRmxCLE1BQU0sRTdGK29CVyxLQUFLLENBQUMsR0FBRyxDQXRuQnBCLE9BQU87RTZGeEJiLGFBQWEsRTdGbUZDLEdBQUc7RTZGbEZqQixVQUFVLEU3RitvQk8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQXpuQnBCLHFCQUFPO0U2RnBCYixXQUFXLEVBQUUsQ0FBQyxHQW1CYjs7QUFFRCxBQUFBLENBQUMsQUFBQSxVQUFVLENBQUM7RUFqQlosVUFBVSxFN0Yyb0JXLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxHNkZ4bkI3QztFQUZELEFBZkEsQ0FlQyxBQUFBLFVBQVUsQUFmVixNQUFNLEVBZVAsQ0FBQyxBQUFBLFVBQVUsQUFkVixNQUFNLENBQUM7SUFDTixVQUFVLEU3RnNvQlcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQXBvQnpCLHVCQUFPLEc2RkRmO0VBWUQsQUFWQSxDQVVDLEFBQUEsVUFBVSxDQVZYLEtBQUssQ0FBQztJQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBZGlURCxBQUFBLEtBQUssQ0FBQztFQS9TTixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUk7RUFDaEIsUUFBUSxFQUFFLFFBQVEsR0FnYWpCO0dyRW5SRCxBQUFBLEFBQUEsY0FBQyxDQUFlLE9BQU8sQUFBdEIsRXFFK0pELEtBQUssQ0FyU0wsRUFBRSxDckVzSXlCO0lBQ3pCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RXFFNkpELEFBalNBLEtBaVNLLENBalNMLENBQUM7RUFpU0QsS0FBSyxDQWhTTCxPQUFPLENBQUM7SUFDTixXQUFXLEVBQUUsQ0FBQztJQUNkLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFdERvQlcsTUFBTSxDQUFDLElBQUksR3NEbkI5QjtFQTJSRCxBQXhSQSxLQXdSSyxDQXhSTCxLQUFLO0VBd1JMLEtBQUssQ0F2UkwsTUFBTTtFQXVSTixLQUFLLENBdFJMLENBQUM7RUFzUkQsS0FBSyxDQXJSTCxNQUFNLENBQUM7SUFDTCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQW1SRCxBQWpSQSxLQWlSSyxDQWpSTCxLQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsWUFBWSxHQUN0QjtFQStRRCxBQWhMSSxLQWdMQyxDQWhMRCxFQUFFLEVBZ0xOLEtBQUssQUFJQyxXQUFXLENBcExiLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0VBOEtMLEFBcktJLEtBcUtDLEFBU0YsU0FBUyxDQTlLUixFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxHQUNmO0VBbUtMLEFBY0UsS0FkRyxBQWNGLFNBQVMsQ0FBQztJQWxSWCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJLEdBbVJWO0lBaEJILEFBalFFLEtBaVFHLEFBY0YsU0FBUyxHQS9RUixFQUFFLENBQUM7TUFDSCxPQUFPLEVBQUUsVUFBVTtNQUNuQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQThQSCxBQW5KQSxLQW1KSyxBQW1CRixPQUFPLENBdEtWLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDTixXQUFjLEVBaE1HLElBQUksR0FpTXRCO0VBaUpELEFBL0lBLEtBK0lLLEFBbUJGLE9BQU8sQ0FsS1YsQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFQUFFLENBQUMsR0FDWDtFdEV4REcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXNFcU1qRCxBQWhMSSxLQWdMQyxBQXlCQSxzQkFBc0IsQ0F6TXZCLEVBQUUsQ0FBQztNQUNELE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lBOEtMLEFBcktJLEtBcUtDLEFBNkJBLG9CQUFvQixDQWxNckIsRUFBRSxDQUFDO01BQ0QsT0FBTyxFQUFFLEtBQUssR0FDZjtJQW1LTCxBQWlDSSxLQWpDQyxBQWlDQSxvQkFBb0IsQ0FBRztNQXJTMUIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSSxHQXNTUjtNQW5DTCxBQWpRRSxLQWlRRyxBQWlDQSxvQkFBb0IsR0FsU3JCLEVBQUUsQ0FBQztRQUNILE9BQU8sRUFBRSxVQUFVO1FBQ25CLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0lBOFBILEFBcUNJLEtBckNDLEFBcUNBLGtCQUFrQixDQUFHO01BelN4QixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJLEdBMFNSO01BdkNMLEFBalFFLEtBaVFHLEFBcUNBLGtCQUFrQixHQXRTbkIsRUFBRSxDQUFDO1FBQ0gsT0FBTyxFQUFFLFVBQVU7UUFDbkIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RXRFeURDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lzRXFNN0MsQUFoTEksS0FnTEMsQUF5QkEsa0JBQWtCLENBek1uQixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJQThLTCxBQXJLSSxLQXFLQyxBQTZCQSxnQkFBZ0IsQ0FsTWpCLEVBQUUsQ0FBQztNQUNELE9BQU8sRUFBRSxLQUFLLEdBQ2Y7SUFtS0wsQUFpQ0ksS0FqQ0MsQUFpQ0EsZ0JBQWdCLENBQU87TUFyUzFCLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUksR0FzU1I7TUFuQ0wsQUFqUUUsS0FpUUcsQUFpQ0EsZ0JBQWdCLEdBbFNqQixFQUFFLENBQUM7UUFDSCxPQUFPLEVBQUUsVUFBVTtRQUNuQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtJQThQSCxBQXFDSSxLQXJDQyxBQXFDQSxjQUFjLENBQU87TUF6U3hCLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUksR0EwU1I7TUF2Q0wsQUFqUUUsS0FpUUcsQUFxQ0EsY0FBYyxHQXRTZixFQUFFLENBQUM7UUFDSCxPQUFPLEVBQUUsVUFBVTtRQUNuQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFdEV5REMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXNFcU1qRCxBQWhMSSxLQWdMQyxBQXlCQSx1QkFBdUIsQ0F6TXhCLEVBQUUsQ0FBQztNQUNELE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lBOEtMLEFBcktJLEtBcUtDLEFBNkJBLHFCQUFxQixDQWxNdEIsRUFBRSxDQUFDO01BQ0QsT0FBTyxFQUFFLEtBQUssR0FDZjtJQW1LTCxBQWlDSSxLQWpDQyxBQWlDQSxxQkFBcUIsQ0FBRTtNQXJTMUIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSSxHQXNTUjtNQW5DTCxBQWpRRSxLQWlRRyxBQWlDQSxxQkFBcUIsR0FsU3RCLEVBQUUsQ0FBQztRQUNILE9BQU8sRUFBRSxVQUFVO1FBQ25CLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0lBOFBILEFBcUNJLEtBckNDLEFBcUNBLG1CQUFtQixDQUFFO01BelN4QixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJLEdBMFNSO01BdkNMLEFBalFFLEtBaVFHLEFBcUNBLG1CQUFtQixHQXRTcEIsRUFBRSxDQUFDO1FBQ0gsT0FBTyxFQUFFLFVBQVU7UUFDbkIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RXRFeURDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lzRXFNN0MsQUFoTEksS0FnTEMsQUF5QkEsaUJBQWlCLENBek1sQixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJQThLTCxBQXJLSSxLQXFLQyxBQTZCQSxlQUFlLENBbE1oQixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsS0FBSyxHQUNmO0lBbUtMLEFBaUNJLEtBakNDLEFBaUNBLGVBQWUsQ0FBUTtNQXJTMUIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSSxHQXNTUjtNQW5DTCxBQWpRRSxLQWlRRyxBQWlDQSxlQUFlLEdBbFNoQixFQUFFLENBQUM7UUFDSCxPQUFPLEVBQUUsVUFBVTtRQUNuQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtJQThQSCxBQXFDSSxLQXJDQyxBQXFDQSxhQUFhLENBQVE7TUF6U3hCLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUksR0EwU1I7TUF2Q0wsQUFqUUUsS0FpUUcsQUFxQ0EsYUFBYSxHQXRTZCxFQUFFLENBQUM7UUFDSCxPQUFPLEVBQUUsVUFBVTtRQUNuQixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFdEU4REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJc0VnTXRDLEFBaExJLEtBZ0xDLEFBeUJBLGtCQUFrQixDQXpNbkIsRUFBRSxDQUFDO01BQ0QsT0FBTyxFQUFFLFlBQVksR0FDdEI7SUE4S0wsQUFyS0ksS0FxS0MsQUE2QkEsZ0JBQWdCLENBbE1qQixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsS0FBSyxHQUNmO0lBbUtMLEFBaUNJLEtBakNDLEFBaUNBLGdCQUFnQixDQUFPO01BclMxQixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJLEdBc1NSO01BbkNMLEFBalFFLEtBaVFHLEFBaUNBLGdCQUFnQixHQWxTakIsRUFBRSxDQUFDO1FBQ0gsT0FBTyxFQUFFLFVBQVU7UUFDbkIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7SUE4UEgsQUFxQ0ksS0FyQ0MsQUFxQ0EsY0FBYyxDQUFPO01BelN4QixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJLEdBMFNSO01BdkNMLEFBalFFLEtBaVFHLEFBcUNBLGNBQWMsR0F0U2YsRUFBRSxDQUFDO1FBQ0gsT0FBTyxFQUFFLFVBQVU7UUFDbkIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RUE4UEgsQUEyQ0UsS0EzQ0csQUEyQ0YsT0FBTyxDQUFDO0lBektULFlBQXVCLEVBQVMsQ0FBQztJQUNqQyxXQUFzQixFdER4SUUsSUFBSSxHc0RrVDNCO0VBN0NILEFBaEhFLEtBZ0hHLEFBZ0RGLE1BQU0sQ0FoS1AsR0FBRztFQWdITCxLQUFLLEFBZ0RGLE1BQU0sQ0EvSlAsQ0FBQztFQStHSCxLQUFLLEFBZ0RGLE1BQU0sQ0E5SlAsR0FBRyxDQUFDO0lBQ0YsY0FBYyxFQUFFLE1BQU0sR0FLdkI7SUF3R0gsQUEzR0ksS0EyR0MsQUFnREYsTUFBTSxDQWhLUCxHQUFHLEdBS0MsSUFBSTtJQTJHVixLQUFLLEFBZ0RGLE1BQU0sQ0EvSlAsQ0FBQyxHQUlHLElBQUk7SUEyR1YsS0FBSyxBQWdERixNQUFNLENBOUpQLEdBQUcsR0FHQyxJQUFJLENBQUM7TUFDTCxjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQXlHTCxBQWhIRSxLQWdIRyxBQXNEQSxTQUFTLENBdEtaLEdBQUc7RUFnSEwsS0FBSyxBQXNEQSxTQUFTLENBcktaLENBQUM7RUErR0gsS0FBSyxBQXNEQSxTQUFTLENBcEtaLEdBQUcsRUE4R0wsS0FBSyxBQXVEQSxXQUFXLENBdktkLEdBQUc7RUFnSEwsS0FBSyxBQXVEQSxXQUFXLENBdEtkLENBQUM7RUErR0gsS0FBSyxBQXVEQSxXQUFXLENBcktkLEdBQUcsRUE4R0wsS0FBSyxBQXdEQSxZQUFZLENBeEtmLEdBQUc7RUFnSEwsS0FBSyxBQXdEQSxZQUFZLENBdktmLENBQUM7RUErR0gsS0FBSyxBQXdEQSxZQUFZLENBdEtmLEdBQUcsRUE4R0wsS0FBSyxBQXlEQSxVQUFVLENBektiLEdBQUc7RUFnSEwsS0FBSyxBQXlEQSxVQUFVLENBeEtiLENBQUM7RUErR0gsS0FBSyxBQXlEQSxVQUFVLENBdktiLEdBQUcsQ0FBQztJQUNGLGNBQWMsRUFBRSxNQUFNLEdBS3ZCO0lBd0dILEFBM0dJLEtBMkdDLEFBc0RBLFNBQVMsQ0F0S1osR0FBRyxHQUtDLElBQUk7SUEyR1YsS0FBSyxBQXNEQSxTQUFTLENBcktaLENBQUMsR0FJRyxJQUFJO0lBMkdWLEtBQUssQUFzREEsU0FBUyxDQXBLWixHQUFHLEdBR0MsSUFBSSxFQTJHVixLQUFLLEFBdURBLFdBQVcsQ0F2S2QsR0FBRyxHQUtDLElBQUk7SUEyR1YsS0FBSyxBQXVEQSxXQUFXLENBdEtkLENBQUMsR0FJRyxJQUFJO0lBMkdWLEtBQUssQUF1REEsV0FBVyxDQXJLZCxHQUFHLEdBR0MsSUFBSSxFQTJHVixLQUFLLEFBd0RBLFlBQVksQ0F4S2YsR0FBRyxHQUtDLElBQUk7SUEyR1YsS0FBSyxBQXdEQSxZQUFZLENBdktmLENBQUMsR0FJRyxJQUFJO0lBMkdWLEtBQUssQUF3REEsWUFBWSxDQXRLZixHQUFHLEdBR0MsSUFBSSxFQTJHVixLQUFLLEFBeURBLFVBQVUsQ0F6S2IsR0FBRyxHQUtDLElBQUk7SUEyR1YsS0FBSyxBQXlEQSxVQUFVLENBeEtiLENBQUMsR0FJRyxJQUFJO0lBMkdWLEtBQUssQUF5REEsVUFBVSxDQXZLYixHQUFHLEdBR0MsSUFBSSxDQUFDO01BQ0wsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RUF5R0wsQUE1RkksS0E0RkMsQUErREYsVUFBVSxDQWhLWCxFQUFFLENBQUMsQ0FBQyxDQUtGLEdBQUc7RUE0RlAsS0FBSyxBQStERixVQUFVLENBaEtYLEVBQUUsQ0FBQyxDQUFDLENBTUYsQ0FBQztFQTJGTCxLQUFLLEFBK0RGLFVBQVUsQ0FoS1gsRUFBRSxDQUFDLENBQUMsQ0FPRixHQUFHLENBQUM7SUFDRixZQUF1QixFL0VrT1gsT0FBTztJK0UvTmpCLE9BQU8sRUFBRSxZQUFZLEdBRXhCO0VBb0ZMLEFBM0VJLEtBMkVDLEFBb0VGLFdBQVcsQ0FwSlosRUFBRSxDQUFDLENBQUMsQ0FLRixHQUFHO0VBMkVQLEtBQUssQUFvRUYsV0FBVyxDQXBKWixFQUFFLENBQUMsQ0FBQyxDQU1GLENBQUM7RUEwRUwsS0FBSyxBQW9FRixXQUFXLENBcEpaLEVBQUUsQ0FBQyxDQUFDLENBT0YsR0FBRyxDQUFDO0lBQ0YsV0FBc0IsRS9FaU5WLE9BQU87SStFOU1qQixPQUFPLEVBQUUsWUFBWSxHQUV4QjtFQW1FTCxBQS9ERSxLQStERyxBQXlFRixTQUFTLENBeElWLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFLRCxVQUFVLEVBQUUsTUFBTSxHQWdCckI7SUEwQ0gsQUF2REksS0F1REMsQUF5RUYsU0FBUyxDQXhJVixFQUFFLENBQUMsQ0FBQyxDQVFGLEdBQUc7SUF1RFAsS0FBSyxBQXlFRixTQUFTLENBeElWLEVBQUUsQ0FBQyxDQUFDLENBU0YsQ0FBQztJQXNETCxLQUFLLEFBeUVGLFNBQVMsQ0F4SVYsRUFBRSxDQUFDLENBQUMsQ0FVRixHQUFHLENBQUM7TUFFQSxPQUFPLEVBQUUsS0FBSztNQUNkLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDL0UyTEosT0FBTyxHK0VwTHBCO0VBMkNMLEFBdkNFLEtBdUNHLEFBOEVGLFlBQVksQ0FySGIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUtELFVBQVUsRUFBRSxNQUFNLEdBZ0JyQjtJQWtCSCxBQS9CSSxLQStCQyxBQThFRixZQUFZLENBckhiLEVBQUUsQ0FBQyxDQUFDLENBUUYsR0FBRztJQStCUCxLQUFLLEFBOEVGLFlBQVksQ0FySGIsRUFBRSxDQUFDLENBQUMsQ0FTRixDQUFDO0lBOEJMLEtBQUssQUE4RUYsWUFBWSxDQXJIYixFQUFFLENBQUMsQ0FBQyxDQVVGLEdBQUcsQ0FBQztNQUVBLE9BQU8sRUFBRSxLQUFLO01BQ2QsTUFBTSxFL0VtS0ksT0FBTyxDK0VuS0EsSUFBSSxDQUFDLENBQUMsR0FPMUI7RUFtQkwsQUFtRkUsS0FuRkcsQ0FtRkgsVUFBVSxHQUFHLENBQUMsQ0FBQztJQXhGakIsVUFBVSxFL0UvU0QsT0FBTztJK0VnVGhCLEtBQUssRS9FclNDLE9BQU8sRytFOFhWO0VBckZILEFBeUZJLEtBekZDLENBeUZELE9BQU8sR0FBRyxDQUFDLENBQUM7SUE5RmhCLFVBQVUsRS9FL1NELE9BQU87SStFZ1RoQixLQUFLLEUvRXJTQyxPQUFPLEcrRW9ZUjtFQTNGTCxBQStGRSxLQS9GRyxBQStGRixXQUFXLEVtRXBMZixtQkFBbUIsQ0FDbEIsUUFBUSxDbkVvRlIsS0FBSyxBbUVyRUosSUFBSSxFQWhCTixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVQUixtQkFBbUIsQ0FDbEIsUUFBUSxDQTZQTixFQUFFLEFuRXpLSixLQUFLLEVtRXJGTixtQkFBbUIsQ0FDbEIsUUFBUSxDRWdPVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxFcUU0SU4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLEFyRTlOTCxLQUFLLENBK0ZxQjtJQWxWdEIsVUFBVSxFdERLdUMsSUFBSSxHc0QrVXREO0VBakdILEFBb0dFLEtBcEdHLEFBb0dGLFlBQVksQ0FBWTtJQS9UdkIsVUFBVSxFdERsQnVDLEtBQUssR3NEdVZ2RDtJQTFHSCxBQXpOSSxLQXlOQyxBQW9HRixZQUFZLENBN1RYLFFBQVEsQ0FBQyxFQUFFLENBQUM7TUFDVixVQUFVLEV0RHRCcUMsSUFBSSxHc0R1QnBEO0lBdU5MLEFBcE5NLEtBb05ELEFBb0dGLFlBQVksQUF6VFYsU0FBUyxDQUNSLFFBQVEsQ0FBQyxFQUFFLENBQUM7TUFDVixVQUFVLEV0RDFCbUMsS0FBSyxHc0QyQm5EO0lBa05QLEFBdUdJLEtBdkdDLEFBb0dGLFlBQVksQ0FHWCxPQUFPLENBQUM7TUF6T1YsWUFBdUIsRXREbklDLElBQUk7TXNEb0k1QixXQUFzQixFQUFTLENBQUMsR0EwTzdCO0VBekdMLEFBNkdFLEtBN0dHLEFBNkdGLGFBQWEsRStEcmRsQixJQUFJLENBR0gsVUFBVSxDL0RxV1QsS0FBSyxBK0RwV0wsUUFBUSxFRzZCVCx3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDbEUwUVYsS0FBSyxBa0VuT0YsSUFBSSxFQXBHUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQzhaWCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLEFuRXpLSixLQUFLLEVrRXZVTix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3NaWCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxFcUU0SU4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIamhCakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0d3ZVAsRUFBRSxBckU5TkwsS0FBSyxFa0VwSU4sMkJBQTJCLENBMkQxQixRQUFRLENsRXlFUixLQUFLLEFrRTNDSixJQUFJLEVBekZOLDJCQUEyQixDQTJEMUIsUUFBUSxDQzZOVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDNTUiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0NrUE4sRUFBRSxBbkV6S0osS0FBSyxFa0VwSU4sMkJBQTJCLENBMkQxQixRQUFRLENHcU5ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFyRTlOTCxLQUFLLEVxRTRJTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0g5VWpCLDJCQUEyQixDQTJEMUIsUUFBUSxDR3VTTCxFQUFFLEFyRTlOTCxLQUFLLEVrRStCTixvQkFBb0IsQ0FjbkIsYUFBYSxDbEU3Q2IsS0FBSyxBa0V5REosSUFBSSxFQTFCTixvQkFBb0IsQ0FjbkIsYUFBYSxDQ3VHZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0FjbkIsYUFBYSxDQzRIWCxFQUFFLEFuRXpLSixLQUFLLEVrRStCTixvQkFBb0IsQ0FjbkIsYUFBYSxDRytGZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxFcUU0SU4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0FjbkIsYUFBYSxDR2lMVixFQUFFLEFyRTlOTCxLQUFLLEVrRStCTixvQkFBb0IsQ0ErQm5CLFFBQVEsQ2xFOURSLEtBQUssQWtFdUVKLElBQUksRUF4Q04sb0JBQW9CLENBK0JuQixRQUFRLENDc0ZULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLEVtRW9KTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLEFuRXpLSixLQUFLLEVrRStCTixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0c4RVQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXJFOU5MLEtBQUssRXFFNElOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBK0JuQixRQUFRLENHZ0tMLEVBQUUsQXJFOU5MLEtBQUssRWtFd0hOLHlCQUF5QixDQVd4QixRQUFRLENsRW5JUixLQUFLLEFrRTZKSixJQUFJLEVBckNOLHlCQUF5QixDQVd4QixRQUFRLENDaUJULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLEVtRW9KTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEL0NSLHlCQUF5QixDQVd4QixRQUFRLENDc0NOLEVBQUUsQW5FektKLEtBQUssRWtFd0hOLHlCQUF5QixDQVd4QixRQUFRLENHU1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXJFOU5MLEtBQUssRXFFNElOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGxGakIseUJBQXlCLENBV3hCLFFBQVEsQ0cyRkwsRUFBRSxBckU5TkwsS0FBSyxFbUU1UU4sc0JBQXNCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENuRXVRZCxLQUFLLEFtRXJQSCxhQUFhLEVBbU9oQiwwQkFBMEIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ25FYVQsS0FBSyxBbUVGSCxTQUFTLEVBMlFaLDBCQUEwQixDbkV6UXpCLEtBQUssQW1FMlFMLGVBQWUsRUFGaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDbkVwU1QsS0FBSyxBbUVxVEgsSUFBSSxFQTVDUCwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLEVtRW9KTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxBbkV6S0osS0FBSyxFbUV5UU4sMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXhKViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxFcUU0SU4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGK0RqQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENFdEVOLEVBQUUsQXJFOU5MLEtBQUssRW9Fc0ZOLHNCQUFzQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDcEU3RmIsS0FBSyxBb0U0R0osYUFBYSxFQTZVZixjQUFjLENBa0JiLGFBQWEsQ3BFM2NiLEtBQUssQW9Fa2RKLElBQUksRUF6Qk4sY0FBYyxDQWtCYixhQUFhLENEdlRkLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLEVtRW9KTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDa1JSLGNBQWMsQ0FrQmIsYUFBYSxDRGxTWCxFQUFFLEFuRXpLSixLQUFLLEVvRXliTixjQUFjLENBa0JiLGFBQWEsQ0MvVGQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXJFOU5MLEtBQUssRXFFNElOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRCtPakIsY0FBYyxDQWtCYixhQUFhLENDN09WLEVBQUUsQXJFOU5MLEtBQUssRW9FdWxCTixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ3BFM2xCZCxLQUFLLEFvRWttQkgsSUFBSSxFQVhQLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDRHZjZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0RsYlosRUFBRSxBbkV6S0osS0FBSyxFb0V1bEJOLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDQy9jZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxFcUU0SU4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0M3WFgsRUFBRSxBckU5TkwsS0FBSyxFb0V1bEJOLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDcEV4bUJULEtBQUssQW9FMm5CSCxJQUFJLEVBcENQLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDRHBkViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0QvYlAsRUFBRSxBbkV6S0osS0FBSyxFb0V1bEJOLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQzVkViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxFcUU0SU4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0MxWU4sRUFBRSxBckU5TkwsS0FBSyxFcUVqV04sb0JBQW9CLENyRWlXbkIsS0FBSyxBcUVwVUwsZ0JBQWdCLEVBN0JqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDckUyU1AsS0FBSyxBcUV6U0YsSUFBSSxFQXhEUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxBbkV6S0osS0FBSyxFcUVqV04sb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0F1YlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXJFOU5MLEtBQUssRXFFNElOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLEFyRTlOTCxLQUFLLEVxRXBDTixpQ0FBaUMsQ0FFaEMsUUFBUSxDckVrQ1IsS0FBSyxBcUVqQ0osSUFBSSxFQUhOLGlDQUFpQyxDQUVoQyxRQUFRLENGc0xULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLEVtRW9KTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM01SLGlDQUFpQyxDQUVoQyxRQUFRLENGMk1OLEVBQUUsQW5FektKLEtBQUssRXFFcENOLGlDQUFpQyxDQUVoQyxRQUFRLENBOEtULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFyRTlOTCxLQUFLLEVxRTRJTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0E5T2pCLGlDQUFpQyxDQUVoQyxRQUFRLENBZ1FMLEVBQUUsQXJFOU5MLEtBQUssRXFFeUNOLDRCQUE0QixDckV6QzNCLEtBQUssQXFFMENMLGFBQWEsRUFEZCw0QkFBNEIsQ0FVM0IsUUFBUSxDckVuRFIsS0FBSyxBcUUwREosSUFBSSxFQWpCTiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxFbUVvSk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTlIUiw0QkFBNEIsQ0FVM0IsUUFBUSxDRnNITixFQUFFLEFuRXpLSixLQUFLLEVxRXlDTiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxFcUU0SU4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLEFyRTlOTCxLQUFLLEVBQUwsS0FBSyxBeUU4UFAsOEJBQThCLEN6RWpKWDtJQS9TYixVQUFVLEVBQUUsTUFBTSxHQWlUbkI7SUEvR0gsQUFoTUksS0FnTUMsQUE2R0YsYUFBYSxDQTdTWixRQUFRLENBQUMsRUFBRSxFK0R4S2pCLElBQUksQ0FHSCxVQUFVLEMvRHFXVCxLQUFLLEErRHBXTCxRQUFRLEMvRG9LSixRQUFRLENBQUMsRUFBRSxFa0V2SWhCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENsRTBRVixLQUFLLEFrRW5PRixJQUFJLENsRW1DSCxRQUFRLENBQUMsRUFBRSxFa0V2SWhCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVtRW9WaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLEFuRXpLSixLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVrRXZJaEIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0dzWlgsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXJFOU5MLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRXFFNFVoQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVrRTREaEIsMkJBQTJCLENBMkQxQixRQUFRLENsRXlFUixLQUFLLEFrRTNDSixJQUFJLENsRXJKRCxRQUFRLENBQUMsRUFBRSxFa0U0RGhCLDJCQUEyQixDQTJEMUIsUUFBUSxDQzZOVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFbUVvVmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0QzU1IsMkJBQTJCLENBMkQxQixRQUFRLENDa1BOLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRWtFNERoQiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0dxTlQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXJFOU5MLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRXFFNFVoQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0g5VWpCLDJCQUEyQixDQTJEMUIsUUFBUSxDR3VTTCxFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVrRStOaEIsb0JBQW9CLENBY25CLGFBQWEsQ2xFN0NiLEtBQUssQWtFeURKLElBQUksQ2xFelBELFFBQVEsQ0FBQyxFQUFFLEVrRStOaEIsb0JBQW9CLENBY25CLGFBQWEsQ0N1R2QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW1Fb1ZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQWNuQixhQUFhLENDNEhYLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRWtFK05oQixvQkFBb0IsQ0FjbkIsYUFBYSxDRytGZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFcUU0VWhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBY25CLGFBQWEsQ0dpTFYsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFa0UrTmhCLG9CQUFvQixDQStCbkIsUUFBUSxDbEU5RFIsS0FBSyxBa0V1RUosSUFBSSxDbEV2UUQsUUFBUSxDQUFDLEVBQUUsRWtFK05oQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW1Fb1ZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLEFuRXpLSixLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVrRStOaEIsb0JBQW9CLENBK0JuQixRQUFRLENHOEVULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVxRTRVaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFa0V3VGhCLHlCQUF5QixDQVd4QixRQUFRLENsRW5JUixLQUFLLEFrRTZKSixJQUFJLENsRTdWRCxRQUFRLENBQUMsRUFBRSxFa0V3VGhCLHlCQUF5QixDQVd4QixRQUFRLENDaUJULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVtRW9WaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRC9DUix5QkFBeUIsQ0FXeEIsUUFBUSxDQ3NDTixFQUFFLEFuRXpLSixLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVrRXdUaEIseUJBQXlCLENBV3hCLFFBQVEsQ0dTVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFcUU0VWhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGxGakIseUJBQXlCLENBV3hCLFFBQVEsQ0cyRkwsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFbUU1RWhCLHNCQUFzQixDQUdyQixlQUFlLENBRWQsYUFBYSxDbkV1UWQsS0FBSyxBbUVyUEgsYUFBYSxDbkVxRFgsUUFBUSxDQUFDLEVBQUUsRW1FOEtoQiwwQkFBMEIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ25FYVQsS0FBSyxBbUVGSCxTQUFTLENuRTlMUCxRQUFRLENBQUMsRUFBRSxFbUV5Y2hCLDBCQUEwQixDbkV6UXpCLEtBQUssQW1FMlFMLGVBQWUsQ25FM2NYLFFBQVEsQ0FBQyxFQUFFLEVtRXljaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDbkVwU1QsS0FBSyxBbUVxVEgsSUFBSSxDbkVyZkYsUUFBUSxDQUFDLEVBQUUsRW1FeWNoQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEFuRXpLSixLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVtRW9WaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQWtHUiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBM0hQLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW1FeWNoQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENFeEpWLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVxRTRVaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGK0RqQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENFdEVOLEVBQUUsQXJFOU5MLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW9Fc1JoQixzQkFBc0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ3BFN0ZiLEtBQUssQW9FNEdKLGFBQWEsQ3BFNVNWLFFBQVEsQ0FBQyxFQUFFLEVvRXluQmhCLGNBQWMsQ0FrQmIsYUFBYSxDcEUzY2IsS0FBSyxBb0VrZEosSUFBSSxDcEVscEJELFFBQVEsQ0FBQyxFQUFFLEVvRXluQmhCLGNBQWMsQ0FrQmIsYUFBYSxDRHZUZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFbUVvVmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NrUlIsY0FBYyxDQWtCYixhQUFhLENEbFNYLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW9FeW5CaEIsY0FBYyxDQWtCYixhQUFhLENDL1RkLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVxRTRVaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENEK09qQixjQUFjLENBa0JiLGFBQWEsQ0M3T1YsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFb0V1eEJoQixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ3BFM2xCZCxLQUFLLEFvRWttQkgsSUFBSSxDcEVseUJGLFFBQVEsQ0FBQyxFQUFFLEVvRXV4QmhCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDRHZjZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFbUVvVmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NnYlIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENEbGJaLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW9FdXhCaEIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENDL2NmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVxRTRVaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0M3WFgsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFb0V1eEJoQixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ3BFeG1CVCxLQUFLLEFvRTJuQkgsSUFBSSxDcEUzekJGLFFBQVEsQ0FBQyxFQUFFLEVvRXV4QmhCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDRHBkViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFbUVvVmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NnYlIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENEL2JQLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW9FdXhCaEIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENDNWRWLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVxRTRVaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0MxWU4sRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFcUVqS2hCLG9CQUFvQixDckVpV25CLEtBQUssQXFFcFVMLGdCQUFnQixDckVvSVosUUFBUSxDQUFDLEVBQUUsRXFFaktoQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDckUyU1AsS0FBSyxBcUV6U0YsSUFBSSxDckV5R0gsUUFBUSxDQUFDLEVBQUUsRXFFaktoQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBbkV6S0osS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFbUVvVmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENGb2RMLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRXFFaktoQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXViUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFcUU0VWhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLEFyRTlOTCxLQUFLLENBaE1ELFFBQVEsQ0FBQyxFQUFFLEVxRTRKaEIsaUNBQWlDLENBRWhDLFFBQVEsQ3JFa0NSLEtBQUssQXFFakNKLElBQUksQ3JFL0pELFFBQVEsQ0FBQyxFQUFFLEVxRTRKaEIsaUNBQWlDLENBRWhDLFFBQVEsQ0ZzTFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW1Fb1ZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM01SLGlDQUFpQyxDQUVoQyxRQUFRLENGMk1OLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRXFFNEpoQixpQ0FBaUMsQ0FFaEMsUUFBUSxDQThLVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFcUU0VWhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTlPakIsaUNBQWlDLENBRWhDLFFBQVEsQ0FnUUwsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFcUV5T2hCLDRCQUE0QixDckV6QzNCLEtBQUssQXFFMENMLGFBQWEsQ3JFMU9ULFFBQVEsQ0FBQyxFQUFFLEVxRXlPaEIsNEJBQTRCLENBVTNCLFFBQVEsQ3JFbkRSLEtBQUssQXFFMERKLElBQUksQ3JFMVBELFFBQVEsQ0FBQyxFQUFFLEVxRXlPaEIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZpR1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRW1Fb1ZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQVUzQixRQUFRLENGc0hOLEVBQUUsQW5FektKLEtBQUssQ0FoTUQsUUFBUSxDQUFDLEVBQUUsRXFFeU9oQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFcUU0VWhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBVTNCLFFBQVEsQ0EyS0wsRUFBRSxBckU5TkwsS0FBSyxDQWhNRCxRQUFRLENBQUMsRUFBRSxFQWdNZixLQUFLLEF5RThQUCw4QkFBOEIsQ3pFOWJ4QixRQUFRLENBQUMsRUFBRSxDQUFDO01BQ1YsVUFBVSxFdEQvQ3FDLElBQUksR3NEZ0RwRDtFQThMTCxBQWlIRSxLQWpIRyxDQWlISCxVQUFVLENBQUM7SUE5SGIsT0FBTyxFdEQzUGEsTUFBTSxDQUFDLElBQUk7SXNENlAvQixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsQ0FBQztJQUNkLEtBQUssRUFBRSxPQUFPLEdBNEhYOztBQUlELEFBQ0UsY0FEWSxHQUNWLEtBQUssQ0FBQztFQTFUUixVQUFVLEVBQUUsTUFBTSxHQWdVakI7RUFQSCxBQXZURSxjQXVUWSxHQUNWLEtBQUssQ0F4VFAsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNWLFVBQVUsRXREL0NxQyxJQUFJLEdzRGdEcEQ7O0FBaVVMLEFBQUEsTUFBTSxFQUFDLEFBQUEsb0JBQUMsQUFBQSxFQUFzQixFQUFFLENBQUM7RUFDL0IsT0FBTyxFQUFFLElBQUksR0FDZDs7QUM1ZUQsQUFBQSxVQUFVLENBQUM7RXRFd0dYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLEtBQUssRUF6QkcsSUFBSTtFQTBCWixNQUFNLEVBekJHLElBQUk7RUEwQmIsTUFBTSxFQUFFLE9BQU8sR3NFM0dkO0VBRkQsQXRFZ0hBLFVzRWhIVSxBdEVnSFQsT0FBTyxDQUFDO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUVQLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBbkNDLEdBQUc7SUFxQ1YsVUFBVSxFVjNETixPQUFPO0lVNERYLFVBQVUsRUF0QmUsQ0FBQyxDQURqQixHQUErQixDQUNMLENBQUMsQ1Z0Q2hDLE9BQU8sRVVzQ2MsQ0FBQyxDQURqQixJQUErQixDQUNMLENBQUMsQ1Z0Q2hDLE9BQU87SVU4RFgsT0FBTyxFQUFFLEVBQUUsR0FDWjtFc0U3SEQsQXRFdUlFLFVzRXZJUSxBdEV1SVAsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUNiLFVBQVUsRVY3RUYsT0FBTztJVThFZixVQUFVLEVBTDJCLENBQUMsQ0FEN0IsR0FBK0IsQ0FDTyxDQUFDLENWekV4QyxPQUFPLEVVeUVzQixDQUFDLENBRDdCLElBQStCLENBQ08sQ0FBQyxDVnpFeEMsT0FBTyxHVStFaEI7O0FzRXRJSCxBQUFBLFVBQVUsQUFBQSxLQUFLLENBQUM7RXRFb0doQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixLQUFLLEVBekJHLElBQUk7RUEwQlosTUFBTSxFQXpCRyxJQUFJO0VBMEJiLE1BQU0sRUFBRSxPQUFPLEdzRXZHZDtFQUZELEF0RTRHQSxVc0U1R1UsQUFBQSxLQUFLLEF0RTRHZCxPQUFPLENBQUM7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBRVAsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFuQ0MsR0FBRztJQXFDVixVQUFVLEVWNUROLE9BQU87SVU2RFgsVUFBVSxFQXRCZSxDQUFDLENBRGpCLEdBQStCLENBQ0wsQ0FBQyxDVnZDaEMsT0FBTyxFVXVDYyxDQUFDLENBRGpCLElBQStCLENBQ0wsQ0FBQyxDVnZDaEMsT0FBTztJVStEWCxPQUFPLEVBQUUsRUFBRSxHQUNaO0VzRXpIRCxBdEVtSUUsVXNFbklRLEFBQUEsS0FBSyxBdEVtSVosTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUNiLFVBQVUsRVY1RUosT0FBTztJVTZFYixVQUFVLEVBTDJCLENBQUMsQ0FEN0IsR0FBK0IsQ0FDTyxDQUFDLENWeEUxQyxPQUFPLEVVd0V3QixDQUFDLENBRDdCLElBQStCLENBQ08sQ0FBQyxDVnhFMUMsT0FBTyxHVThFZDs7QXVEaEVILEFBS0UsZUFMYSxDQUtiLEVBQUUsQ0FBQztFQU1ELEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBWkgsQUFjRSxlQWRhLENBY2IsQ0FBQyxDQUFDO0VBSUEsT0FBTyxFeENHUyxNQUFNLENBQUMsSUFBSSxHd0NGNUI7O0FBbkJILEFBcUJFLGVBckJhLENBcUJiLHFCQUFxQixDQUFDLENBQUMsQ0FBQztFQUN0QixPQUFPLEV4Q0RTLE1BQU0sQ0FBQyxJQUFJLEd3Q0U1Qjs7QUF2QkgsQUF5QkUsZUF6QmEsQ0F5QmIsT0FBTyxBQUFBLHFCQUFxQixDQUFDO0Vjc0k3QixZQUF1QixFQUFTLENBQUM7RUFDakMsV0FBc0IsRXREeElFLElBQUksR3dDRzNCOztBQTNCSCxBQThCSSxlQTlCVyxBQTZCWixZQUFZLENBQ1gsT0FBTyxBQUFBLHFCQUFxQixDQUFDO0VjNkgvQixZQUF1QixFdERuSUMsSUFBSTtFc0RvSTVCLFdBQXNCLEVBQVMsQ0FBQyxHZDVIN0I7O0FBaENMLEFBdEJBLGVBc0JlLENBdEJmLDRCQUE0QixBQUFBLElBQUssQ0FBQSxtQkFBbUIsSUFBSSxDQUFDLENBQUM7RUFDeEQsUUFBUSxFQUFFLFFBQVEsR0FTbkI7RUFZRCxBQW5CRSxlQW1CYSxDQXRCZiw0QkFBNEIsQUFBQSxJQUFLLENBQUEsbUJBQW1CLElBQUksQ0FBQyxBQUd0RCxPQUFPLENBQUM7SXZEZFgsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1ZvUFksR0FBRztJVWxQNUIsT0FBTyxFQUFFLEVBQUU7SUFHVCxtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsWUFBWSxFVkRMLE9BQU8sQ1VDZ0IsV0FBVyxDQUFDLFdBQVc7SXVES25ELFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLElBQW9DO0lBQ2hELEtBQWdCLEVBQUUsSUFBSSxHQUN2Qjs7QUFhSCxBQVhBLGVBV2UsQUFYZCxXQUFXLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRWlGbU5yRCxtQkFBbUIsQ0FDbEIsUUFBUSxDakZ6TVIsZUFBZSxBaUZ3TmQsSUFBSSxDakZuT1EsNEJBQTRCLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRWlGbU5yRCxtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBakZ0Y0osZUFBZSxDQVhGLDRCQUE0QixHQUFHLENBQUMsQUFBQSxPQUFPLEVpRjRickQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVQUixtQkFBbUIsQ0FDbEIsUUFBUSxDQTZQTixFQUFFLEFqRnRjSixlQUFlLENBWEYsNEJBQTRCLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRWlGbU5yRCxtQkFBbUIsQ0FDbEIsUUFBUSxDRWdPVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBbkYzZkwsZUFBZSxDQVhGLDRCQUE0QixHQUFHLENBQUMsQUFBQSxPQUFPLEVtRm9ickQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLEFuRjNmTCxlQUFlLENBWEYsNEJBQTRCLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUNuRCxJQUFJLEVBQUUsSUFBSTtFQUNWLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBUUQsQUFQQSxlQU9lLEFBUGQsWUFBWSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7RUFDcEQsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsSUFBSSxHQUNYOztBQUlELEFBc0NJLGVBdENXLENBc0NYLDRCQUE0QixDQUFBLEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsSUFBd0IsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUM1RCxTQUFTLEVBQUUsY0FBYztFQUN6QixnQkFBZ0IsRUFBRSxPQUFPLEdBQzFCOztBQVdMLEFBQUEsNEJBQTRCLENBQUM7RUFDM0IsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQsQUFBQSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7RUFDdEIsWUFBdUIsRUExRlUsSUFBSSxHQTJGdEM7O0FBR0QsQUFBQSxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQWdCLEVBQUUsQ0FBQztFQUNuQixNQUFNLEVBQUUsT0FBTztFQUVmLEtBQUssRUFwRzRCLElBQUk7RUFxR3JDLE1BQU0sRUFyRzJCLElBQUksR0FxSHRDO0VBdkJELEFBZ0JFLGVBaEJhLEFBZ0JaLE9BQU8sQ0FBQztJdkQ5R1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ3VEMkdhLEdBQUc7SXZEekc3QixPQUFPLEVBQUUsRUFBRTtJQUdULG1CQUFtQixFQUFFLENBQUM7SUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVWREwsT0FBTyxDVUNnQixXQUFXLENBQUMsV0FBVztJdURzR25ELEdBQUcsRUFBRSxDQUFDO0lBQ04sTUFBTSxFQUFFLENBQUM7SUFDVCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUlILEFBQUEsZUFBZSxDQUFBLEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsQ0FBcUIsT0FBTyxDQUFDO0VBQzNDLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLGdCQUFnQixFQUFFLE9BQU8sR0FDMUI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFdkQyQ3JCLFFBQVEsRUFBRSxtQkFBbUI7RUFDN0IsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLGdCQUFhO0VBQ25CLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLE1BQU0sRUFBRSxDQUFDLEd1RGpEUjs7QU9qR0QsQUFBQSxhQUFhLENBQUM7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTSxHQVNqQjtFQVhELEFBSUUsYUFKVyxDQUlYLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFOSCxBQVFFLGFBUlcsQUFRVixlQUFlLENBQUM7SUFDZixVQUFVLEVBQUUsV0FBVyxHQUN4Qjs7QUFJSCxBQUNFLFVBRFEsQ0FDUixDQUFDLENBQUM7RUFDQSxPQUFPLEUvQ1FTLE1BQU0sQ0FBQyxJQUFJO0UrQ1AzQixVQUFVLEV4RTFCUixPQUFPLEd3RTJCVjs7QUFKSCxBQU9FLFVBUFEsQ0FPUixxQkFBcUIsQ0FBQztFQUNwQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU8sRUFBRSxFQUFFO0VBRVgsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEV4RXJDUixPQUFPO0V3RXNDVCxVQUFVLEV4RTJTTyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR3dFM1J4QztFQS9CSCxBQWlCSSxVQWpCTSxDQU9SLHFCQUFxQixBQVVsQixVQUFVLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxLQUFLO0lBQ2QsU0FBUyxFQUFFLGlCQUEwRCxHQUN0RTtFQXJCTCxBQXVCSSxVQXZCTSxDQU9SLHFCQUFxQixBQWdCbEIsV0FBVyxDQUFDO0lBQ1gsU0FBUyxFQUFFLGdCQUEwRCxHQUN0RTtFQXpCTCxBQTRCSSxVQTVCTSxDQU9SLHFCQUFxQixDQXFCbkIsQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFL0NuQk8sTUFBTSxDQUFDLElBQUksRytDb0IxQjs7QUE5QkwsQUFpQ0UsVUFqQ1EsQ0FpQ1IsT0FBTyxBQUFBLHFCQUFxQixDQUFDO0VPbUg3QixZQUF1QixFQUFTLENBQUM7RUFDakMsV0FBc0IsRVByTkEsQ0FBQyxHQW1HdEI7O0FBbkNILEFBcUNFLFVBckNRLENBcUNSLGlDQUFpQyxDQUFDO0VBQ2hDLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQXZDSCxBQXpDQSxVQXlDVSxDQXpDViw0QkFBNEIsR0FBRyxDQUFDLENBQUM7RUFDL0IsUUFBUSxFQUFFLFFBQVEsR0FRbkI7RUFnQ0QsQUF2Q0UsVUF1Q1EsQ0F6Q1YsNEJBQTRCLEdBQUcsQ0FBQyxBQUU3QixPQUFPLENBQUM7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxJQUEwQjtJQUN0QyxLQUFnQixFQUFFLElBQUk7STlEVDFCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUVULE1BQU0sRUFBRSxLQUFLLENWcVdRLEdBQUc7SVVuV3hCLE9BQU8sRUFBRSxFQUFFO0lBYVQsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQixpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLFlBQVksRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ1ZYMUMsT0FBTyxHd0VDYjs7QUFpQ0gsQUE5QkEsVUE4QlUsQUE5QlQsV0FBVyxDQUFDLDRCQUE0QixHQUFHLENBQUMsQUFBQSxPQUFPLEUwRTJOckQsbUJBQW1CLENBQ2xCLFFBQVEsQzFFOUxSLFVBQVUsQTBFNk1ULElBQUksQzFFM09RLDRCQUE0QixHQUFHLENBQUMsQUFBQSxPQUFPLEUwRTJOckQsbUJBQW1CLENBQ2xCLFFBQVEsQ0F3T1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQTFFM2JKLFVBQVUsQ0E5QkcsNEJBQTRCLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRTBFb2NyRCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBNVBSLG1CQUFtQixDQUNsQixRQUFRLENBNlBOLEVBQUUsQTFFM2JKLFVBQVUsQ0E5QkcsNEJBQTRCLEdBQUcsQ0FBQyxBQUFBLE9BQU8sRTBFMk5yRCxtQkFBbUIsQ0FDbEIsUUFBUSxDRWdPVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBNUVoZkwsVUFBVSxDQTlCRyw0QkFBNEIsR0FBRyxDQUFDLEFBQUEsT0FBTyxFNEU0YnJELDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRi9SakIsbUJBQW1CLENBQ2xCLFFBQVEsQ0VrVEwsRUFBRSxBNUVoZkwsVUFBVSxDQTlCRyw0QkFBNEIsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0VBQ25ELElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFQUFFLElBQUk7RTlEaEJiLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUVULE1BQU0sRUFBRSxLQUFLLENWNFhXLEdBQUc7RVUxWDNCLE9BQU8sRUFBRSxFQUFFO0VBYVQsa0JBQWtCLEVBQUUsQ0FBQztFQUNyQixpQkFBaUIsRUFBRSxLQUFLO0VBQ3hCLFlBQVksRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ1ZYMUMsT0FBTyxHd0VRZjs7QUEwQkQsQUF4QkEsVUF3QlUsQUF4QlQsWUFBWSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7RUFDcEQsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsSUFBSTtFOUR0QlosT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztFVTFYM0IsT0FBTyxFQUFFLEVBQUU7RUFrQlQsaUJBQWlCLEVBQUUsQ0FBQztFQUNwQixrQkFBa0IsRUFBRSxLQUFLO0VBQ3pCLFlBQVksRUFBRSxXQUFXLENWaEJsQixPQUFPLENVZ0I0QixXQUFXLENBQUMsV0FBVyxHOERGbEU7O0FBb0JELEFBNENJLFVBNUNNLENBNENOLGtCQUFrQixHQUFHLENBQUMsQUFBQSxRQUFRLENBQUM7RTlEeEZuQyxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFFVCxNQUFNLEVBQUUsS0FBSyxDVnFXUSxHQUFHO0VVbld4QixPQUFPLEVBQUUsRUFBRTtFQWtCVCxpQkFBaUIsRUFBRSxDQUFDO0VBQ3BCLGtCQUFrQixFQUFFLEtBQUs7RUFDekIsWUFBWSxFQUFFLFdBQVcsQ1ZoQmxCLE9BQU8sQ1VnQjRCLFdBQVcsQ0FBQyxXQUFXO0U4RGdFN0QsaUJBQTRCLEVBQWUsQ0FBQztFQUM1QyxPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixZQUF1QixFQUFTLE9BQU87RUFFdkMsaUJBQTRCLEVBQWUsQ0FBQyxHQUM3Qzs7QUNPTCxBQTdESSxTQTZESyxBQUFBLEtBQUssR0E5RFYsRUFBRSxBQUFBLFdBQVcsR0FDWCxvQkFBb0IsQ0FBQztFQUNyQixHQUFHLEVBQUUsSUFBSTtFQUNULEtBQUssRUFBRSxDQUFDO0VBQ1IsSUFBSSxFQUFFLElBQUksR0FDWDs7QUF5REwsQUFyREksU0FxREssQUFBQSxLQUFLLEdBdERWLEVBQUUsQUFBQSxZQUFZLEdBQ1osb0JBQW9CLENBQUM7RUFDckIsR0FBRyxFQUFFLElBQUk7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLElBQUksRUFBRSxDQUFDLEdBQ1I7O0FBaURMLEFBN0NJLFNBNkNLLEFBQUEsS0FBSyxHQTdDUixFQUFFLEFBQUEsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0VBQ2xDLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQXdCLEVBaEZILE1BQU0sR0FpRjVCOztBQTBDTCxBQXhDSSxTQXdDSyxBQUFBLEtBQUssR0F4Q1IsRUFBRSxBQUFBLDJCQUEyQixHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7RS9EL0QvQyxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0VVMVgzQixPQUFPLEVBQUUsRUFBRTtFQUdULG1CQUFtQixFQUFFLENBQUM7RUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixZQUFZLEVWREwsT0FBTyxDVUNnQixXQUFXLENBQUMsV0FBVztFK0RzRGpELEtBQWdCLEVBQUUsR0FBRztFQUNyQixJQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsSUFBbUMsR0FDaEQ7O0FBbUNMLEFBR0UsU0FITyxBQUFBLEtBQUssQ0FHWixDQUFDLENBQUM7RUFFQSxPQUFPLEVoRHREUyxNQUFNLENBQUMsSUFBSSxHZ0R1RDVCO0cvRGtESCxBQUFBLEFBQUEsY0FBQyxDQUFlLE9BQU8sQUFBdEIsRStEeERELFNBQVMsQUFBQSxLQUFLLENBR1osQ0FBQyxDL0RxRHdCO0lBQ3pCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0ErRDFERCxBQVNFLFNBVE8sQUFBQSxLQUFLLENBU1osVUFBVSxHQUFHLENBQUMsQ0FBQztFQUNiLFVBQVUsRUE1RnVCLFdBQVc7RUE2RjVDLEtBQUssRXpFeEdBLE9BQU8sR3lFeUdiOztBQUVELEFBQUEsTUFBTSxDQWRSLFNBQVMsQUFBQSxLQUFLLENBY0gsRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFoQkgsQUFrQkUsU0FsQk8sQUFBQSxLQUFLLENBa0JaLE9BQU8sQUFBQSxvQkFBb0IsQ0FBQztFTXVFNUIsWUFBdUIsRUFBUyxDQUFDO0VBQ2pDLFdBQXNCLEVOak1HLENBQUMsR0EySHpCOztBQXBCSCxBQTlCSSxTQThCSyxBQUFBLEtBQUssQUFzQlgsU0FBUyxHQXJEUixFQUFFLENBQ0Ysb0JBQW9CLENBQUM7RUFDbkIsR0FBRyxFQUFFLENBQUMsR0FDUDs7QUE0QkwsQUF6Qk0sU0F5QkcsQUFBQSxLQUFLLEFBc0JYLFNBQVMsR0FyRFIsRUFBRSxBQUtELFdBQVcsR0FDUixvQkFBb0IsQ0FBQztFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLElBQUksRUFBRSxJQUFJO0VBQ1YsR0FBRyxFQUFFLENBQUMsR0FDUDs7QUFxQlAsQUFqQk0sU0FpQkcsQUFBQSxLQUFLLEFBc0JYLFNBQVMsR0FyRFIsRUFBRSxBQWFELFlBQVksR0FDVCxvQkFBb0IsQ0FBQztFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLElBQUksRUFBRSxJQUFJLEdBQ1g7O0FBY1AsQUEvRUEsU0ErRVMsQUFBQSxLQUFLLEFBc0JYLFNBQVMsR0FyRFIsRUFBRSxHQWhESixDQUFDLEFBQUEsT0FBTyxDQUFDO0VBQ1QsS0FBZ0IsRUFBRSxJQUFJLEdBQ3ZCOztBQTZFRCxBQTNFQSxTQTJFUyxBQUFBLEtBQUssQUFzQlgsU0FBUyxHQXJEUixFQUFFLEFBNUNMLFdBQVcsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsSUFBSSxFQUFFLEdBQUc7RS9EOUJYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUVULE1BQU0sRUFBRSxLQUFLLENWNFhXLEdBQUc7RVUxWDNCLE9BQU8sRUFBRSxFQUFFO0VBa0JULGlCQUFpQixFQUFFLENBQUM7RUFDcEIsa0JBQWtCLEVBQUUsS0FBSztFQUN6QixZQUFZLEVBQUUsV0FBVyxDVmhCbEIsT0FBTyxDVWdCNEIsV0FBVyxDQUFDLFdBQVcsRytETWxFOztBQXVFRCxBQXJFQSxTQXFFUyxBQUFBLEtBQUssQUFzQlgsU0FBUyxHQXJEUixFQUFFLEFBdENMLFlBQVksR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0UvRGxDekIsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztFVTFYM0IsT0FBTyxFQUFFLEVBQUU7RUFhVCxrQkFBa0IsRUFBRSxDQUFDO0VBQ3JCLGlCQUFpQixFQUFFLEtBQUs7RUFDeEIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDVlgxQyxPQUFPLEd5RTBCZjs7QWhFcUZHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0VnRWxCakQsQUE3REksU0E2REssQUFBQSxLQUFLLEFBNkJMLHNCQUFzQixHQTNGM0IsRUFBRSxBQUFBLFdBQVcsR0FDWCxvQkFBb0IsQ0FBQztJQUNyQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxDQUFDO0lBQ1IsSUFBSSxFQUFFLElBQUksR0FDWDtFQXlETCxBQXJESSxTQXFESyxBQUFBLEtBQUssQUE2Qkwsc0JBQXNCLEdBbkYzQixFQUFFLEFBQUEsWUFBWSxHQUNaLG9CQUFvQixDQUFDO0lBQ3JCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsQ0FBQyxHQUNSO0VBaURMLEFBN0NJLFNBNkNLLEFBQUEsS0FBSyxBQTZCTCxzQkFBc0IsR0ExRXpCLEVBQUUsQUFBQSwyQkFBMkIsR0FBRyxDQUFDLENBQUM7SUFDbEMsUUFBUSxFQUFFLFFBQVE7SUFDbEIsYUFBd0IsRUFoRkgsTUFBTSxHQWlGNUI7RUEwQ0wsQUF4Q0ksU0F3Q0ssQUFBQSxLQUFLLEFBNkJMLHNCQUFzQixHQXJFekIsRUFBRSxBQUFBLDJCQUEyQixHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SS9EL0QvQyxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0lVMVgzQixPQUFPLEVBQUUsRUFBRTtJQUdULG1CQUFtQixFQUFFLENBQUM7SUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVWREwsT0FBTyxDVUNnQixXQUFXLENBQUMsV0FBVztJK0RzRGpELEtBQWdCLEVBQUUsR0FBRztJQUNyQixJQUFlLEVBQUUsSUFBSTtJQUNyQixVQUFVLEVBQUUsSUFBbUMsR0FDaEQ7RUFtQ0wsQUE5QkksU0E4QkssQUFBQSxLQUFLLEFBaUNMLG9CQUFvQixHQWhFekIsRUFBRSxDQUNGLG9CQUFvQixDQUFDO0lBQ25CLEdBQUcsRUFBRSxDQUFDLEdBQ1A7RUE0QkwsQUF6Qk0sU0F5QkcsQUFBQSxLQUFLLEFBaUNMLG9CQUFvQixHQWhFekIsRUFBRSxBQUtELFdBQVcsR0FDUixvQkFBb0IsQ0FBQztJQUNyQixLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLENBQUMsR0FDUDtFQXFCUCxBQWpCTSxTQWlCRyxBQUFBLEtBQUssQUFpQ0wsb0JBQW9CLEdBaEV6QixFQUFFLEFBYUQsWUFBWSxHQUNULG9CQUFvQixDQUFDO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUksR0FDWDtFQWNQLEFBL0VBLFNBK0VTLEFBQUEsS0FBSyxBQWlDTCxvQkFBb0IsR0FoRXpCLEVBQUUsR0FoREosQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUNULEtBQWdCLEVBQUUsSUFBSSxHQUN2QjtFQTZFRCxBQTNFQSxTQTJFUyxBQUFBLEtBQUssQUFpQ0wsb0JBQW9CLEdBaEV6QixFQUFFLEFBNUNMLFdBQVcsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0lBQ3RCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLEdBQUc7SS9EOUJYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUVULE1BQU0sRUFBRSxLQUFLLENWNFhXLEdBQUc7SVUxWDNCLE9BQU8sRUFBRSxFQUFFO0lBa0JULGlCQUFpQixFQUFFLENBQUM7SUFDcEIsa0JBQWtCLEVBQUUsS0FBSztJQUN6QixZQUFZLEVBQUUsV0FBVyxDVmhCbEIsT0FBTyxDVWdCNEIsV0FBVyxDQUFDLFdBQVcsRytETWxFO0VBdUVELEFBckVBLFNBcUVTLEFBQUEsS0FBSyxBQWlDTCxvQkFBb0IsR0FoRXpCLEVBQUUsQUF0Q0wsWUFBWSxHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SS9EbEN6QixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0lVMVgzQixPQUFPLEVBQUUsRUFBRTtJQWFULGtCQUFrQixFQUFFLENBQUM7SUFDckIsaUJBQWlCLEVBQUUsS0FBSztJQUN4QixZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENWWDFDLE9BQU8sR3lFMEJmOztBaEVxRkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RWdFbEI3QyxBQTdESSxTQTZESyxBQUFBLEtBQUssQUE2Qkwsa0JBQWtCLEdBM0Z2QixFQUFFLEFBQUEsV0FBVyxHQUNYLG9CQUFvQixDQUFDO0lBQ3JCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsSUFBSSxHQUNYO0VBeURMLEFBckRJLFNBcURLLEFBQUEsS0FBSyxBQTZCTCxrQkFBa0IsR0FuRnZCLEVBQUUsQUFBQSxZQUFZLEdBQ1osb0JBQW9CLENBQUM7SUFDckIsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxDQUFDLEdBQ1I7RUFpREwsQUE3Q0ksU0E2Q0ssQUFBQSxLQUFLLEFBNkJMLGtCQUFrQixHQTFFckIsRUFBRSxBQUFBLDJCQUEyQixHQUFHLENBQUMsQ0FBQztJQUNsQyxRQUFRLEVBQUUsUUFBUTtJQUNsQixhQUF3QixFQWhGSCxNQUFNLEdBaUY1QjtFQTBDTCxBQXhDSSxTQXdDSyxBQUFBLEtBQUssQUE2Qkwsa0JBQWtCLEdBckVyQixFQUFFLEFBQUEsMkJBQTJCLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJL0QvRC9DLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUVULE1BQU0sRUFBRSxLQUFLLENWNFhXLEdBQUc7SVUxWDNCLE9BQU8sRUFBRSxFQUFFO0lBR1QsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFlBQVksRVZETCxPQUFPLENVQ2dCLFdBQVcsQ0FBQyxXQUFXO0krRHNEakQsS0FBZ0IsRUFBRSxHQUFHO0lBQ3JCLElBQWUsRUFBRSxJQUFJO0lBQ3JCLFVBQVUsRUFBRSxJQUFtQyxHQUNoRDtFQW1DTCxBQTlCSSxTQThCSyxBQUFBLEtBQUssQUFpQ0wsZ0JBQWdCLEdBaEVyQixFQUFFLENBQ0Ysb0JBQW9CLENBQUM7SUFDbkIsR0FBRyxFQUFFLENBQUMsR0FDUDtFQTRCTCxBQXpCTSxTQXlCRyxBQUFBLEtBQUssQUFpQ0wsZ0JBQWdCLEdBaEVyQixFQUFFLEFBS0QsV0FBVyxHQUNSLG9CQUFvQixDQUFDO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUk7SUFDVixHQUFHLEVBQUUsQ0FBQyxHQUNQO0VBcUJQLEFBakJNLFNBaUJHLEFBQUEsS0FBSyxBQWlDTCxnQkFBZ0IsR0FoRXJCLEVBQUUsQUFhRCxZQUFZLEdBQ1Qsb0JBQW9CLENBQUM7SUFDckIsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSSxHQUNYO0VBY1AsQUEvRUEsU0ErRVMsQUFBQSxLQUFLLEFBaUNMLGdCQUFnQixHQWhFckIsRUFBRSxHQWhESixDQUFDLEFBQUEsT0FBTyxDQUFDO0lBQ1QsS0FBZ0IsRUFBRSxJQUFJLEdBQ3ZCO0VBNkVELEFBM0VBLFNBMkVTLEFBQUEsS0FBSyxBQWlDTCxnQkFBZ0IsR0FoRXJCLEVBQUUsQUE1Q0wsV0FBVyxHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SUFDdEIsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsR0FBRztJL0Q5QlgsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztJVTFYM0IsT0FBTyxFQUFFLEVBQUU7SUFrQlQsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLFlBQVksRUFBRSxXQUFXLENWaEJsQixPQUFPLENVZ0I0QixXQUFXLENBQUMsV0FBVyxHK0RNbEU7RUF1RUQsQUFyRUEsU0FxRVMsQUFBQSxLQUFLLEFBaUNMLGdCQUFnQixHQWhFckIsRUFBRSxBQXRDTCxZQUFZLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJL0RsQ3pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUVULE1BQU0sRUFBRSxLQUFLLENWNFhXLEdBQUc7SVUxWDNCLE9BQU8sRUFBRSxFQUFFO0lBYVQsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQixpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLFlBQVksRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ1ZYMUMsT0FBTyxHeUUwQmY7O0FoRXFGRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFZ0VsQmpELEFBN0RJLFNBNkRLLEFBQUEsS0FBSyxBQTZCTCx1QkFBdUIsR0EzRjVCLEVBQUUsQUFBQSxXQUFXLEdBQ1gsb0JBQW9CLENBQUM7SUFDckIsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLElBQUksRUFBRSxJQUFJLEdBQ1g7RUF5REwsQUFyREksU0FxREssQUFBQSxLQUFLLEFBNkJMLHVCQUF1QixHQW5GNUIsRUFBRSxBQUFBLFlBQVksR0FDWixvQkFBb0IsQ0FBQztJQUNyQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUMsR0FDUjtFQWlETCxBQTdDSSxTQTZDSyxBQUFBLEtBQUssQUE2QkwsdUJBQXVCLEdBMUUxQixFQUFFLEFBQUEsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGFBQXdCLEVBaEZILE1BQU0sR0FpRjVCO0VBMENMLEFBeENJLFNBd0NLLEFBQUEsS0FBSyxBQTZCTCx1QkFBdUIsR0FyRTFCLEVBQUUsQUFBQSwyQkFBMkIsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0kvRC9EL0MsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztJVTFYM0IsT0FBTyxFQUFFLEVBQUU7SUFHVCxtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsWUFBWSxFVkRMLE9BQU8sQ1VDZ0IsV0FBVyxDQUFDLFdBQVc7SStEc0RqRCxLQUFnQixFQUFFLEdBQUc7SUFDckIsSUFBZSxFQUFFLElBQUk7SUFDckIsVUFBVSxFQUFFLElBQW1DLEdBQ2hEO0VBbUNMLEFBOUJJLFNBOEJLLEFBQUEsS0FBSyxBQWlDTCxxQkFBcUIsR0FoRTFCLEVBQUUsQ0FDRixvQkFBb0IsQ0FBQztJQUNuQixHQUFHLEVBQUUsQ0FBQyxHQUNQO0VBNEJMLEFBekJNLFNBeUJHLEFBQUEsS0FBSyxBQWlDTCxxQkFBcUIsR0FoRTFCLEVBQUUsQUFLRCxXQUFXLEdBQ1Isb0JBQW9CLENBQUM7SUFDckIsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLEdBQUcsRUFBRSxDQUFDLEdBQ1A7RUFxQlAsQUFqQk0sU0FpQkcsQUFBQSxLQUFLLEFBaUNMLHFCQUFxQixHQWhFMUIsRUFBRSxBQWFELFlBQVksR0FDVCxvQkFBb0IsQ0FBQztJQUNyQixLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxJQUFJLEdBQ1g7RUFjUCxBQS9FQSxTQStFUyxBQUFBLEtBQUssQUFpQ0wscUJBQXFCLEdBaEUxQixFQUFFLEdBaERKLENBQUMsQUFBQSxPQUFPLENBQUM7SUFDVCxLQUFnQixFQUFFLElBQUksR0FDdkI7RUE2RUQsQUEzRUEsU0EyRVMsQUFBQSxLQUFLLEFBaUNMLHFCQUFxQixHQWhFMUIsRUFBRSxBQTVDTCxXQUFXLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUN0QixLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxHQUFHO0kvRDlCWCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0lVMVgzQixPQUFPLEVBQUUsRUFBRTtJQWtCVCxpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLGtCQUFrQixFQUFFLEtBQUs7SUFDekIsWUFBWSxFQUFFLFdBQVcsQ1ZoQmxCLE9BQU8sQ1VnQjRCLFdBQVcsQ0FBQyxXQUFXLEcrRE1sRTtFQXVFRCxBQXJFQSxTQXFFUyxBQUFBLEtBQUssQUFpQ0wscUJBQXFCLEdBaEUxQixFQUFFLEFBdENMLFlBQVksR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0kvRGxDekIsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztJVTFYM0IsT0FBTyxFQUFFLEVBQUU7SUFhVCxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDVlgxQyxPQUFPLEd5RTBCZjs7QWhFcUZHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VnRWxCN0MsQUE3REksU0E2REssQUFBQSxLQUFLLEFBNkJMLGlCQUFpQixHQTNGdEIsRUFBRSxBQUFBLFdBQVcsR0FDWCxvQkFBb0IsQ0FBQztJQUNyQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxDQUFDO0lBQ1IsSUFBSSxFQUFFLElBQUksR0FDWDtFQXlETCxBQXJESSxTQXFESyxBQUFBLEtBQUssQUE2QkwsaUJBQWlCLEdBbkZ0QixFQUFFLEFBQUEsWUFBWSxHQUNaLG9CQUFvQixDQUFDO0lBQ3JCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsQ0FBQyxHQUNSO0VBaURMLEFBN0NJLFNBNkNLLEFBQUEsS0FBSyxBQTZCTCxpQkFBaUIsR0ExRXBCLEVBQUUsQUFBQSwyQkFBMkIsR0FBRyxDQUFDLENBQUM7SUFDbEMsUUFBUSxFQUFFLFFBQVE7SUFDbEIsYUFBd0IsRUFoRkgsTUFBTSxHQWlGNUI7RUEwQ0wsQUF4Q0ksU0F3Q0ssQUFBQSxLQUFLLEFBNkJMLGlCQUFpQixHQXJFcEIsRUFBRSxBQUFBLDJCQUEyQixHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SS9EL0QvQyxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0lVMVgzQixPQUFPLEVBQUUsRUFBRTtJQUdULG1CQUFtQixFQUFFLENBQUM7SUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVWREwsT0FBTyxDVUNnQixXQUFXLENBQUMsV0FBVztJK0RzRGpELEtBQWdCLEVBQUUsR0FBRztJQUNyQixJQUFlLEVBQUUsSUFBSTtJQUNyQixVQUFVLEVBQUUsSUFBbUMsR0FDaEQ7RUFtQ0wsQUE5QkksU0E4QkssQUFBQSxLQUFLLEFBaUNMLGVBQWUsR0FoRXBCLEVBQUUsQ0FDRixvQkFBb0IsQ0FBQztJQUNuQixHQUFHLEVBQUUsQ0FBQyxHQUNQO0VBNEJMLEFBekJNLFNBeUJHLEFBQUEsS0FBSyxBQWlDTCxlQUFlLEdBaEVwQixFQUFFLEFBS0QsV0FBVyxHQUNSLG9CQUFvQixDQUFDO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUk7SUFDVixHQUFHLEVBQUUsQ0FBQyxHQUNQO0VBcUJQLEFBakJNLFNBaUJHLEFBQUEsS0FBSyxBQWlDTCxlQUFlLEdBaEVwQixFQUFFLEFBYUQsWUFBWSxHQUNULG9CQUFvQixDQUFDO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUksR0FDWDtFQWNQLEFBL0VBLFNBK0VTLEFBQUEsS0FBSyxBQWlDTCxlQUFlLEdBaEVwQixFQUFFLEdBaERKLENBQUMsQUFBQSxPQUFPLENBQUM7SUFDVCxLQUFnQixFQUFFLElBQUksR0FDdkI7RUE2RUQsQUEzRUEsU0EyRVMsQUFBQSxLQUFLLEFBaUNMLGVBQWUsR0FoRXBCLEVBQUUsQUE1Q0wsV0FBVyxHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SUFDdEIsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsR0FBRztJL0Q5QlgsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztJVTFYM0IsT0FBTyxFQUFFLEVBQUU7SUFrQlQsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLFlBQVksRUFBRSxXQUFXLENWaEJsQixPQUFPLENVZ0I0QixXQUFXLENBQUMsV0FBVyxHK0RNbEU7RUF1RUQsQUFyRUEsU0FxRVMsQUFBQSxLQUFLLEFBaUNMLGVBQWUsR0FoRXBCLEVBQUUsQUF0Q0wsWUFBWSxHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SS9EbEN6QixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0lVMVgzQixPQUFPLEVBQUUsRUFBRTtJQWFULGtCQUFrQixFQUFFLENBQUM7SUFDckIsaUJBQWlCLEVBQUUsS0FBSztJQUN4QixZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENWWDFDLE9BQU8sR3lFMEJmOztBaEUwRkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFZ0V2QnRDLEFBN0RJLFNBNkRLLEFBQUEsS0FBSyxBQTZCTCxrQkFBa0IsR0EzRnZCLEVBQUUsQUFBQSxXQUFXLEdBQ1gsb0JBQW9CLENBQUM7SUFDckIsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLElBQUksRUFBRSxJQUFJLEdBQ1g7RUF5REwsQUFyREksU0FxREssQUFBQSxLQUFLLEFBNkJMLGtCQUFrQixHQW5GdkIsRUFBRSxBQUFBLFlBQVksR0FDWixvQkFBb0IsQ0FBQztJQUNyQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUMsR0FDUjtFQWlETCxBQTdDSSxTQTZDSyxBQUFBLEtBQUssQUE2Qkwsa0JBQWtCLEdBMUVyQixFQUFFLEFBQUEsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGFBQXdCLEVBaEZILE1BQU0sR0FpRjVCO0VBMENMLEFBeENJLFNBd0NLLEFBQUEsS0FBSyxBQTZCTCxrQkFBa0IsR0FyRXJCLEVBQUUsQUFBQSwyQkFBMkIsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0kvRC9EL0MsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztJVTFYM0IsT0FBTyxFQUFFLEVBQUU7SUFHVCxtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsWUFBWSxFVkRMLE9BQU8sQ1VDZ0IsV0FBVyxDQUFDLFdBQVc7SStEc0RqRCxLQUFnQixFQUFFLEdBQUc7SUFDckIsSUFBZSxFQUFFLElBQUk7SUFDckIsVUFBVSxFQUFFLElBQW1DLEdBQ2hEO0VBbUNMLEFBOUJJLFNBOEJLLEFBQUEsS0FBSyxBQWlDTCxnQkFBZ0IsR0FoRXJCLEVBQUUsQ0FDRixvQkFBb0IsQ0FBQztJQUNuQixHQUFHLEVBQUUsQ0FBQyxHQUNQO0VBNEJMLEFBekJNLFNBeUJHLEFBQUEsS0FBSyxBQWlDTCxnQkFBZ0IsR0FoRXJCLEVBQUUsQUFLRCxXQUFXLEdBQ1Isb0JBQW9CLENBQUM7SUFDckIsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLEdBQUcsRUFBRSxDQUFDLEdBQ1A7RUFxQlAsQUFqQk0sU0FpQkcsQUFBQSxLQUFLLEFBaUNMLGdCQUFnQixHQWhFckIsRUFBRSxBQWFELFlBQVksR0FDVCxvQkFBb0IsQ0FBQztJQUNyQixLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxJQUFJLEdBQ1g7RUFjUCxBQS9FQSxTQStFUyxBQUFBLEtBQUssQUFpQ0wsZ0JBQWdCLEdBaEVyQixFQUFFLEdBaERKLENBQUMsQUFBQSxPQUFPLENBQUM7SUFDVCxLQUFnQixFQUFFLElBQUksR0FDdkI7RUE2RUQsQUEzRUEsU0EyRVMsQUFBQSxLQUFLLEFBaUNMLGdCQUFnQixHQWhFckIsRUFBRSxBQTVDTCxXQUFXLEdBQUcsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUN0QixLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxHQUFHO0kvRDlCWCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0lVMVgzQixPQUFPLEVBQUUsRUFBRTtJQWtCVCxpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLGtCQUFrQixFQUFFLEtBQUs7SUFDekIsWUFBWSxFQUFFLFdBQVcsQ1ZoQmxCLE9BQU8sQ1VnQjRCLFdBQVcsQ0FBQyxXQUFXLEcrRE1sRTtFQXVFRCxBQXJFQSxTQXFFUyxBQUFBLEtBQUssQUFpQ0wsZ0JBQWdCLEdBaEVyQixFQUFFLEFBdENMLFlBQVksR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0kvRGxDekIsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVQsTUFBTSxFQUFFLEtBQUssQ1Y0WFcsR0FBRztJVTFYM0IsT0FBTyxFQUFFLEVBQUU7SUFhVCxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDVlgxQyxPQUFPLEd5RTBCZjs7QUFtRUQsQUF5Q0ksU0F6Q0ssQUFBQSxLQUFLLEFBd0NYLFlBQVksQ0FDWCxvQkFBb0IsQUFBQSxVQUFVLENBQUM7RUFDN0IsR0FBRyxFQUFFLElBQUk7RUFDVCxLQUFLLEVBQUUsQ0FBQztFQUNSLElBQUksRUFBRSxJQUFJLEdBQ1g7O0FBSUwsQUFBQSxpQkFBaUIsQUFBQSxTQUFTLENBQUM7RUFDekIsS0FBSyxFQUFFLEtBQUssR0FLYjtFQU5ELEFBR0UsaUJBSGUsQUFBQSxTQUFTLEFBR3ZCLFlBQVksQ0FBQztJQUNaLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBR0gsQUFBQSwyQkFBMkIsQ0FBQztFQUMxQixRQUFRLEVBQUUsUUFBUSxHQThCbkI7RUEvQkQsQUFHRSwyQkFIeUIsQ0FHekIsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUNQLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBZ0IsRUFBRSxHQUFHO0lBQ3JCLElBQWUsRUFBRSxJQUFJO0lBQ3JCLFVBQVUsRUFBRSxJQUE2QixHQUMxQztFQVRILEFBV0UsMkJBWHlCLEFBV3hCLFlBQVksR0FBRyxvQkFBb0IsQ0FBQztJQUVuQyxHQUFHLEVBQUUsSUFBSTtJQUtQLElBQUksRUFBRSxJQUFJLEdBRWI7RUFwQkgsQUFzQkUsMkJBdEJ5QixBQXNCeEIsV0FBVyxHQUFHLG9CQUFvQixDQUFDO0lBQ2xDLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUksR0FDWDtFQXpCSCxBQTJCRSwyQkEzQnlCLEFBMkJ4QixZQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFDbkMsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSSxHQUNYOztBQUdILEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFlLEVBQUUsSUFBSTtFQUNyQixPQUFPLEVBQUUsQ0FBQztFQUVWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFekV5TFksS0FBSztFeUV2TDFCLE1BQU0sRXpFeUxZLEdBQUcsQ0FBQyxLQUFLLENBalhqQixPQUFPO0V5RXlMakIsVUFBVSxFekV0TE4sT0FBTyxHeUVpTlo7RUF6QkMsQUFBQSxTQUFTLENBWlgsb0JBQW9CLENBWU4sQ0FBQyxDQUFDO0lBQ1osT0FBTyxFaER4SlMsTUFBTSxDQUFDLElBQUksR2dEeUo1QjtFQWRILEFBektBLG9CQXlLb0IsQ0FnQmxCLDJCQUEyQixHQXpMM0IsQ0FBQyxBQUFBLE9BQU8sQ0FBQztJQUNULEtBQWdCLEVBQUUsSUFBSSxHQUN2QjtFQXVLRCxBQXJLQSxvQkFxS29CLENBZ0JsQiwyQkFBMkIsQUFyTDVCLFdBQVcsR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0lBQ3RCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLEdBQUc7SS9EOUJYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUVULE1BQU0sRUFBRSxLQUFLLENWNFhXLEdBQUc7SVUxWDNCLE9BQU8sRUFBRSxFQUFFO0lBa0JULGlCQUFpQixFQUFFLENBQUM7SUFDcEIsa0JBQWtCLEVBQUUsS0FBSztJQUN6QixZQUFZLEVBQUUsV0FBVyxDVmhCbEIsT0FBTyxDVWdCNEIsV0FBVyxDQUFDLFdBQVcsRytETWxFO0VBaUtELEFBL0pBLG9CQStKb0IsQ0FnQmxCLDJCQUEyQixBQS9LNUIsWUFBWSxHQUFHLENBQUMsQUFBQSxPQUFPLENBQUM7SS9EbEN6QixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUM7SUFFVCxNQUFNLEVBQUUsS0FBSyxDVjRYVyxHQUFHO0lVMVgzQixPQUFPLEVBQUUsRUFBRTtJQWFULGtCQUFrQixFQUFFLENBQUM7SUFDckIsaUJBQWlCLEVBQUUsS0FBSztJQUN4QixZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENWWDFDLE9BQU8sR3lFMEJmO0VBNkpELEFBdUJJLG9CQXZCZ0IsQ0F1QmhCLG9CQUFvQixDQUFDO0lBQ25CLFVBQVUsRXpFMEtJLElBQUcsR3lFektsQjtFQXpCTCxBQTRCRSxvQkE1QmtCLEdBNEJoQixFQUFFLENBQUM7SUFDSCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBOUJILEFBa0NFLG9CQWxDa0IsQUFrQ2pCLG1CQUFtQixDQUFDO0lBQ25CLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FRcExILEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBR0QsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFakZpY2dCLEVBQUU7RWlGL2J6QixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBRVosVUFBVSxFQUFFLE9BQU8sQ2pGZ2NPLElBQUksQ0FDSixJQUFJLEVpRmpjaUQsVUFBVSxDakZnYy9ELElBQUksQ0FDSixJQUFJO0VpRi9iOUIsVUFBVSxFakY3Q04scUJBQU87RWlGK0NYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE1BQU07RUFFbEIsUUFBUSxFQUFFLE1BQU0sR0FrQmpCO0VBbENELEFBa0JFLHNCQWxCb0IsQUFrQm5CLFdBQVcsQ0FBQztJQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7RUFyQkgsQUF1QkUsc0JBdkJvQixBQXVCbkIsWUFBWSxDQUFDO0lBQ1osTUFBTSxFQUFFLE9BQU8sR0FDaEI7RUF6QkgsQUEyQkUsc0JBM0JvQixBQTJCbkIsb0JBQW9CLENBQUM7SUFDcEIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7RUE3QkgsQUErQkUsc0JBL0JvQixBQStCbkIsaUJBQWlCLENBQUM7SUFDakIsUUFBUSxFQUFFLEtBQUssR0FDaEI7O0FBd1RILEFBQUEsbUJBQW1CLENBQUM7RUFsVHBCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFFBQVEsRUFBRSxNQUFNLEdBbVRmOztBQUdELEFBQUEsV0FBVyxDQUFDO0VBMVNWLFFBQVEsRUFBRSxLQUFLO0VBT2pCLE9BQU8sRWpGMlllLEVBQUU7RWlGcFl4QixVQUFVLEVBQUUsU0FBUyxDakZ1WU8sSUFBSSxDQUNKLElBQUk7RWlGdlloQyxtQkFBbUIsRUFBRSxNQUFNO0VBRTNCLFVBQVUsRWpGMUdDLE9BQU8sR2lGMllqQjtHdkU3UEQsQUFBQSxBQUFBLGNBQUMsQ0FBZSxPQUFPLEFBQXRCLEV1RXFQRCxXQUFXLEN2RXJQZ0I7SUFDekIsT0FBTyxFQUFFLENBQUMsR0FDWDtFdUVtUEQsQUFoU0EsV0FnU1csQUFoU1YsbUJBQW1CLENBQUM7SUFDbkIsT0FBTyxFakZ1WWEsRUFBRSxHaUZ0WXZCO0VBOFJELEFBdFJBLFdBc1JXLEFBdFJWLFVBQVUsQ0FBQztJQUNWLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBb1JELEFBalJBLFdBaVJXLEFBalJWLHNCQUFzQixDQUFDO0lBQ3RCLE9BQU8sRWpGeVhnQixFQUFFLEdpRnBYMUI7SUEyUUQsQUE5UUUsV0E4UVMsQUFqUlYsc0JBQXNCLEFBR3BCLFFBQVEsQ0FBQztNQUNSLFVBQVUsRWpGaVhHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQXBlbkIscUJBQU8sR2lGb0hWO0VBNFFILEFBeFFBLFdBd1FXLEFBeFFWLFFBQVEsQ0FBQztJQUNSLFNBQVMsRUFBRSxlQUFlLEdBQzNCOztBQWlSRCxBQUFBLG9CQUFvQixDQUFDO0VBbFRuQixRQUFRLEVBQUUsUUFBUTtFQUlwQixPQUFPLEVqRjJZZSxFQUFFO0VpRnBZeEIsVUFBVSxFQUFFLFNBQVMsQ2pGdVlPLElBQUksQ0FDSixJQUFJO0VpRnZZaEMsbUJBQW1CLEVBQUUsTUFBTTtFQUUzQixVQUFVLEVqRjFHQyxPQUFPLEdpRmdaakI7R3ZFbFFELEFBQUEsQUFBQSxjQUFDLENBQWUsT0FBTyxBQUF0QixFdUVnUUQsb0JBQW9CLEN2RWhRTztJQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYO0V1RThQRCxBQTNTQSxvQkEyU29CLEFBM1NuQixtQkFBbUIsQ0FBQztJQUNuQixPQUFPLEVqRnVZYSxFQUFFLEdpRnRZdkI7RUF5U0QsQUFqU0Esb0JBaVNvQixBQWpTbkIsVUFBVSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RUErUkQsQUE1UkEsb0JBNFJvQixBQTVSbkIsc0JBQXNCLENBQUM7SUFDdEIsT0FBTyxFakZ5WGdCLEVBQUUsR2lGcFgxQjtJQXNSRCxBQXpSRSxvQkF5UmtCLEFBNVJuQixzQkFBc0IsQUFHcEIsUUFBUSxDQUFDO01BQ1IsVUFBVSxFakZpWEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBcGVuQixxQkFBTyxHaUZvSFY7RUF1UkgsQUFuUkEsb0JBbVJvQixBQW5SbkIsUUFBUSxDQUFDO0lBQ1IsU0FBUyxFQUFFLGVBQWUsR0FDM0I7O0FBc1JELEFBQUEsY0FBYyxDQUFJO0VBNVFoQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsSUFBSTtFQUlaLEtBQUssRWpGaVZKLEdBQUc7RWlGaFZKLFNBQVMsRUFBRSxnQkFBa0IsR0FvUXFDO0V4RTNTcEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXdFMlM3QyxBQUFBLGNBQWMsQ0FBSTtNQXJRWixLQUFLLEVqRmtWSCxLQUFLO01pRmpWUCxTQUFTLEVBQUUsa0JBQWtCLEdBb1FxQztFQS9QOUQsQUFBQSxtQkFBbUIsQ0FBQyxXQUFXLEFBQUEsY0FBYyxDQUFZO0lBSTNELFNBQVMsRUFBRSxnQkFBa0IsR0FNbEM7SXhFdERDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013RTRDbkMsQUFBQSxtQkFBbUIsQ0FBQyxXQUFXLEFBQUEsY0FBYyxDQUFZO1FBSTNELFNBQVMsRUFBRSxrQkFBa0IsR0FNbEM7SUFWTyxBQU9OLG1CQVB5QixDQUFDLFdBQVcsQUFBQSxjQUFjLEFBT2xELHNCQUFzQixBQUFBLFFBQVEsQ0FBQztNQUM5QixTQUFTLEVBQUUsZUFBZSxHQUMzQjtFQUlLLEFBQ04sbUJBRHlCLEFBQUEsYUFBYSxBQUNyQyxvQkFBb0IsQ0FBQztJQUdoQixTQUFTLEVBQUUsZUFBaUIsR0FHakM7SXhFaEVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013RXlEbkMsQUFDTixtQkFEeUIsQUFBQSxhQUFhLEFBQ3JDLG9CQUFvQixDQUFDO1FBR2hCLFNBQVMsRUFBRSxpQkFBaUIsR0FHakM7RUEyT0wsQUF2SEUsY0F1SFksQUF2SFgsbUJBQW1CLENBQUM7SXZFN1RyQixVQUFVLEVBQUUsS0FBSyxDQUFDLEtBQVksQ0FBQyxDQUFDLENWeWdCTixJQUFJLENVemdCUyxLQUFZLENWb0MvQyxzQkFBTyxHaUZzU1Y7O0FBMkdILEFBQUEsZUFBZSxDQUFHO0VBeE9oQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsSUFBSTtFQUlaLEtBQUssRWpGNFNKLEdBQUc7RWlGM1NKLFNBQVMsRUFBRSxlQUFpQixHQWdPc0M7RXhFNVNwRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJd0U0UzdDLEFBQUEsZUFBZSxDQUFHO01Bak9aLEtBQUssRWpGNlNILEtBQUs7TWlGNVNQLFNBQVMsRUFBRSxpQkFBaUIsR0FnT3NDO0VBM045RCxBQUFBLG1CQUFtQixDQUFDLFdBQVcsQUFBQSxlQUFlLENBQVc7SUFJM0QsU0FBUyxFQUFFLGVBQWlCLEdBTWpDO0l4RTNGQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNd0VpRm5DLEFBQUEsbUJBQW1CLENBQUMsV0FBVyxBQUFBLGVBQWUsQ0FBVztRQUkzRCxTQUFTLEVBQUUsaUJBQWlCLEdBTWpDO0lBVk8sQUFPTixtQkFQeUIsQ0FBQyxXQUFXLEFBQUEsZUFBZSxBQU9uRCxzQkFBc0IsQUFBQSxRQUFRLENBQUM7TUFDOUIsU0FBUyxFQUFFLGVBQWUsR0FDM0I7RUFJSyxBQUNOLG1CQUR5QixBQUFBLGNBQWMsQUFDdEMsb0JBQW9CLENBQUM7SUFHaEIsU0FBUyxFQUFFLGdCQUFrQixHQUdsQztJeEVyR0QsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXdFOEZuQyxBQUNOLG1CQUR5QixBQUFBLGNBQWMsQUFDdEMsb0JBQW9CLENBQUM7UUFHaEIsU0FBUyxFQUFFLGtCQUFrQixHQUdsQztFQXVNTCxBQXhIRSxlQXdIYSxBQXhIWixtQkFBbUIsQ0FBQztJdkUvVHJCLFVBQVUsRUFBRSxLQUFLLENBTFYsSUFBbUIsQ0FLQSxDQUFDLENWMmdCRCxJQUFJLENVM2dCSSxLQUFZLENWc0MxQyxzQkFBTyxHaUZzU1Y7O0FBNEdILEFBQUEsYUFBYSxDQUFLO0VBcE1oQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtFQUlaLE1BQU0sRWpGNFFMLEtBQUs7RWlGM1FOLFNBQVMsRUFBRSxrQkFBa0IsR0E0TG1DO0VBdkw1RCxBQUFBLG1CQUFtQixDQUFDLFdBQVcsQUFBQSxhQUFhLENBQWE7SUFHM0QsU0FBUyxFQUFFLGtCQUFrQixHQU1sQztJQVRPLEFBTU4sbUJBTnlCLENBQUMsV0FBVyxBQUFBLGFBQWEsQUFNakQsc0JBQXNCLEFBQUEsUUFBUSxDQUFDO01BQzlCLFNBQVMsRUFBRSxlQUFlLEdBQzNCO0VBSUssQUFDTixtQkFEeUIsQUFBQSxZQUFZLEFBQ3BDLG9CQUFvQixDQUFDO0lBR2hCLFNBQVMsRUFBRSxpQkFBaUIsR0FHakM7RUFvS0wsQUF6SEUsYUF5SFcsQUF6SFYsbUJBQW1CLENBQUM7SXZFM1RyQixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFZLENWdWdCTixJQUFJLENVdmdCUyxLQUFZLENWa0MvQyxzQkFBTyxHaUZzU1Y7O0FBNkdILEFBQUEsZ0JBQWdCLENBQUU7RUFqS2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxJQUFJO0VBSVosTUFBTSxFakZ3T0wsS0FBSztFaUZ2T04sU0FBUyxFQUFFLGlCQUFpQixHQXlKb0M7RUFwSjVELEFBQUEsbUJBQW1CLENBQUMsV0FBVyxBQUFBLGdCQUFnQixDQUFVO0lBRzNELFNBQVMsRUFBRSxpQkFBaUIsR0FNakM7SUFUTyxBQU1OLG1CQU55QixDQUFDLFdBQVcsQUFBQSxnQkFBZ0IsQUFNcEQsc0JBQXNCLEFBQUEsUUFBUSxDQUFDO01BQzlCLFNBQVMsRUFBRSxlQUFlLEdBQzNCO0VBSUssQUFDTixtQkFEeUIsQUFBQSxlQUFlLEFBQ3ZDLG9CQUFvQixDQUFDO0lBR2hCLFNBQVMsRUFBRSxrQkFBa0IsR0FHbEM7RUFpSUwsQUExSEUsZ0JBMEhjLEFBMUhiLG1CQUFtQixDQUFDO0l2RWpVckIsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBSFosSUFBbUIsQ1ZnaEJBLElBQUksQ1U3Z0JJLEtBQVksQ1Z3QzFDLHNCQUFPLEdpRnNTVjs7QUErR0gsQUFBQSxtQkFBbUIsQ0FBQztFQXhHcEIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsU0FBUyxDakY2TE8sSUFBSSxDQUNKLElBQUk7RWlGN0xoQyxtQkFBbUIsRUFBRSxNQUFNLEdBd0cxQjtFQUZELEFBbkdBLG1CQW1HbUIsQUFuR2xCLG9CQUFvQixDQUFDO0lBQ3BCLFNBQVMsRUFBRSxlQUFlLEdBQzNCO0VBaUdELEFBOUZBLG1CQThGbUIsQ0E5Rm5CLFdBQVcsQUFBQSxRQUFRLENBQUM7SUFDbEIsU0FBUyxFQUFFLGVBQWUsR0FDM0I7O0F4RXBORyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFd0V3VDNDLEFBQUEsY0FBYyxBQUFBLHNCQUFzQixDQUFEO0lBMUZ6QyxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRWpGc0tpQixFQUFFO0lpRnJLMUIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE9BQU8sR0F5Rlo7SUFGRCxBQWpGTixjQWlGb0IsQUFBQSxzQkFBc0IsQ0FqRjFDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFHRCxBQUFBLG1CQUFtQixDQTRFYixjQUFjLEFBQUEsc0JBQXNCLENBNUVqQjtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsZ0JBQWdCLENBQUU7TUFDM0MsV0FBbUIsRWpGc0lkLEdBQUcsR2lGcklUO0lBc0VLLEFBbkVOLGNBbUVvQixBQUFBLHNCQUFzQixHQW5FdEMsbUJBQW1CLENBQU47TUFDZixXQUFtQixFakZpSWQsR0FBRyxHaUZoSVQ7RUFxRUssQUFBQSxlQUFlLEFBQUEsc0JBQXNCLENBQUQ7SUE5RjFDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFakZzS2lCLEVBQUU7SWlGcksxQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsT0FBTyxHQTZGWjtJQUZELEFBckZOLGVBcUZxQixBQUFBLHNCQUFzQixDQXJGM0MsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBZ0ZiLGVBQWUsQUFBQSxzQkFBc0IsQ0FoRmxCO01BQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBRU8sQUFBQSxtQkFBbUIsQUFBQSxpQkFBaUIsQ0FBQztNQUMzQyxZQUFtQixFakZzSWQsR0FBRyxHaUZySVQ7SUEwRUssQUF2RU4sZUF1RXFCLEFBQUEsc0JBQXNCLEdBdkV2QyxtQkFBbUIsQ0FBTjtNQUNmLFlBQW1CLEVqRmlJZCxHQUFHLEdpRmhJVDtFQXlFSyxBQUFBLGFBQWEsQUFBQSxzQkFBc0IsQ0FBRDtJQWxHeEMsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBaUdaO0lBRkQsQUF6Rk4sYUF5Rm1CLEFBQUEsc0JBQXNCLENBekZ6QyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBR0QsQUFBQSxtQkFBbUIsQ0FvRmIsYUFBYSxBQUFBLHNCQUFzQixDQXBGaEI7TUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFFTyxBQUFBLG1CQUFtQixBQUFBLGVBQWUsQ0FBRztNQUMzQyxVQUFtQixFakZzSWQsR0FBRyxHaUZySVQ7SUE4RUssQUEzRU4sYUEyRW1CLEFBQUEsc0JBQXNCLEdBM0VyQyxtQkFBbUIsQ0FBTjtNQUNmLFVBQW1CLEVqRmlJZCxHQUFHLEdpRmhJVDtFQTZFSyxBQUFBLGdCQUFnQixBQUFBLHNCQUFzQixDQUFEO0lBdEczQyxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRWpGc0tpQixFQUFFO0lpRnJLMUIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE9BQU8sR0FxR1o7SUFGRCxBQTdGTixnQkE2RnNCLEFBQUEsc0JBQXNCLENBN0Y1QyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBR0QsQUFBQSxtQkFBbUIsQ0F3RmIsZ0JBQWdCLEFBQUEsc0JBQXNCLENBeEZuQjtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsa0JBQWtCLENBQUE7TUFDM0MsYUFBbUIsRWpGc0lkLEdBQUcsR2lGcklUO0lBa0ZLLEFBL0VOLGdCQStFc0IsQUFBQSxzQkFBc0IsR0EvRXhDLG1CQUFtQixDQUFOO01BQ2YsYUFBbUIsRWpGaUlkLEdBQUcsR2lGaElUOztBeEV2UEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXdFd1R2QyxBQUFBLGNBQWMsQUFBQSxrQkFBa0IsQ0FBRztJQTFGekMsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBeUZaO0lBRkQsQUFqRk4sY0FpRm9CLEFBQUEsa0JBQWtCLENBakZ0QyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBR0QsQUFBQSxtQkFBbUIsQ0E0RWIsY0FBYyxBQUFBLGtCQUFrQixDQTVFYjtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsZ0JBQWdCLENBQUU7TUFDM0MsV0FBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBc0VLLEFBbkVOLGNBbUVvQixBQUFBLGtCQUFrQixHQW5FbEMsbUJBQW1CLENBQU47TUFDZixXQUFtQixFakZrSWIsS0FBSyxHaUZqSVo7RUFxRUssQUFBQSxlQUFlLEFBQUEsa0JBQWtCLENBQUc7SUE5RjFDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFakZzS2lCLEVBQUU7SWlGcksxQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsT0FBTyxHQTZGWjtJQUZELEFBckZOLGVBcUZxQixBQUFBLGtCQUFrQixDQXJGdkMsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBZ0ZiLGVBQWUsQUFBQSxrQkFBa0IsQ0FoRmQ7TUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFFTyxBQUFBLG1CQUFtQixBQUFBLGlCQUFpQixDQUFDO01BQzNDLFlBQW1CLEVqRnVJYixLQUFLLEdpRnRJWjtJQTBFSyxBQXZFTixlQXVFcUIsQUFBQSxrQkFBa0IsR0F2RW5DLG1CQUFtQixDQUFOO01BQ2YsWUFBbUIsRWpGa0liLEtBQUssR2lGaklaO0VBeUVLLEFBQUEsYUFBYSxBQUFBLGtCQUFrQixDQUFHO0lBbEd4QyxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRWpGc0tpQixFQUFFO0lpRnJLMUIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE9BQU8sR0FpR1o7SUFGRCxBQXpGTixhQXlGbUIsQUFBQSxrQkFBa0IsQ0F6RnJDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFHRCxBQUFBLG1CQUFtQixDQW9GYixhQUFhLEFBQUEsa0JBQWtCLENBcEZaO01BQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBRU8sQUFBQSxtQkFBbUIsQUFBQSxlQUFlLENBQUc7TUFDM0MsVUFBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBOEVLLEFBM0VOLGFBMkVtQixBQUFBLGtCQUFrQixHQTNFakMsbUJBQW1CLENBQU47TUFDZixVQUFtQixFakZrSWIsS0FBSyxHaUZqSVo7RUE2RUssQUFBQSxnQkFBZ0IsQUFBQSxrQkFBa0IsQ0FBRztJQXRHM0MsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBcUdaO0lBRkQsQUE3Rk4sZ0JBNkZzQixBQUFBLGtCQUFrQixDQTdGeEMsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBd0ZiLGdCQUFnQixBQUFBLGtCQUFrQixDQXhGZjtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsa0JBQWtCLENBQUE7TUFDM0MsYUFBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBa0ZLLEFBL0VOLGdCQStFc0IsQUFBQSxrQkFBa0IsR0EvRXBDLG1CQUFtQixDQUFOO01BQ2YsYUFBbUIsRWpGa0liLEtBQUssR2lGaklaOztBeEV2UEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7RXdFd1QzQyxBQUFBLGNBQWMsQUFBQSx1QkFBdUIsQ0FBRjtJQTFGekMsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBeUZaO0lBRkQsQUFqRk4sY0FpRm9CLEFBQUEsdUJBQXVCLENBakYzQyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBR0QsQUFBQSxtQkFBbUIsQ0E0RWIsY0FBYyxBQUFBLHVCQUF1QixDQTVFbEI7TUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFFTyxBQUFBLG1CQUFtQixBQUFBLGdCQUFnQixDQUFFO01BQzNDLFdBQW1CLEVqRnVJYixLQUFLLEdpRnRJWjtJQXNFSyxBQW5FTixjQW1Fb0IsQUFBQSx1QkFBdUIsR0FuRXZDLG1CQUFtQixDQUFOO01BQ2YsV0FBbUIsRWpGa0liLEtBQUssR2lGaklaO0VBcUVLLEFBQUEsZUFBZSxBQUFBLHVCQUF1QixDQUFGO0lBOUYxQyxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRWpGc0tpQixFQUFFO0lpRnJLMUIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE9BQU8sR0E2Rlo7SUFGRCxBQXJGTixlQXFGcUIsQUFBQSx1QkFBdUIsQ0FyRjVDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFHRCxBQUFBLG1CQUFtQixDQWdGYixlQUFlLEFBQUEsdUJBQXVCLENBaEZuQjtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsaUJBQWlCLENBQUM7TUFDM0MsWUFBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBMEVLLEFBdkVOLGVBdUVxQixBQUFBLHVCQUF1QixHQXZFeEMsbUJBQW1CLENBQU47TUFDZixZQUFtQixFakZrSWIsS0FBSyxHaUZqSVo7RUF5RUssQUFBQSxhQUFhLEFBQUEsdUJBQXVCLENBQUY7SUFsR3hDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFakZzS2lCLEVBQUU7SWlGcksxQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsT0FBTyxHQWlHWjtJQUZELEFBekZOLGFBeUZtQixBQUFBLHVCQUF1QixDQXpGMUMsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBb0ZiLGFBQWEsQUFBQSx1QkFBdUIsQ0FwRmpCO01BQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBRU8sQUFBQSxtQkFBbUIsQUFBQSxlQUFlLENBQUc7TUFDM0MsVUFBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBOEVLLEFBM0VOLGFBMkVtQixBQUFBLHVCQUF1QixHQTNFdEMsbUJBQW1CLENBQU47TUFDZixVQUFtQixFakZrSWIsS0FBSyxHaUZqSVo7RUE2RUssQUFBQSxnQkFBZ0IsQUFBQSx1QkFBdUIsQ0FBRjtJQXRHM0MsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBcUdaO0lBRkQsQUE3Rk4sZ0JBNkZzQixBQUFBLHVCQUF1QixDQTdGN0MsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBd0ZiLGdCQUFnQixBQUFBLHVCQUF1QixDQXhGcEI7TUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFFTyxBQUFBLG1CQUFtQixBQUFBLGtCQUFrQixDQUFBO01BQzNDLGFBQW1CLEVqRnVJYixLQUFLLEdpRnRJWjtJQWtGSyxBQS9FTixnQkErRXNCLEFBQUEsdUJBQXVCLEdBL0V6QyxtQkFBbUIsQ0FBTjtNQUNmLGFBQW1CLEVqRmtJYixLQUFLLEdpRmpJWjs7QXhFdlBHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0V3RXdUdkMsQUFBQSxjQUFjLEFBQUEsaUJBQWlCLENBQUk7SUExRnpDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFakZzS2lCLEVBQUU7SWlGcksxQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsT0FBTyxHQXlGWjtJQUZELEFBakZOLGNBaUZvQixBQUFBLGlCQUFpQixDQWpGckMsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBNEViLGNBQWMsQUFBQSxpQkFBaUIsQ0E1RVo7TUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFFTyxBQUFBLG1CQUFtQixBQUFBLGdCQUFnQixDQUFFO01BQzNDLFdBQW1CLEVqRnVJYixLQUFLLEdpRnRJWjtJQXNFSyxBQW5FTixjQW1Fb0IsQUFBQSxpQkFBaUIsR0FuRWpDLG1CQUFtQixDQUFOO01BQ2YsV0FBbUIsRWpGa0liLEtBQUssR2lGaklaO0VBcUVLLEFBQUEsZUFBZSxBQUFBLGlCQUFpQixDQUFJO0lBOUYxQyxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRWpGc0tpQixFQUFFO0lpRnJLMUIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE9BQU8sR0E2Rlo7SUFGRCxBQXJGTixlQXFGcUIsQUFBQSxpQkFBaUIsQ0FyRnRDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFHRCxBQUFBLG1CQUFtQixDQWdGYixlQUFlLEFBQUEsaUJBQWlCLENBaEZiO01BQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBRU8sQUFBQSxtQkFBbUIsQUFBQSxpQkFBaUIsQ0FBQztNQUMzQyxZQUFtQixFakZ1SWIsS0FBSyxHaUZ0SVo7SUEwRUssQUF2RU4sZUF1RXFCLEFBQUEsaUJBQWlCLEdBdkVsQyxtQkFBbUIsQ0FBTjtNQUNmLFlBQW1CLEVqRmtJYixLQUFLLEdpRmpJWjtFQXlFSyxBQUFBLGFBQWEsQUFBQSxpQkFBaUIsQ0FBSTtJQWxHeEMsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBaUdaO0lBRkQsQUF6Rk4sYUF5Rm1CLEFBQUEsaUJBQWlCLENBekZwQyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBR0QsQUFBQSxtQkFBbUIsQ0FvRmIsYUFBYSxBQUFBLGlCQUFpQixDQXBGWDtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsZUFBZSxDQUFHO01BQzNDLFVBQW1CLEVqRnVJYixLQUFLLEdpRnRJWjtJQThFSyxBQTNFTixhQTJFbUIsQUFBQSxpQkFBaUIsR0EzRWhDLG1CQUFtQixDQUFOO01BQ2YsVUFBbUIsRWpGa0liLEtBQUssR2lGaklaO0VBNkVLLEFBQUEsZ0JBQWdCLEFBQUEsaUJBQWlCLENBQUk7SUF0RzNDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFakZzS2lCLEVBQUU7SWlGcksxQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsT0FBTyxHQXFHWjtJQUZELEFBN0ZOLGdCQTZGc0IsQUFBQSxpQkFBaUIsQ0E3RnZDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFHRCxBQUFBLG1CQUFtQixDQXdGYixnQkFBZ0IsQUFBQSxpQkFBaUIsQ0F4RmQ7TUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFFTyxBQUFBLG1CQUFtQixBQUFBLGtCQUFrQixDQUFBO01BQzNDLGFBQW1CLEVqRnVJYixLQUFLLEdpRnRJWjtJQWtGSyxBQS9FTixnQkErRXNCLEFBQUEsaUJBQWlCLEdBL0VuQyxtQkFBbUIsQ0FBTjtNQUNmLGFBQW1CLEVqRmtJYixLQUFLLEdpRmpJWjs7QXhFbFBHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXdFbVRoQyxBQUFBLGNBQWMsQUFBQSxrQkFBa0IsQ0FBRztJQTFGekMsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBeUZaO0lBRkQsQUFqRk4sY0FpRm9CLEFBQUEsa0JBQWtCLENBakZ0QyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBR0QsQUFBQSxtQkFBbUIsQ0E0RWIsY0FBYyxBQUFBLGtCQUFrQixDQTVFYjtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsZ0JBQWdCLENBQUU7TUFDM0MsV0FBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBc0VLLEFBbkVOLGNBbUVvQixBQUFBLGtCQUFrQixHQW5FbEMsbUJBQW1CLENBQU47TUFDZixXQUFtQixFakZrSWIsS0FBSyxHaUZqSVo7RUFxRUssQUFBQSxlQUFlLEFBQUEsa0JBQWtCLENBQUc7SUE5RjFDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFakZzS2lCLEVBQUU7SWlGcksxQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsT0FBTyxHQTZGWjtJQUZELEFBckZOLGVBcUZxQixBQUFBLGtCQUFrQixDQXJGdkMsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBZ0ZiLGVBQWUsQUFBQSxrQkFBa0IsQ0FoRmQ7TUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFFTyxBQUFBLG1CQUFtQixBQUFBLGlCQUFpQixDQUFDO01BQzNDLFlBQW1CLEVqRnVJYixLQUFLLEdpRnRJWjtJQTBFSyxBQXZFTixlQXVFcUIsQUFBQSxrQkFBa0IsR0F2RW5DLG1CQUFtQixDQUFOO01BQ2YsWUFBbUIsRWpGa0liLEtBQUssR2lGaklaO0VBeUVLLEFBQUEsYUFBYSxBQUFBLGtCQUFrQixDQUFHO0lBbEd4QyxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRWpGc0tpQixFQUFFO0lpRnJLMUIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE9BQU8sR0FpR1o7SUFGRCxBQXpGTixhQXlGbUIsQUFBQSxrQkFBa0IsQ0F6RnJDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFHRCxBQUFBLG1CQUFtQixDQW9GYixhQUFhLEFBQUEsa0JBQWtCLENBcEZaO01BQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBRU8sQUFBQSxtQkFBbUIsQUFBQSxlQUFlLENBQUc7TUFDM0MsVUFBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBOEVLLEFBM0VOLGFBMkVtQixBQUFBLGtCQUFrQixHQTNFakMsbUJBQW1CLENBQU47TUFDZixVQUFtQixFakZrSWIsS0FBSyxHaUZqSVo7RUE2RUssQUFBQSxnQkFBZ0IsQUFBQSxrQkFBa0IsQ0FBRztJQXRHM0MsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVqRnNLaUIsRUFBRTtJaUZySzFCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBcUdaO0lBRkQsQUE3Rk4sZ0JBNkZzQixBQUFBLGtCQUFrQixDQTdGeEMsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDtJQUdELEFBQUEsbUJBQW1CLENBd0ZiLGdCQUFnQixBQUFBLGtCQUFrQixDQXhGZjtNQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQUVPLEFBQUEsbUJBQW1CLEFBQUEsa0JBQWtCLENBQUE7TUFDM0MsYUFBbUIsRWpGdUliLEtBQUssR2lGdElaO0lBa0ZLLEFBL0VOLGdCQStFc0IsQUFBQSxrQkFBa0IsR0EvRXBDLG1CQUFtQixDQUFOO01BQ2YsYUFBbUIsRWpGa0liLEtBQUssR2lGaklaOztBeEV2UEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7RXdFK1UzQyxBQUFBLFdBQVcsQUFBQSx5QkFBeUIsQ0FBRDtJQW5GekMsVUFBVSxFQUFFLE9BQU87SUFDbkIsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEVBQUUsT0FBTztJQUNuQixLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFVBQVUsRUFBRSxPQUFPLEdBK0VaO0lBRkQsQUExRU4sV0EwRWlCLEFBQUEseUJBQXlCLEFBMUV6QyxjQUFjLEVBMEVULFdBQVcsQUFBQSx5QkFBeUIsQUF6RXpDLGVBQWUsRUF5RVYsV0FBVyxBQUFBLHlCQUF5QixBQXhFekMsYUFBYSxFQXdFUixXQUFXLEFBQUEseUJBQXlCLEFBdkV6QyxnQkFBZ0IsQ0FBQztNQUNoQixVQUFVLEVBQUUsSUFBSTtNQUNoQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQW9FSyxBQWxFTixXQWtFaUIsQUFBQSx5QkFBeUIsQ0FsRTFDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0F4RS9RRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFd0UrVXZDLEFBQUEsV0FBVyxBQUFBLHFCQUFxQixDQUFHO0lBbkZ6QyxVQUFVLEVBQUUsT0FBTztJQUNuQixNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLEtBQUssRUFBRSxPQUFPO0lBQ2QsUUFBUSxFQUFFLE9BQU87SUFDakIsVUFBVSxFQUFFLE9BQU8sR0ErRVo7SUFGRCxBQTFFTixXQTBFaUIsQUFBQSxxQkFBcUIsQUExRXJDLGNBQWMsRUEwRVQsV0FBVyxBQUFBLHFCQUFxQixBQXpFckMsZUFBZSxFQXlFVixXQUFXLEFBQUEscUJBQXFCLEFBeEVyQyxhQUFhLEVBd0VSLFdBQVcsQUFBQSxxQkFBcUIsQUF2RXJDLGdCQUFnQixDQUFDO01BQ2hCLFVBQVUsRUFBRSxJQUFJO01BQ2hCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0lBb0VLLEFBbEVOLFdBa0VpQixBQUFBLHFCQUFxQixDQWxFdEMsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDZDs7QXhFL1FHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0V3RStVM0MsQUFBQSxXQUFXLEFBQUEsMEJBQTBCLENBQUY7SUFuRnpDLFVBQVUsRUFBRSxPQUFPO0lBQ25CLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLE9BQU87SUFDbkIsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsT0FBTztJQUNqQixVQUFVLEVBQUUsT0FBTyxHQStFWjtJQUZELEFBMUVOLFdBMEVpQixBQUFBLDBCQUEwQixBQTFFMUMsY0FBYyxFQTBFVCxXQUFXLEFBQUEsMEJBQTBCLEFBekUxQyxlQUFlLEVBeUVWLFdBQVcsQUFBQSwwQkFBMEIsQUF4RTFDLGFBQWEsRUF3RVIsV0FBVyxBQUFBLDBCQUEwQixBQXZFMUMsZ0JBQWdCLENBQUM7TUFDaEIsVUFBVSxFQUFFLElBQUk7TUFDaEIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFvRUssQUFsRU4sV0FrRWlCLEFBQUEsMEJBQTBCLENBbEUzQyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkOztBeEUvUUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXdFK1V2QyxBQUFBLFdBQVcsQUFBQSxvQkFBb0IsQ0FBSTtJQW5GekMsVUFBVSxFQUFFLE9BQU87SUFDbkIsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEVBQUUsT0FBTztJQUNuQixLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFVBQVUsRUFBRSxPQUFPLEdBK0VaO0lBRkQsQUExRU4sV0EwRWlCLEFBQUEsb0JBQW9CLEFBMUVwQyxjQUFjLEVBMEVULFdBQVcsQUFBQSxvQkFBb0IsQUF6RXBDLGVBQWUsRUF5RVYsV0FBVyxBQUFBLG9CQUFvQixBQXhFcEMsYUFBYSxFQXdFUixXQUFXLEFBQUEsb0JBQW9CLEFBdkVwQyxnQkFBZ0IsQ0FBQztNQUNoQixVQUFVLEVBQUUsSUFBSTtNQUNoQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJQW9FSyxBQWxFTixXQWtFaUIsQUFBQSxvQkFBb0IsQ0FsRXJDLGFBQWEsQ0FBQztNQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0F4RTFRRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0V3RTBVaEMsQUFBQSxXQUFXLEFBQUEscUJBQXFCLENBQUc7SUFuRnpDLFVBQVUsRUFBRSxPQUFPO0lBQ25CLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLE9BQU87SUFDbkIsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsT0FBTztJQUNqQixVQUFVLEVBQUUsT0FBTyxHQStFWjtJQUZELEFBMUVOLFdBMEVpQixBQUFBLHFCQUFxQixBQTFFckMsY0FBYyxFQTBFVCxXQUFXLEFBQUEscUJBQXFCLEFBekVyQyxlQUFlLEVBeUVWLFdBQVcsQUFBQSxxQkFBcUIsQUF4RXJDLGFBQWEsRUF3RVIsV0FBVyxBQUFBLHFCQUFxQixBQXZFckMsZ0JBQWdCLENBQUM7TUFDaEIsVUFBVSxFQUFFLElBQUk7TUFDaEIsU0FBUyxFQUFFLElBQUksR0FDaEI7SUFvRUssQUFsRU4sV0FrRWlCLEFBQUEscUJBQXFCLENBbEV0QyxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkOztBSWpURCxBQUFBLElBQUksQUFBQSxlQUFlLENBQUM7RUFDbEIsUUFBUSxFQUFFLEtBQUs7RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxNQUFNLEdBS25CO0VBUkQsQUFLRSxJQUxFLEFBQUEsZUFBZSxDQUtqQixJQUFJLENBQUM7SUFDSCxRQUFRLEVBQUUsTUFBTSxHQUNqQjs7QUFJSCxBQUFBLGVBQWUsQ0FBQztFQXJGaEIsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU8sRXJGK2lCTyxJQUFJO0VxRjdpQmxCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZ0JBQWdCLEVyRkRWLHNCQUFPO0VxRkViLFVBQVUsRUFBRSxNQUFNLEdBOEVqQjs7QUFHRCxBQUFBLE9BQU8sQ0FBQztFQTNFUixPQUFPLEVyRnFpQk8sSUFBSTtFcUZuaUJsQixtQkFBbUIsRUFBRSxNQUFNO0VBRTNCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFckY0Q1EsSUFBSTtFcUYxQ25CLE1BQU0sRXJGNGhCUSxHQUFHLENBQUMsS0FBSyxDQTdpQlgsT0FBTztFcUZrQm5CLGFBQWEsRXJGNENDLEdBQUc7RXFGM0NqQixnQkFBZ0IsRXJGaEJWLE9BQU87RXFGcUZYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxLQUFLO0VBQ1YsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLElBQUksR0F3QmpCO0czRXlCRCxBQUFBLEFBQUEsY0FBQyxDQUFlLE9BQU8sQUFBdEIsRTJFeERELE9BQU8sQzNFd0RvQjtJQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYO0VEeENHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0k0RWxCN0MsQUFBQSxPQUFPLENBQUM7TUEvRE4sVUFBVSxFQUFFLENBQUMsR0E4RmQ7RUEvQkQsQUEzREEsT0EyRE8sQ0EzRFAsT0FBTyxFQTJEUCxPQUFPLENuRDhHUCxRQUFRLEVtRDlHUixPQUFPLEM2RDJXUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQVNELEVBQUUsRUE5Qk4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQzdEaFlKLE9BQU8sQzZEeVlKLEVBQUUsQzdEcGNHO0lBQ04sU0FBUyxFQUFFLENBQUMsR0FDYjtFQXlERCxBQXREQSxPQXNETyxHQXRETCxXQUFXLENBQUM7SUFDWixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFNUVzRUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STRFbEI3QyxBQUFBLE9BQU8sQ0FBQztNQXhDTixLQUFLLEVyRjZmTSxLQUFLO01xRjVmaEIsU0FBUyxFbEZsQkQsS0FBNkMsR2tGd0Z0RDtFQS9CRCxBQVVFLE9BVkssQUFVSixTQUFTLEU2RGlXYiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBN0RoWUosT0FBTyxFK0RtV1IsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQS9EcmJMLE9BQU8sQ0FVTTtJQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7RTVFTUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STRFbEI3QyxBQWVFLE9BZkssQUFlSixLQUFLLENBQUU7TUF2RFIsS0FBSyxFQXVEaUMsR0FBRztNQXREekMsU0FBUyxFbEZsQkQsS0FBNkMsR2tGd0VQO0U1RUc1QyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJNEVsQjdDLEFBZ0JFLE9BaEJLLEFBZ0JKLE1BQU0sQ0FBQztNQXhEUixLQUFLLEVBd0RpQyxHQUFHO01BdkR6QyxTQUFTLEVsRmxCRCxLQUE2QyxHa0Z5RVA7RTVFRTVDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0k0RWxCN0MsQUFpQkUsT0FqQkssQUFpQkosTUFBTSxDQUFDO01BekRSLEtBQUssRUF5RGlDLEdBQUc7TUF4RHpDLFNBQVMsRWxGbEJELEtBQTZDLEdrRjBFUDtFQWpCaEQsQUFvQkUsT0FwQkssQUFvQkosS0FBSyxDQUFDO0lBckRULEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFFUCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsS0FBSztJQUNiLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFdBQVcsRUFBRSxDQUFDO0lBRWQsTUFBTSxFQUFFLENBQUM7SUFDVCxhQUFhLEVBQUUsQ0FBQyxHQTRDYjtFNUVDQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0k0RXZCM0MsQUFBQSxPQUFPLENBQUM7TUFqQ1IsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUVQLEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFQUFFLElBQUk7TUFDZixNQUFNLEVBQUUsSUFBSTtNQUNaLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLEtBQUs7TUFDakIsV0FBVyxFQUFFLENBQUM7TUFFZCxNQUFNLEVBQUUsQ0FBQztNQUNULGFBQWEsRUFBRSxDQUFDLEdBcURmO0VBL0JELEFBNEJFLE9BNUJLLEFBNEJKLGdCQUFnQixDQUFDO0lBQ2hCLFFBQVEsRUFBRSxLQUFLLEdBQ2hCOztBRTFLSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBQ25COztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsb0JBQW9CLEdBQ2hDOztBQUVELEFBQUEsT0FBTyxBQUFBLFNBQVMsQ0FBQztFQUNmLFFBQVEsRUFBRSxLQUFLO0VBQ2YsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSSxHQVNaO0VBWkQsQUFLRSxPQUxLLEFBQUEsU0FBUyxBQUtiLFVBQVUsQ0FBQztJQUNWLEdBQUcsRUFBRSxDQUFDLEdBQ1A7RUFQSCxBQVNFLE9BVEssQUFBQSxTQUFTLEFBU2IsYUFBYSxDQUFDO0lBQ2IsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFHSCxBQUFBLE9BQU8sQUFBQSxZQUFZLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsSUFBSSxHQUtYO0VBUkQsQUFLRSxPQUxLLEFBQUEsWUFBWSxBQUtoQixhQUFhLENBQUM7SUFDYixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBSUNILEFBQUEsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFM0YycEJRLE1BQU07RTJGMXBCckIsVUFBVSxFM0Z1Qk4sT0FBTztFMkZ0QlgsS0FBSyxFM0Z1QkQsT0FBTyxHMkZSWjtFQWxCRCxBakZvSUEsVWlGcElVLEFqRm9JVCxRQUFRLEVpRnBJVCxVQUFVLEFqRnFJVCxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxHQUFHLEdBTWI7RWlGN0lELEFqRitJQSxVaUYvSVUsQWpGK0lULE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJLEdBQ1o7RWlGakpELEFBY0UsVUFkUSxDQWNSLFVBQVUsQ0FBQztJQUNULFdBQXNCLEUzRmlwQkosT0FBTztJMkZocEJ6QixZQUF1QixFM0ZncEJMLE9BQU8sRzJGL29CMUI7O0FBY0QsQUFBQSxlQUFlLENBQUM7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxLQUFLLEdBQ2xCOztBQUdILEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEUzRmluQmEsSUFBSSxHMkZobkI3Qjs7QUN1Q0QsQUFBQSxRQUFRLENBQUM7RUE3RVQsT0FBTyxFNUYycUJRLE1BQU0sRzRGMWtCcEI7RUFwQkQsQWxGZ0RBLFFrRmhEUSxBbEZnRFAsUUFBUSxFa0ZoRFQsUUFBUSxBbEZpRFAsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsR0FBRyxHQU1iO0VrRnpERCxBbEYyREEsUWtGM0RRLEFsRjJEUCxPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VrRjdERCxBQTNFQSxRQTJFUTtFQUFSLFFBQVEsQ0ExRVIsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEU1RldQLE9BQU8sRzRGVmpCO0VBd0VELEFBOURBLFFBOERRLENBOURSLEtBQUssQ0FBQztJQUNKLFNBQVMsRTVGK3BCUSxLQUFLO0k0RjlwQnRCLFlBQXVCLEVBQVMsSUFBSSxHQUNyQztFQTJERCxBQXhEQSxRQXdEUSxDQXhEUixrQkFBa0IsQ0FBQztJQUNqQixLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQXVCLEVBQVMsQ0FBQyxHQUNsQztFQXFERCxBQW5EQSxRQW1EUSxDQW5EUixLQUFLLEFBQUEsT0FBTyxDQUFDO0lBQ1gsS0FBSyxFQUFFLElBQUksR0FDWjtFQWlERCxBQWhDRSxRQWdDTSxDQWhDTixhQUFhO0VBZ0NmLFFBQVEsQ0EvQk4sY0FBYyxDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUksR0FDWjtFbkZ1RUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SW1GMUM3QyxBQWhDRSxRQWdDTSxDQWhDTixhQUFhO0lBZ0NmLFFBQVEsQ0EvQk4sY0FBYyxDQXVCQztNQUNiLEtBQUssRUFBRSxJQUFJLEdBQ1o7RW5GcURDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7SW1GL0MzQyxBQWhDRSxRQWdDTSxBQWFELHVCQUF1QixDQTdDNUIsYUFBYTtJQWdDZixRQUFRLEFBYUQsdUJBQXVCLENBNUM1QixjQUFjLENBQUM7TUFDYixLQUFLLEVBQUUsSUFBSSxHQUNaO0VuRjRFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0ltRi9DM0MsQUFoQ0UsUUFnQ00sQUFhRCxtQkFBbUIsQ0E3Q3hCLGFBQWE7SUFnQ2YsUUFBUSxBQWFELG1CQUFtQixDQTVDeEIsY0FBYyxDQUFDO01BQ2IsS0FBSyxFQUFFLElBQUksR0FDWjtFbkY0RUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJbUYvQzNDLEFBaENFLFFBZ0NNLEFBYUQsd0JBQXdCLENBN0M3QixhQUFhO0lBZ0NmLFFBQVEsQUFhRCx3QkFBd0IsQ0E1QzdCLGNBQWMsQ0FBQztNQUNiLEtBQUssRUFBRSxJQUFJLEdBQ1o7RW5GNEVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7SW1GL0MzQyxBQWhDRSxRQWdDTSxBQWFELGtCQUFrQixDQTdDdkIsYUFBYTtJQWdDZixRQUFRLEFBYUQsa0JBQWtCLENBNUN2QixjQUFjLENBQUM7TUFDYixLQUFLLEVBQUUsSUFBSSxHQUNaO0VuRjRFQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0ltRi9DM0MsQUFoQ0UsUUFnQ00sQUFhRCxtQkFBbUIsQ0E3Q3hCLGFBQWE7SUFnQ2YsUUFBUSxBQWFELG1CQUFtQixDQTVDeEIsY0FBYyxDQUFDO01BQ2IsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFnRUQsQUFBQSxjQUFjLENBQUM7RUFDYixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRTVGMmpCVSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEc0RnRqQnRDO0VBUkQsQUFLRSxjQUxZLENBS1osVUFBVSxDQUFDO0lBQ1QsTUFBTSxFQUFFLEdBQUcsR0FDWjs7QUFHSCxBQUFBLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDYixLQUFLLEVBQUUsS0FBSyxHQUNiOztBOUJuS0gsQUFBQSxXQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsZUFBZSxHQUN2Qjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxnQkFBZ0IsR0FDeEI7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUVELEFwRGtKQSxTb0RsSlMsQXBEa0pSLFFBQVEsRW9EbEpULFNBQVMsQXBEbUpSLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLEdBQUcsR0FNYjs7QW9EM0pELEFwRDZKQSxTb0Q3SlMsQXBENkpSLE9BQU8sQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FpRTVHQyxBQUFBLFdBQVcsRXVFeU1kLG1CQUFtQixDQUNsQixRQUFRLENBZVAsSUFBSSxFQWhCTixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBNVBSLG1CQUFtQixDQUNsQixRQUFRLENBNlBOLEVBQUUsRUE5UEwsbUJBQW1CLENBQ2xCLFFBQVEsQ0VnT1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLEN6RTVmYTtFbkVuQmxCLGVBQWUsRUFyRGdDLFVBQVUsR21FMEV0RDs7QUFGRCxBQUFBLFlBQVksQ0FBSTtFbkVuQmxCLGVBQWUsRUFwRG1DLFFBQVEsR21FeUV2RDs7QUFGRCxBQUFBLGFBQWEsRW1FMUVqQixJQUFJLENBR0gsVUFBVSxDQUNULFFBQVEsRUc2QlQsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0F1Q1AsSUFBSSxFQXBHUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQzhaWCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEOWVSLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDbWJSLEVBQUUsRURoZkwsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0dzWlgsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIamhCakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0d3ZVAsRUFBRSxFSGxXTiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0E4QlAsSUFBSSxFQXpGTiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0M2TlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDNTUiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0NrUE4sRUFBRSxFRDdTTCwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0dxTlQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIOVVqQiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0d1U0wsRUFBRSxFSC9MTixvQkFBb0IsQ0FjbkIsYUFBYSxDQVlaLElBQUksRUExQk4sb0JBQW9CLENBY25CLGFBQWEsQ0N1R2QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0FjbkIsYUFBYSxDQzRIWCxFQUFFLEVEMUlMLG9CQUFvQixDQWNuQixhQUFhLENHK0ZkLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEVBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBY25CLGFBQWEsQ0dpTFYsRUFBRSxFSC9MTixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0FTUCxJQUFJLEVBeENOLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLEVEMUlMLG9CQUFvQixDQStCbkIsUUFBUSxDRzhFVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLEVIdEdOLHlCQUF5QixDQVd4QixRQUFRLENBMEJQLElBQUksRUFyQ04seUJBQXlCLENBV3hCLFFBQVEsQ0NpQlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRC9DUix5QkFBeUIsQ0FXeEIsUUFBUSxDQ3NDTixFQUFFLEVEakRMLHlCQUF5QixDQVd4QixRQUFRLENHU1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIbEZqQix5QkFBeUIsQ0FXeEIsUUFBUSxDRzJGTCxFQUFFLEVGMWVOLHNCQUFzQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQWtCWixhQUFhLEVBbU9oQiwwQkFBMEIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLEVBMlFaLDBCQUEwQixDQUV6QixlQUFlLEVBRmhCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FpQlAsSUFBSSxFQTVDUCwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FrR1IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQTNIUCxFQUFFLEVBZ0dMLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V4SlYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGK0RqQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENFdEVOLEVBQUUsRUR4SU4sc0JBQXNCLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBZVosYUFBYSxFQTZVZixjQUFjLENBa0JiLGFBQWEsQ0FPWixJQUFJLEVBekJOLGNBQWMsQ0FrQmIsYUFBYSxDRHZUZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDa1JSLGNBQWMsQ0FrQmIsYUFBYSxDRGxTWCxFQUFFLEVDZ1JMLGNBQWMsQ0FrQmIsYUFBYSxDQy9UZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0QrT2pCLGNBQWMsQ0FrQmIsYUFBYSxDQzdPVixFQUFFLEVEeVhOLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDQU9aLElBQUksRUFYUCxZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0R2Y2YsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0RsYlosRUFBRSxFQzhhTCxZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0MvY2YsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0M3WFgsRUFBRSxFRHlYTixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FtQlAsSUFBSSxFQXBDUCxZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0RwZFYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0QvYlAsRUFBRSxFQzhhTCxZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0M1ZFYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0MxWU4sRUFBRSxFQS9qQk4sb0JBQW9CLENBNkJuQixnQkFBZ0IsRUE3QmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBRUosSUFBSSxFQXhEUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLEVFMWdCTCxvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXViUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxFQWxRTixpQ0FBaUMsQ0FFaEMsUUFBUSxDQUNQLElBQUksRUFITixpQ0FBaUMsQ0FFaEMsUUFBUSxDRnNMVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM01SLGlDQUFpQyxDQUVoQyxRQUFRLENGMk1OLEVBQUUsRUU3TUwsaUNBQWlDLENBRWhDLFFBQVEsQ0E4S1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBOU9qQixpQ0FBaUMsQ0FFaEMsUUFBUSxDQWdRTCxFQUFFLEVBckxOLDRCQUE0QixDQUMzQixhQUFhLEVBRGQsNEJBQTRCLENBVTNCLFFBQVEsQ0FPUCxJQUFJLEVBakJOLDRCQUE0QixDQVUzQixRQUFRLENGaUdULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxFRWhJTCw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FqS2pCLDRCQUE0QixDQVUzQixRQUFRLENBMktMLEVBQUUsRUlnQ1AsOEJBQThCLEM3RTVoQlY7RW5FbkJsQixlQUFlLEVBbkRILE1BQU0sR21Fd0VmOztBQUZELEFBQUEsY0FBYyxDQUFFO0VuRW5CbEIsZUFBZSxFQWxERixhQUFhLEdtRXVFdkI7O0FBRkQsQUFBQSxhQUFhLEV1RXVpQmhCLDBCQUEwQixDQWlCekIsYUFBYSxDdkV4akJLO0VuRW5CbEIsZUFBZSxFQWpESCxZQUFZLEdtRXNFckI7O0FBS0QsQUFDRSxXQURTLEFBQ1IsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUVpTTdCLG1CQUFtQixDQUNsQixRQUFRLEN2RWxNSCxTQUFTLEFBQUEsS0FBSyxBdUVpTmxCLElBQUksR3ZFak5pQixFQUFFLEdBQUcsQ0FBQyxFdUVpTTdCLG1CQUFtQixDQUNsQixRQUFRLENBd09ULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVQUixtQkFBbUIsQ0FDbEIsUUFBUSxDQTZQTixFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RWlNN0IsbUJBQW1CLENBQ2xCLFFBQVEsQ0VnT1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa2E3Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YvUmpCLG1CQUFtQixDQUNsQixRQUFRLENFa1RMLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztFbkUzQjdCLGVBQWUsRUFyRGdDLFVBQVUsR21Fa0ZwRDs7QUFISCxBQUNFLFlBRFUsQUFDVCxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7RW5FM0I3QixlQUFlLEVBcERtQyxRQUFRLEdtRWlGckQ7O0FBSEgsQUFDRSxhQURXLEFBQ1YsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFbUVsRjlCLElBQUksQ0FHSCxVQUFVLENuRStFSixTQUFTLEFBQUEsS0FBSyxBbUU5RW5CLFFBQVEsR25FOEVjLEVBQUUsR0FBRyxDQUFDLEVzRWpEN0Isd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ3RFWkwsU0FBUyxBQUFBLEtBQUssQXNFbURoQixJQUFJLEd0RW5EZSxFQUFFLEdBQUcsQ0FBQyxFc0VqRDdCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVzRWpEN0Isd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0dzWlgsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa2E3Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVzRWtKN0IsMkJBQTJCLENBMkQxQixRQUFRLEN0RTdNSCxTQUFTLEFBQUEsS0FBSyxBc0UyT2xCLElBQUksR3RFM09pQixFQUFFLEdBQUcsQ0FBQyxFc0VrSjdCLDJCQUEyQixDQTJEMUIsUUFBUSxDQzZOVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBdkUvYkMsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUUwYTdCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0QzU1IsMkJBQTJCLENBMkQxQixRQUFRLENDa1BOLEVBQUUsQXZFL2JDLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXNFa0o3QiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0dxTlQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa2E3Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0g5VWpCLDJCQUEyQixDQTJEMUIsUUFBUSxDR3VTTCxFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVzRXFUN0Isb0JBQW9CLENBY25CLGFBQWEsQ3RFblVSLFNBQVMsQUFBQSxLQUFLLEFzRStVbEIsSUFBSSxHdEUvVWlCLEVBQUUsR0FBRyxDQUFDLEVzRXFUN0Isb0JBQW9CLENBY25CLGFBQWEsQ0N1R2QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXZFL2JDLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXVFMGE3Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQWNuQixhQUFhLENDNEhYLEVBQUUsQXZFL2JDLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXNFcVQ3QixvQkFBb0IsQ0FjbkIsYUFBYSxDRytGZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBekVwZkEsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFeUVrYTdCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBY25CLGFBQWEsQ0dpTFYsRUFBRSxBekVwZkEsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFc0VxVDdCLG9CQUFvQixDQStCbkIsUUFBUSxDdEVwVkgsU0FBUyxBQUFBLEtBQUssQXNFNlZsQixJQUFJLEd0RTdWaUIsRUFBRSxHQUFHLENBQUMsRXNFcVQ3QixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQXZFL2JDLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXVFMGE3Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVzRXFUN0Isb0JBQW9CLENBK0JuQixRQUFRLENHOEVULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV5RWthN0IsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxBekVwZkEsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFc0U4WTdCLHlCQUF5QixDQVd4QixRQUFRLEN0RXpaSCxTQUFTLEFBQUEsS0FBSyxBc0VtYmxCLElBQUksR3RFbmJpQixFQUFFLEdBQUcsQ0FBQyxFc0U4WTdCLHlCQUF5QixDQVd4QixRQUFRLENDaUJULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRC9DUix5QkFBeUIsQ0FXeEIsUUFBUSxDQ3NDTixFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVzRThZN0IseUJBQXlCLENBV3hCLFFBQVEsQ0dTVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBekVwZkEsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFeUVrYTdCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGxGakIseUJBQXlCLENBV3hCLFFBQVEsQ0cyRkwsRUFBRSxBekVwZkEsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUVVN0Isc0JBQXNCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLEN2RWZULFNBQVMsQUFBQSxLQUFLLEF1RWlDakIsYUFBYSxHdkVqQ08sRUFBRSxHQUFHLENBQUMsRXVFb1E3QiwwQkFBMEIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ3ZFelFKLFNBQVMsQUFBQSxLQUFLLEF1RW9SakIsU0FBUyxHdkVwUlcsRUFBRSxHQUFHLENBQUMsRXVFK2hCN0IsMEJBQTBCLEN2RS9oQnBCLFNBQVMsQUFBQSxLQUFLLEF1RWlpQm5CLGVBQWUsR3ZFamlCTyxFQUFFLEdBQUcsQ0FBQyxFdUUraEI3QiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLEN2RTFqQkosU0FBUyxBQUFBLEtBQUssQXVFMmtCakIsSUFBSSxHdkUza0JnQixFQUFFLEdBQUcsQ0FBQyxFdUUraEI3QiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQWtHUiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBM0hQLEVBQUUsQXZFL2JDLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXVFK2hCN0IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXhKViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxBekVwZkEsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFeUVrYTdCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV3RTRXN0Isc0JBQXNCLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLEN4RW5YUixTQUFTLEFBQUEsS0FBSyxBd0VrWWxCLGFBQWEsR3hFbFlRLEVBQUUsR0FBRyxDQUFDLEV3RStzQjdCLGNBQWMsQ0FrQmIsYUFBYSxDeEVqdUJSLFNBQVMsQUFBQSxLQUFLLEF3RXd1QmxCLElBQUksR3hFeHVCaUIsRUFBRSxHQUFHLENBQUMsRXdFK3NCN0IsY0FBYyxDQWtCYixhQUFhLENEdlRkLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2tSUixjQUFjLENBa0JiLGFBQWEsQ0RsU1gsRUFBRSxBdkUvYkMsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFd0Urc0I3QixjQUFjLENBa0JiLGFBQWEsQ0MvVGQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa2E3Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0QrT2pCLGNBQWMsQ0FrQmIsYUFBYSxDQzdPVixFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV3RTYyQjdCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDeEVqM0JULFNBQVMsQUFBQSxLQUFLLEF3RXczQmpCLElBQUksR3hFeDNCZ0IsRUFBRSxHQUFHLENBQUMsRXdFNjJCN0IsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENEdmNmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0RsYlosRUFBRSxBdkUvYkMsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFd0U2MkI3QixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0MvY2YsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa2E3Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0Q2WWpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDQzdYWCxFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV3RTYyQjdCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDeEU5M0JKLFNBQVMsQUFBQSxLQUFLLEF3RWk1QmpCLElBQUksR3hFajVCZ0IsRUFBRSxHQUFHLENBQUMsRXdFNjJCN0IsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENEcGRWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0QvYlAsRUFBRSxBdkUvYkMsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFd0U2MkI3QixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0M1ZFYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa2E3Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0Q2WWpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQzFZTixFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV5RTNFN0Isb0JBQW9CLEN6RTJFZCxTQUFTLEFBQUEsS0FBSyxBeUU5Q25CLGdCQUFnQixHekU4Q00sRUFBRSxHQUFHLENBQUMsRXlFM0U3QixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDekVxQkYsU0FBUyxBQUFBLEtBQUssQXlFbkJoQixJQUFJLEd6RW1CZSxFQUFFLEdBQUcsQ0FBQyxFeUUzRTdCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENGK2JSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxBdkUvYkMsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFeUUzRTdCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBdWJSLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV5RWthN0IsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0F5Z0JKLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa1A3QixpQ0FBaUMsQ0FFaEMsUUFBUSxDekVwUEgsU0FBUyxBQUFBLEtBQUssQXlFcVBsQixJQUFJLEd6RXJQaUIsRUFBRSxHQUFHLENBQUMsRXlFa1A3QixpQ0FBaUMsQ0FFaEMsUUFBUSxDRnNMVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxBdkUvYkMsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFdUUwYTdCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzTVIsaUNBQWlDLENBRWhDLFFBQVEsQ0YyTU4sRUFBRSxBdkUvYkMsU0FBUyxBQUFBLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxFeUVrUDdCLGlDQUFpQyxDQUVoQyxRQUFRLENBOEtULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV5RWthN0IsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBOU9qQixpQ0FBaUMsQ0FFaEMsUUFBUSxDQWdRTCxFQUFFLEF6RXBmQSxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV5RStUN0IsNEJBQTRCLEN6RS9UdEIsU0FBUyxBQUFBLEtBQUssQXlFZ1VuQixhQUFhLEd6RWhVUyxFQUFFLEdBQUcsQ0FBQyxFeUUrVDdCLDRCQUE0QixDQVUzQixRQUFRLEN6RXpVSCxTQUFTLEFBQUEsS0FBSyxBeUVnVmxCLElBQUksR3pFaFZpQixFQUFFLEdBQUcsQ0FBQyxFeUUrVDdCLDRCQUE0QixDQVUzQixRQUFRLENGaUdULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV1RTBhN0IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTlIUiw0QkFBNEIsQ0FVM0IsUUFBUSxDRnNITixFQUFFLEF2RS9iQyxTQUFTLEFBQUEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLEV5RStUN0IsNEJBQTRCLENBVTNCLFFBQVEsQ0F5RlQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRXlFa2E3Qiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FqS2pCLDRCQUE0QixDQVUzQixRQUFRLENBMktMLEVBQUUsQXpFcGZBLFNBQVMsQUFBQSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBdkIsU0FBUyxBQUFBLEtBQUssQTZFb2hCckIsOEJBQThCLEc3RXBoQk4sRUFBRSxHQUFHLENBQUMsQ0FBQztFbkUzQjdCLGVBQWUsRUFuREgsTUFBTSxHbUVnRmI7O0FBTUgsQUFBQSxVQUFVLEVtRXFEZCx3Q0FBd0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENBTVosSUFBSSxFQTNCVCx3Q0FBd0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENJd1ZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENKaFlULHdDQUF3QyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ0k2V2IsRUFBRSxFSmxZTix3Q0FBd0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENNZ1ZoQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ05uYWxCLHdDQUF3QyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ01rYVosRUFBRSxFRENOLHNCQUFzQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0FlUCxJQUFJLEVBbEdQLHNCQUFzQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0Q5SlYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ3dEUixzQkFBc0IsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENEeklQLEVBQUUsRUNzREwsc0JBQXNCLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQ3RLViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0RxQmpCLHNCQUFzQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0NwRk4sRUFBRSxDekU1ZWE7RW5FbENsQixXQUFXLEVBMUNKLFVBQVUsR21FOEVkOztBQUVELEFBQUEsZUFBZSxFd0Vtc0JsQixjQUFjLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBVVAsWUFBWSxDeEU1dUJTO0VuRXRCdkIsVUFBVSxFQTFESCxVQUFVLEdtRWtGZDs7QUFORCxBQUFBLGFBQWEsQ0FBRztFbkVsQ2xCLFdBQVcsRUF6Q0QsUUFBUSxHbUU2RWY7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBRztFbkV0QnZCLFVBQVUsRUF6REEsUUFBUSxHbUVpRmY7O0FBTkQsQUFBQSxhQUFhLEVpRStZakIsV0FBVyxDQU9WLEVBQUUsR0FNQyxFQUFFLENBV0gsRUFBRSxDQUVELEVBQUUsQ0FNRCxDQUFDLENBQ0EsUUFBUSxFS3plYix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQXVDUCxJQUFJLEVBcEdSLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0Q5ZVIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0NtYlIsRUFBRSxFRGhmTCx3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3NaWCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLEVIbFdOLDJCQUEyQixDQTJEMUIsUUFBUSxDQThCUCxJQUFJLEVBekZOLDJCQUEyQixDQTJEMUIsUUFBUSxDQzZOVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEM1NSLDJCQUEyQixDQTJEMUIsUUFBUSxDQ2tQTixFQUFFLEVEMUlMLG9CQUFvQixDQStCbkIsUUFBUSxDQVNQLElBQUksRUF4Q04sb0JBQW9CLENBK0JuQixRQUFRLENDc0ZULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsRUFyYkwsc0JBQXNCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENBa0JaLGFBQWEsRUFnS2hCLG1CQUFtQixDQUNsQixRQUFRLENBZVAsSUFBSSxFQWhCTixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBNVBSLG1CQUFtQixDQUNsQixRQUFRLENBNlBOLEVBQUUsRUEzTEwsMEJBQTBCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBV1AsU0FBUyxFQTJRWiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaUJQLElBQUksRUE1Q1AsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxFQ25GTCxzQkFBc0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQVdQLEtBQUssQ0F3QkosSUFBSSxFQTlEUixzQkFBc0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQVdQLEtBQUssQ0R3QlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2pGUixzQkFBc0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQVdQLEtBQUssQ0Q2Q0wsRUFBRSxFQ25GTCxzQkFBc0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQVdQLEtBQUssQ0NnQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENEcEhqQixzQkFBc0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQVdQLEtBQUssQ0NrR0osRUFBRSxFRDJOTixjQUFjLENBa0JiLGFBQWEsQ0FPWixJQUFJLEVBekJOLGNBQWMsQ0FrQmIsYUFBYSxDRHZUZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDa1JSLGNBQWMsQ0FrQmIsYUFBYSxDRGxTWCxFQUFFLEVFMWdCTCxvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksRUF4RFIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxFRTFnQkwsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0F1YlIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0F5Z0JKLEVBQUUsRUFsUU4saUNBQWlDLENBRWhDLFFBQVEsQ0FDUCxJQUFJLEVBSE4saUNBQWlDLENBRWhDLFFBQVEsQ0ZzTFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNNUixpQ0FBaUMsQ0FFaEMsUUFBUSxDRjJNTixFQUFFLEVFaElMLDRCQUE0QixDQVUzQixRQUFRLENBT1AsSUFBSSxFQWpCTiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQVUzQixRQUFRLENGc0hOLEVBQUUsRUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxFQWxDTiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsRUU3QkwsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ3pFNWVhO0VuRWxDbEIsV0FBVyxFQXhDRCxNQUFNLEdtRTRFYjs7QUFFRCxBQUFBLGtCQUFrQixDQUFHO0VuRXRCdkIsVUFBVSxFQXhEQSxNQUFNLEdtRWdGYjs7QUFORCxBQUFBLGNBQWMsQ0FBRTtFbkVsQ2xCLFdBQVcsRUF2Q0EsT0FBTyxHbUUyRWY7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBRTtFbkV0QnZCLFVBQVUsRUF2REMsT0FBTyxHbUUrRWY7O0FBSUgsQUFBQSxvQkFBb0IsQ0FBQztFbkU3Q3JCLGVBQWUsRUFuREgsTUFBTTtFQW9EbEIsV0FBVyxFQXhDRCxNQUFNO0VtRXNGZCxhQUFhLEVBQUUsTUFBTSxHQUN0Qjs7QUFLRyxBQUFBLGNBQWMsRXVFNkVuQix1QkFBdUIsQ0F5QnRCLFFBQVEsRUFnakJULDBCQUEwQixDQUV6QixZQUFZLEVDdUhiLGNBQWMsQ0FFYixZQUFZLEN4RWp4QmtCO0VuRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYOztBQUZELEFBQUEsY0FBYyxFdUU2RW5CLHVCQUF1QixDQUd0QixZQUFZLEVBc2tCYiwwQkFBMEIsQ0FvQnpCLFlBQVksRUNxR2IsY0FBYyxDQXVCYixZQUFZLEVFcnJCZCxpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQStEZixjQUFjLEVBM0ZoQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQStEQyxlQUFlLEMxRTVNRDtFbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDs7QUFGRCxBQUFBLGNBQWMsRTBFaUhwQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLEMxRTlKaUI7RW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7O0FBRkQsQUFBQSxjQUFjLENBQVk7RW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7O0FBRkQsQUFBQSxjQUFjLENBQVk7RW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7O0FBRkQsQUFBQSxjQUFjLENBQVk7RW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7O0FsRXFERCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFa0V2RDdDLEFBQUEsbUJBQW1CLEV1RStsQnhCLG1DQUFtQyxDQWNsQyxZQUFZLEVBZGIsbUNBQW1DLENBK0JsQyxZQUFZLEN2RTluQmtCO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxtQkFBbUIsRXVFK2xCeEIsbUNBQW1DLENBY2xDLFlBQVksRUFkYixtQ0FBbUMsQ0ErQmxDLFlBQVksQ3ZFOW5Ca0I7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLG1CQUFtQixDQUFPO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxtQkFBbUIsQ0FBTztJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDtFQUZELEFBQUEsbUJBQW1CLENBQU87SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLG1CQUFtQixDQUFPO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYOztBbEVxREQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RWtFdkR6QyxBQUFBLGVBQWUsRXNFb1hwQix5QkFBeUIsQ0FXeEIsUUFBUSxDQXNEUCxZQUFZLEVDaU9kLDBCQUEwQixDQW9CekIsWUFBWSxFQ3FHYixjQUFjLENBdUJiLFlBQVksQ3hFdHlCa0I7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLGVBQWUsRXNFb1hwQix5QkFBeUIsQ0FXeEIsUUFBUSxDQThCUCxZQUFZLEVDeVBkLDBCQUEwQixDQUV6QixZQUFZLEVDdUhiLGNBQWMsQ0FFYixZQUFZLEN4RWp4QmtCO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxlQUFlLENBQVc7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLGVBQWUsQ0FBVztJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDtFQUZELEFBQUEsZUFBZSxDQUFXO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxlQUFlLENBQVc7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7O0FsRXFERCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFa0V2RDdDLEFBQUEsb0JBQW9CLEVzRW9YekIseUJBQXlCLENBV3hCLFFBQVEsQ0E4QlAsWUFBWSxDdEU3WmlCO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxvQkFBb0IsRXNFb1h6Qix5QkFBeUIsQ0FXeEIsUUFBUSxDQXNEUCxZQUFZLEVJcFVmLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBaUJmLGFBQWEsQzFFOUppQjtJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDtFQUZELEFBQUEsb0JBQW9CLEUwRWlIMUIsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0ErRGYsY0FBYyxFQTNGaEIsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0ErREMsZUFBZSxDMUU1TUQ7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLG9CQUFvQixDQUFNO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxvQkFBb0IsQ0FBTTtJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDtFQUZELEFBQUEsb0JBQW9CLENBQU07SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7O0FsRXFERCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFa0V2RHpDLEFBQUEsY0FBYyxDQUFZO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxjQUFjLENBQVk7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLGNBQWMsQ0FBWTtJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDtFQUZELEFBQUEsY0FBYyxDQUFZO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxjQUFjLENBQVk7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLGNBQWMsQ0FBWTtJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDs7QWxFMERELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RWtFNURsQyxBQUFBLGVBQWUsQ0FBVztJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDtFQUZELEFBQUEsZUFBZSxDQUFXO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxlQUFlLENBQVc7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7RUFGRCxBQUFBLGVBQWUsQ0FBVztJbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDtFQUZELEFBQUEsZUFBZSxDQUFXO0luRTlCOUIsS0FBSyxFbUU2QlUsQ0FBQyxHQUdYO0VBRkQsQUFBQSxlQUFlLENBQVc7SW5FOUI5QixLQUFLLEVtRTZCVSxDQUFDLEdBR1g7O0FBN0ZMLEFBQUEsZUFBZSxDQUFDO0VuRVloQixPQUFPLEVBQUUsSUFBSSxHbUVWWjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsSUFBSSxFQUFFLFFBQVEsR0FDZjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsSUFBSSxFQUFFLFFBQVEsR0FDZjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLElBQUksRUFBRSxRQUFRLEdBQ2Y7O0FBR0MsQUFBQSxhQUFhLENBQUs7RW5Fc0RwQixjQUFjLEVBbkVQLEdBQUcsR21FZVA7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBSDtFbkVzRHBCLGNBQWMsRUFsRUMsV0FBVyxHbUVjdkI7O0FBRkQsQUFBQSxnQkFBZ0IsQ0FBRTtFbkVzRHBCLGNBQWMsRUFqRUosTUFBTSxHbUVhYjs7QUFGRCxBQUFBLHdCQUF3QixDQUFOO0VuRXNEcEIsY0FBYyxFQWhFSSxjQUFjLEdtRVk3Qjs7QWxFK0hDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0VrRXZIekMsQUFBQSwwQkFBMEIsQ0FBRDtJbkVmakMsT0FBTyxFQUFFLElBQUksR21FaUJKO0VBRUQsQUFBQSwyQkFBMkIsQ0FBRDtJQUN4QixJQUFJLEVBQUUsUUFBUSxHQUNmO0VBRUQsQUFBQSwyQkFBMkIsQ0FBRDtJQUN4QixJQUFJLEVBQUUsUUFBUSxHQUNmO0VBRUQsQUFBQSw2QkFBNkIsQ0FBRDtJQUMxQixJQUFJLEVBQUUsUUFBUSxHQUNmO0VBR0MsQUFBQSx3QkFBd0IsQ0FBRztJbkUyQnJDLGNBQWMsRUFuRVAsR0FBRyxHbUUwQ0M7RUFGRCxBQUFBLGdDQUFnQyxDQUFMO0luRTJCckMsY0FBYyxFQWxFQyxXQUFXLEdtRXlDZjtFQUZELEFBQUEsMkJBQTJCLENBQUE7SW5FMkJyQyxjQUFjLEVBakVKLE1BQU0sR21Fd0NMO0VBRkQsQUFBQSxtQ0FBbUMsQ0FBUjtJbkUyQnJDLGNBQWMsRUFoRUksY0FBYyxHbUV1Q3JCOztBbEVvR1AsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RWtFdkhyQyxBQUFBLHNCQUFzQixDQUFHO0luRWZqQyxPQUFPLEVBQUUsSUFBSSxHbUVpQko7RUFFRCxBQUFBLHVCQUF1QixDQUFHO0lBQ3hCLElBQUksRUFBRSxRQUFRLEdBQ2Y7RUFFRCxBQUFBLHVCQUF1QixDQUFHO0lBQ3hCLElBQUksRUFBRSxRQUFRLEdBQ2Y7RUFFRCxBQUFBLHlCQUF5QixDQUFHO0lBQzFCLElBQUksRUFBRSxRQUFRLEdBQ2Y7RUFHQyxBQUFBLG9CQUFvQixDQUFPO0luRTJCckMsY0FBYyxFQW5FUCxHQUFHLEdtRTBDQztFQUZELEFBQUEsNEJBQTRCLENBQUQ7SW5FMkJyQyxjQUFjLEVBbEVDLFdBQVcsR21FeUNmO0VBRkQsQUFBQSx1QkFBdUIsQ0FBSTtJbkUyQnJDLGNBQWMsRUFqRUosTUFBTSxHbUV3Q0w7RUFGRCxBQUFBLCtCQUErQixDQUFKO0luRTJCckMsY0FBYyxFQWhFSSxjQUFjLEdtRXVDckI7O0FsRW9HUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFa0V2SHpDLEFBQUEsMkJBQTJCLENBQUY7SW5FZmpDLE9BQU8sRUFBRSxJQUFJLEdtRWlCSjtFQUVELEFBQUEsNEJBQTRCLENBQUY7SUFDeEIsSUFBSSxFQUFFLFFBQVEsR0FDZjtFQUVELEFBQUEsNEJBQTRCLENBQUY7SUFDeEIsSUFBSSxFQUFFLFFBQVEsR0FDZjtFQUVELEFBQUEsOEJBQThCLENBQUY7SUFDMUIsSUFBSSxFQUFFLFFBQVEsR0FDZjtFQUdDLEFBQUEseUJBQXlCLENBQUU7SW5FMkJyQyxjQUFjLEVBbkVQLEdBQUcsR21FMENDO0VBRkQsQUFBQSxpQ0FBaUMsQ0FBTjtJbkUyQnJDLGNBQWMsRUFsRUMsV0FBVyxHbUV5Q2Y7RUFGRCxBQUFBLDRCQUE0QixDQUFEO0luRTJCckMsY0FBYyxFQWpFSixNQUFNLEdtRXdDTDtFQUZELEFBQUEsb0NBQW9DLENBQVQ7SW5FMkJyQyxjQUFjLEVBaEVJLGNBQWMsR21FdUNyQjs7QWxFb0dQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VrRXZIckMsQUFBQSxxQkFBcUIsQ0FBSTtJbkVmakMsT0FBTyxFQUFFLElBQUksR21FaUJKO0VBRUQsQUFBQSxzQkFBc0IsQ0FBSTtJQUN4QixJQUFJLEVBQUUsUUFBUSxHQUNmO0VBRUQsQUFBQSxzQkFBc0IsQ0FBSTtJQUN4QixJQUFJLEVBQUUsUUFBUSxHQUNmO0VBRUQsQUFBQSx3QkFBd0IsQ0FBSTtJQUMxQixJQUFJLEVBQUUsUUFBUSxHQUNmO0VBR0MsQUFBQSxtQkFBbUIsQ0FBUTtJbkUyQnJDLGNBQWMsRUFuRVAsR0FBRyxHbUUwQ0M7RUFGRCxBQUFBLDJCQUEyQixDQUFBO0luRTJCckMsY0FBYyxFQWxFQyxXQUFXLEdtRXlDZjtFQUZELEFBQUEsc0JBQXNCLENBQUs7SW5FMkJyQyxjQUFjLEVBakVKLE1BQU0sR21Fd0NMO0VBRkQsQUFBQSw4QkFBOEIsQ0FBSDtJbkUyQnJDLGNBQWMsRUFoRUksY0FBYyxHbUV1Q3JCOztBbEV5R1AsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFa0U1SDlCLEFBQUEsc0JBQXNCLENBQUc7SW5FZmpDLE9BQU8sRUFBRSxJQUFJLEdtRWlCSjtFQUVELEFBQUEsdUJBQXVCLENBQUc7SUFDeEIsSUFBSSxFQUFFLFFBQVEsR0FDZjtFQUVELEFBQUEsdUJBQXVCLENBQUc7SUFDeEIsSUFBSSxFQUFFLFFBQVEsR0FDZjtFQUVELEFBQUEseUJBQXlCLENBQUc7SUFDMUIsSUFBSSxFQUFFLFFBQVEsR0FDZjtFQUdDLEFBQUEsb0JBQW9CLENBQU87SW5FMkJyQyxjQUFjLEVBbkVQLEdBQUcsR21FMENDO0VBRkQsQUFBQSw0QkFBNEIsQ0FBRDtJbkUyQnJDLGNBQWMsRUFsRUMsV0FBVyxHbUV5Q2Y7RUFGRCxBQUFBLHVCQUF1QixDQUFJO0luRTJCckMsY0FBYyxFQWpFSixNQUFNLEdtRXdDTDtFQUZELEFBQUEsK0JBQStCLENBQUo7SW5FMkJyQyxjQUFjLEVBaEVJLGNBQWMsR21FdUNyQjs7QWRGWCxBQUFBLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxlQUFlLEdBQ3pCOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FwRHFHRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0VvRHZGekMsQUFBQSxvQkFBb0IsQ0FBSTtJQTFCeEIsT0FBTyxFQUFFLGVBQWUsR0E0QnZCOztBQS9DRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxHQUFHLEdBQUcsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0VBaURuRSxBQUFBLG9CQUFvQixDQUFJO0lBaER0QixPQUFPLEVBQUUsZUFBZSxHQWtEekI7O0FwRDRFQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFb0QzRjdDLEFBQUEsb0JBQW9CLENBQUQ7SUF6QnJCLE9BQU8sRUFBRSxlQUFlLEdBMkJyQjs7QXBEOEZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7RW9ENUZ2QyxBQUFBLG9CQUFvQixDQUFEO0lBakVyQixPQUFPLEVBQUUsZUFBZSxHQW1FckI7O0FwRDBGRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRLE9BQU8sU0FBUyxFQUFFLFNBQVM7RW9EdkZuRSxBQUFBLHlCQUF5QixDQUFEO0lBMUJ4QixPQUFPLEVBQUUsZUFBZSxHQTRCdkI7O0FBL0NELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVMsR0FBRyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RUFpRHJFLEFBQUEseUJBQXlCLENBQUQ7SUFoRHRCLE9BQU8sRUFBRSxlQUFlLEdBa0R6Qjs7QXBENEVDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VvRDNGekMsQUFBQSxnQkFBZ0IsQ0FBRztJQXpCckIsT0FBTyxFQUFFLGVBQWUsR0EyQnJCOztBcEQ4RkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztFb0Q1RnZDLEFBQUEsZ0JBQWdCLENBQUc7SUFqRXJCLE9BQU8sRUFBRSxlQUFlLEdBbUVyQjs7QXBEMEZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksT0FBTyxTQUFTLEVBQUUsU0FBUztFb0R2Ri9ELEFBQUEscUJBQXFCLENBQUc7SUExQnhCLE9BQU8sRUFBRSxlQUFlLEdBNEJ2Qjs7QUEvQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUyxHQUFHLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFQWlEekUsQUFBQSxxQkFBcUIsQ0FBRztJQWhEdEIsT0FBTyxFQUFFLGVBQWUsR0FrRHpCOztBcEQ0RUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7RW9EM0Y3QyxBQUFBLHFCQUFxQixDQUFGO0lBekJyQixPQUFPLEVBQUUsZUFBZSxHQTJCckI7O0FwRDhGRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0VvRDVGdkMsQUFBQSxxQkFBcUIsQ0FBRjtJQWpFckIsT0FBTyxFQUFFLGVBQWUsR0FtRXJCOztBcEQwRkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUSxPQUFPLFNBQVMsRUFBRSxTQUFTO0VvRHZGbkUsQUFBQSwwQkFBMEIsQ0FBRjtJQTFCeEIsT0FBTyxFQUFFLGVBQWUsR0E0QnZCOztBQS9DRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTLEdBQUcsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VBaURyRSxBQUFBLDBCQUEwQixDQUFGO0lBaER0QixPQUFPLEVBQUUsZUFBZSxHQWtEekI7O0FwRDRFQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFb0QzRnpDLEFBQUEsZUFBZSxDQUFJO0lBekJyQixPQUFPLEVBQUUsZUFBZSxHQTJCckI7O0FwRDhGRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0VvRDVGdkMsQUFBQSxlQUFlLENBQUk7SUFqRXJCLE9BQU8sRUFBRSxlQUFlLEdBbUVyQjs7QXBEMEZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksT0FBTyxTQUFTLEVBQUUsU0FBUztFb0R2Ri9ELEFBQUEsb0JBQW9CLENBQUk7SUExQnhCLE9BQU8sRUFBRSxlQUFlLEdBNEJ2Qjs7QUEvQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUyxHQUFHLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFQWlEckUsQUFBQSxvQkFBb0IsQ0FBSTtJQWhEdEIsT0FBTyxFQUFFLGVBQWUsR0FrRHpCOztBcERpRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFb0RoR2xDLEFBQUEsZ0JBQWdCLENBQUc7SUF6QnJCLE9BQU8sRUFBRSxlQUFlLEdBMkJyQjs7QXBEOEZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7RW9ENUZ2QyxBQUFBLGdCQUFnQixDQUFHO0lBakVyQixPQUFPLEVBQUUsZUFBZSxHQW1FckI7O0FwRDBGRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLE9BQU8sU0FBUyxFQUFFLFNBQVM7RW9EdkYvRCxBQUFBLHFCQUFxQixDQUFHO0lBMUJ4QixPQUFPLEVBQUUsZUFBZSxHQTRCdkI7O0FBL0NELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVMsR0FBRyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RUFpRHJFLEFBQUEscUJBQXFCLENBQUc7SUFoRHRCLE9BQU8sRUFBRSxlQUFlLEdBa0R6Qjs7QUFLSCxBQUFBLFlBQVk7QUFDWixjQUFjLENBQUM7RW5EcUhmLFFBQVEsRUFBRSxtQkFBbUI7RUFDN0IsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLGdCQUFhO0VBQ25CLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLE1BQU0sRUFBRSxDQUFDLEdtRDNIUjs7QUFHRCxBQUNFLGNBRFksQUFDWCxPQUFPLEVBRFYsY0FBYyxBQUVYLE1BQU0sQ0FBQztFbkQySFYsUUFBUSxFQUFFLGlCQUFpQjtFQUMzQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLE9BQU87RUFDakIsSUFBSSxFQUFFLElBQUk7RUFDVixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsSUFBSSxHbUQvSFo7O0FBSUgsQUFBQSxtQkFBbUI7QUFDbkIsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLGdCQUFnQixHQVMxQjtFcERtREcsTUFBTSxDQUFDLE1BQU0sTUFBTSxXQUFXLEVBQUUsU0FBUztJb0Q5RDdDLEFBQUEsbUJBQW1CO0lBQ25CLGtCQUFrQixDQUFDO01BSWYsT0FBTyxFQUFFLGdCQUFnQixHQU01QjtFcERtREcsTUFBTSxDQUFDLE1BQU0sTUFBTSxXQUFXLEVBQUUsUUFBUTtJb0Q5RDVDLEFBQUEsbUJBQW1CO0lBQ25CLGtCQUFrQixDQUFDO01BUWYsT0FBTyxFQUFFLGVBQWUsR0FFM0I7O0FBRUQsQUFBQSxtQkFBbUI7QUFDbkIsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLGVBQWUsR0FTekI7RXBEc0NHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sV0FBVyxFQUFFLFNBQVM7SW9EakQ3QyxBQUFBLG1CQUFtQjtJQUNuQixrQkFBa0IsQ0FBQztNQUlmLE9BQU8sRUFBRSxlQUFlLEdBTTNCO0VwRHNDRyxNQUFNLENBQUMsTUFBTSxNQUFNLFdBQVcsRUFBRSxRQUFRO0lvRGpENUMsQUFBQSxtQkFBbUI7SUFDbkIsa0JBQWtCLENBQUM7TUFRZixPQUFPLEVBQUUsZ0JBQWdCLEdBRTVCOztBL0RoRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEyQ0U7QTJJbEdBLEFkVUUsY2NWWSxBZFVYLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFQUZFLGlCQUFlO0VldkJ2QixtQkFBbUIsRUFBRSxrQkFBa0I7RUFHekMsbUJBQW1CLEVBQUUsTUFBTSxHWlIxQjs7QWNaSCxBZHNCRSxjY3RCWSxBZHNCWCxVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFQUZFLGFBQWUsR0doQnhCOztBY3ZCSCxBZFNFLGNjVFksQWRTWCxVQUFVLENBQUU7RWNsQmYsbUJBQW1CLEVwQmtCVixLQUFLO0VvQmpCZCwwQkFBMEIsRXBCaUNqQixNQUFNO0VHZ0JiLFNBQVEsRUFGRSxpQkFBZTtFZXZCdkIsbUJBQW1CLEVBQUUsa0JBQWtCO0VBR3pDLG1CQUFtQixFQUFFLE1BQU0sR1pSMUI7O0FjWEgsQWRxQkUsY2NyQlksQWRxQlgsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRUFGRSxhQUFlLEdHaEJ4Qjs7QWN0QkgsQWRRRSxZY1JVLEFkUVQsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsZ0JBQWU7RWV2QnZCLG1CQUFtQixFQUFFLGtCQUFrQjtFQUd6QyxtQkFBbUIsRUFBRSxNQUFNLEdaUjFCOztBY1ZILEFkb0JFLFljcEJVLEFkb0JULFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVBRkUsYUFBZSxHR2hCeEI7O0FjckJILEFkT0UsZWNQYSxBZE9aLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFQUZFLGdCQUFlO0VldkJ2QixtQkFBbUIsRUFBRSxrQkFBa0I7RUFHekMsbUJBQW1CLEVBQUUsTUFBTSxHWlIxQjs7QWNUSCxBZG1CRSxlY25CYSxBZG1CWixVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFQUZFLGFBQWUsR0doQnhCOztBY3BCSCxBZE1FLGVjTmEsQWRNWixVQUFVLENBQUU7RWNsQmYsbUJBQW1CLEVwQmtCVixLQUFLO0VvQmpCZCwwQkFBMEIsRXBCaUNqQixNQUFNO0VHZ0JiLFNBQVEsRUFGRSxhQUFlO0VldkJ2QixtQkFBbUIsRUFBRSxrQkFBa0I7RUFHekMsbUJBQW1CLEVBQUUsTUFBTSxHWlIxQjs7QWNSSCxBZGtCRSxlY2xCYSxBZGtCWixVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFQUZFLGdCQUFlLEdHaEJ4Qjs7QWNuQkgsQWRLRSxnQmNMYyxBZEtiLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFQUZFLGFBQWU7RWV2QnZCLG1CQUFtQixFQUFFLGtCQUFrQjtFQUd6QyxtQkFBbUIsRUFBRSxNQUFNLEdaUjFCOztBY1BILEFkaUJFLGdCY2pCYyxBZGlCYixVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFQUZFLGdCQUFlLEdHaEJ4Qjs7QWNsQkgsQWRJRSxhY0pXLEFkSVYsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsYUFBZTtFZXZCdkIsbUJBQW1CLEVBQUUsa0JBQWtCO0VBR3pDLG1CQUFtQixFQUFFLE1BQU0sR1pSMUI7O0FjTkgsQWRnQkUsYWNoQlcsQWRnQlYsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRUFGRSxpQkFBZSxHR2hCeEI7O0FjakJILEFkR0UsZWNIYSxBZEdaLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFQUZFLGFBQWU7RWV2QnZCLG1CQUFtQixFQUFFLGtCQUFrQjtFQUd6QyxtQkFBbUIsRUFBRSxNQUFNLEdaUjFCOztBY0xILEFkZUUsZWNmYSxBZGVaLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVBRkUsaUJBQWUsR0doQnhCOztBY2RILEFkQUUsUWNBTSxBZEFMLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsT0FBUSxFaUJoQ3lCLENBQUM7RUxBbEMsbUJBQW1CLEVBQUUsT0FBTyxHVEUzQjs7QWNGSCxBZFlFLFFjWk0sQWRZTCxVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsT0FBUSxFaUJoQzRCLENBQUMsR2RjcEM7O0FjYkgsQWRERSxTY0NPLEFkRE4sVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixPQUFRLEVpQi9CeUIsQ0FBQztFTERsQyxtQkFBbUIsRUFBRSxPQUFPLEdURTNCOztBY0RILEFkV0UsU2NYTyxBZFdOLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixPQUFRLEVpQi9CNEIsQ0FBQyxHZGFwQzs7QWNWSCxBZEpFLGtCY0lnQixBZEpmLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFTVhBLG1CQUF5QixDQTFCNUIsZUFBOEI7RU5xQ25DLGdCQUFRLEVpQjVCd0MsR0FBRztFSkdqRCxtQkFBbUIsRUFBRSxrQkFBa0I7RUFDdkMsT0FBTyxFQUFtQixDQUFDLEdWTjVCOztBY0VILEFkUUUsa0JjUmdCLEFkUWYsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRU1WRixtQkFBeUIsQ0FBQyxZQUFZO0VPSjFDLE9BQU8sRUFBbUIsQ0FBQyxHVko1Qjs7QWNUSCxBZExFLG9CY0trQixBZExqQixVQUFVLENBQUU7RWNsQmYsbUJBQW1CLEVwQmtCVixLQUFLO0VvQmpCZCwwQkFBMEIsRXBCaUNqQixNQUFNO0VHZ0JiLFNBQVEsRU1YQSxtQkFBeUIsQ0F6QjFCLGVBQThCO0VOb0NyQyxnQkFBUSxFaUIzQndDLEtBQUs7RUpFbkQsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBbUIsQ0FBQyxHVk41Qjs7QWNHSCxBZE9FLG9CY1BrQixBZE9qQixVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFTVZGLG1CQUF5QixDQUFDLFlBQVk7RU9KMUMsT0FBTyxFQUFtQixDQUFDLEdWSjVCOztBY1JILEFkTkUscUJjTW1CLEFkTmxCLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFTVhBLG1CQUF5QixDQXhCekIsY0FBeUI7RU5tQ2pDLGdCQUFRLEVpQjFCd0MsTUFBTTtFSkNwRCxtQkFBbUIsRUFBRSxrQkFBa0I7RUFDdkMsT0FBTyxFQUFtQixDQUFDLEdWTjVCOztBY0lILEFkTUUscUJjTm1CLEFkTWxCLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVNVkYsbUJBQXlCLENBQUMsWUFBWTtFT0oxQyxPQUFPLEVBQW1CLENBQUMsR1ZKNUI7O0FjUEgsQWRQRSxtQmNPaUIsQWRQaEIsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVNWEEsbUJBQXlCLENBdkIzQixjQUF5QjtFTmtDL0IsZ0JBQVEsRWlCekJ3QyxJQUFJO0VKQWxELG1CQUFtQixFQUFFLGtCQUFrQjtFQUN2QyxPQUFPLEVBQW1CLENBQUMsR1ZONUI7O0FjS0gsQWRLRSxtQmNMaUIsQWRLaEIsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRU1WRixtQkFBeUIsQ0FBQyxZQUFZO0VPSjFDLE9BQU8sRUFBbUIsQ0FBQyxHVko1Qjs7QWNOSCxBZFJFLHVCY1FxQixBZFJwQixVQUFVLENBQUU7RWNsQmYsbUJBQW1CLEVwQmtCVixLQUFLO0VvQmpCZCwwQkFBMEIsRXBCaUNqQixNQUFNO0VHZ0JiLFNBQVEsRU1YQSxtQkFBeUIsQ0ExQjVCLGVBQThCO0VOcUNuQyxnQkFBUSxFTUNDLE1BQU07RU8xQmIsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBbUIsQ0FBQyxHVk41Qjs7QWNNSCxBZElFLHVCY0pxQixBZElwQixVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFTVZGLG1CQUF5QixDQUFDLFlBQVk7RU9KMUMsT0FBTyxFQUFtQixDQUFDLEdWSjVCOztBY0xILEFkVEUsdUJjU3FCLEFkVHBCLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFTVhBLG1CQUF5QixDQXpCMUIsZUFBOEI7RU5vQ3JDLGdCQUFRLEVNQ0MsTUFBTTtFTzFCYixtQkFBbUIsRUFBRSxrQkFBa0I7RUFDdkMsT0FBTyxFQUFtQixDQUFDLEdWTjVCOztBY09ILEFkR0UsdUJjSHFCLEFkR3BCLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVNVkYsbUJBQXlCLENBQUMsWUFBWTtFT0oxQyxPQUFPLEVBQW1CLENBQUMsR1ZKNUI7O0FjSkgsQWRWRSxtQmNVaUIsQWRWaEIsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVNUkEsbUJBQXlCLENBQUMsWUFBWTtFTlE5QyxnQkFBUSxFaUJ0QndDLEdBQUc7RUpIakQsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBc0IsQ0FBQyxHVk4vQjs7QWNRSCxBZEVFLG1CY0ZpQixBZEVoQixVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFTVBGLG1CQUF5QixDQTlCMUIsZUFBOEI7RU91QmpDLE9BQU8sRUFBc0IsQ0FBQyxHVkovQjs7QWNISCxBZFhFLHFCY1dtQixBZFhsQixVQUFVLENBQUU7RWNsQmYsbUJBQW1CLEVwQmtCVixLQUFLO0VvQmpCZCwwQkFBMEIsRXBCaUNqQixNQUFNO0VHZ0JiLFNBQVEsRU1SQSxtQkFBeUIsQ0FBQyxZQUFZO0VOUTlDLGdCQUFRLEVpQnJCd0MsS0FBSztFSkpuRCxtQkFBbUIsRUFBRSxrQkFBa0I7RUFDdkMsT0FBTyxFQUFzQixDQUFDLEdWTi9COztBY1NILEFkQ0UscUJjRG1CLEFkQ2xCLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVNUEYsbUJBQXlCLENBN0J4QixlQUE4QjtFT3NCbkMsT0FBTyxFQUFzQixDQUFDLEdWSi9COztBY0ZILEFkWkUsc0JjWW9CLEFkWm5CLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFTVJBLG1CQUF5QixDQUFDLFlBQVk7RU5ROUMsZ0JBQVEsRWlCcEJ3QyxNQUFNO0VKTHBELG1CQUFtQixFQUFFLGtCQUFrQjtFQUN2QyxPQUFPLEVBQXNCLENBQUMsR1ZOL0I7O0FjVUgsQWRBRSxzQmNBb0IsQWRBbkIsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRU1QRixtQkFBeUIsQ0E1QnZCLGNBQXlCO0VPcUIvQixPQUFPLEVBQXNCLENBQUMsR1ZKL0I7O0FjREgsQWRiRSxvQmNha0IsQWRiakIsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVNUkEsbUJBQXlCLENBQUMsWUFBWTtFTlE5QyxnQkFBUSxFaUJuQndDLElBQUk7RUpObEQsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBc0IsQ0FBQyxHVk4vQjs7QWNXSCxBZERFLG9CY0NrQixBZERqQixVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFTVBGLG1CQUF5QixDQTNCekIsY0FBeUI7RU9vQjdCLE9BQU8sRUFBc0IsQ0FBQyxHVkovQjs7QWNBSCxBZGRFLHdCY2NzQixBZGRyQixVQUFVLENBQUU7RWNsQmYsbUJBQW1CLEVwQmtCVixLQUFLO0VvQmpCZCwwQkFBMEIsRXBCaUNqQixNQUFNO0VHZ0JiLFNBQVEsRU1SQSxtQkFBeUIsQ0FBQyxZQUFZO0VOUTlDLGdCQUFRLEVNQ0MsTUFBTTtFTzFCYixtQkFBbUIsRUFBRSxrQkFBa0I7RUFDdkMsT0FBTyxFQUFzQixDQUFDLEdWTi9COztBY1lILEFkRkUsd0JjRXNCLEFkRnJCLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVNUEYsbUJBQXlCLENBOUIxQixlQUE4QjtFT3VCakMsT0FBTyxFQUFzQixDQUFDLEdWSi9COztBY0NILEFkZkUsd0JjZXNCLEFkZnJCLFVBQVUsQ0FBRTtFY2xCZixtQkFBbUIsRXBCa0JWLEtBQUs7RW9CakJkLDBCQUEwQixFcEJpQ2pCLE1BQU07RUdnQmIsU0FBUSxFTVJBLG1CQUF5QixDQUFDLFlBQVk7RU5ROUMsZ0JBQVEsRU1DQyxNQUFNO0VPMUJiLG1CQUFtQixFQUFFLGtCQUFrQjtFQUN2QyxPQUFPLEVBQXNCLENBQUMsR1ZOL0I7O0FjYUgsQWRIRSx3QmNHc0IsQWRIckIsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRU1QRixtQkFBeUIsQ0E3QnhCLGVBQThCO0VPc0JuQyxPQUFPLEVBQXNCLENBQUMsR1ZKL0I7O0FjSUgsQWRsQkUsWWNrQlUsQWRsQlQsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsVUFBZTtFYzNCdkIsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBbUIsQ0FBQyxHWEY1Qjs7QWNnQkgsQWRORSxZY01VLEFkTlQsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRUFGRSxRQUFlO0VjaEJ2QixPQUFPLEVBQW1CLENBQUMsR1hBNUI7O0FjS0gsQWRuQkUsY2NtQlksQWRuQlgsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsVUFBZTtFYzNCdkIsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBbUIsQ0FBQyxHWEY1Qjs7QWNpQkgsQWRQRSxjY09ZLEFkUFgsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRUFGRSxRQUFlO0VjaEJ2QixPQUFPLEVBQW1CLENBQUMsR1hBNUI7O0FjTUgsQWRwQkUsYWNvQlcsQWRwQlYsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsUUFBZTtFYzNCdkIsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBc0IsQ0FBQyxHWEYvQjs7QWNrQkgsQWRSRSxhY1FXLEFkUlYsVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRUFGRSxVQUFlO0VjaEJ2QixPQUFPLEVBQXNCLENBQUMsR1hBL0I7O0FjT0gsQWRyQkUsZWNxQmEsQWRyQlosVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsUUFBZTtFYzNCdkIsbUJBQW1CLEVBQUUsa0JBQWtCO0VBQ3ZDLE9BQU8sRUFBc0IsQ0FBQyxHWEYvQjs7QWNtQkgsQWRURSxlY1NhLEFkVFosVUFBVSxBQUFBLGlCQUFpQixDQUFmO0VIb0JiLFNBQVEsRUFGRSxVQUFlO0VjaEJ2QixPQUFPLEVBQXNCLENBQUMsR1hBL0I7O0FjVUgsQWR4QkUsUWN3Qk0sQWR4QkwsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsaUJBQWU7RWdCM0J2QixtQkFBbUIsRUFBRSxrQkFBa0I7RUFDdkMsT0FBTyxFQUFtQixDQUFDLEdiRjVCOztBY3NCSCxBZFpFLFFjWU0sQWRaTCxVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFQUZFLFNBQWU7RWdCaEJ2QixPQUFPLEVBQW1CLENBQUMsR2JBNUI7O0FjV0gsQWR6QkUsU2N5Qk8sQWR6Qk4sVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsU0FBZTtFZ0IzQnZCLG1CQUFtQixFQUFFLGtCQUFrQjtFQUN2QyxPQUFPLEVBQXNCLENBQUMsR2JGL0I7O0FjdUJILEFkYkUsU2NhTyxBZGJOLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVBRkUsZ0JBQWU7RWdCaEJ2QixPQUFPLEVBQXNCLENBQUMsR2JBL0I7O0FjWUgsQWQxQkUsWWMwQlUsQWQxQlQsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsZ0JBQWU7RWdCM0J2QixtQkFBbUIsRUFBRSxrQkFBa0I7RUFDdkMsT0FBTyxFQUFtQixDQUFDLEdiRjVCOztBY3dCSCxBZGRFLFljY1UsQWRkVCxVQUFVLEFBQUEsaUJBQWlCLENBQWY7RUhvQmIsU0FBUSxFQUZFLFNBQWU7RWdCaEJ2QixPQUFPLEVBQW1CLENBQUMsR2JBNUI7O0FjYUgsQWQzQkUsYWMyQlcsQWQzQlYsVUFBVSxDQUFFO0VjbEJmLG1CQUFtQixFcEJrQlYsS0FBSztFb0JqQmQsMEJBQTBCLEVwQmlDakIsTUFBTTtFR2dCYixTQUFRLEVBRkUsU0FBZTtFZ0IzQnZCLG1CQUFtQixFQUFFLGtCQUFrQjtFQUN2QyxPQUFPLEVBQXNCLENBQUMsR2JGL0I7O0FjeUJILEFkZkUsYWNlVyxBZGZWLFVBQVUsQUFBQSxpQkFBaUIsQ0FBZjtFSG9CYixTQUFRLEVBRkUsaUJBQWU7RWdCaEJ2QixPQUFPLEVBQXNCLENBQUMsR2JBL0I7O0Fjb0JDLEFBQUEsS0FBSyxDQUFLO0VBQUUsbUJBQW1CLEVwQmpDN0IsS0FBSyxDb0JpQ2lDLFVBQVUsR0FBSTs7QUFBdEQsQUFBQSxLQUFLLENBQUs7RUFBRSxtQkFBbUIsRXBCaEM3QixLQUFLLENvQmdDaUMsVUFBVSxHQUFJOztBQU10RCxBQUFBLE9BQU8sQ0FBRztFQUFFLDBCQUEwQixFcEJ2QmxDLE1BQU0sQ29CdUJxQyxVQUFVLEdBQUk7O0FBQTdELEFBQUEsS0FBSyxDQUFLO0VBQUUsMEJBQTBCLEVwQnRCcEMsSUFBSSxDb0JzQnlDLFVBQVUsR0FBSTs7QUFBN0QsQUFBQSxRQUFRLENBQUU7RUFBRSwwQkFBMEIsRXBCckJqQyxPQUFPLENvQnFCbUMsVUFBVSxHQUFJOztBQUE3RCxBQUFBLFNBQVMsQ0FBQztFQUFFLDBCQUEwQixFcEJwQmhDLFFBQVEsQ29Cb0JpQyxVQUFVLEdBQUk7O0FBQTdELEFBQUEsWUFBWSxDQUFGO0VBQUUsMEJBQTBCLEVwQm5CN0IsV0FBVyxDb0JtQjJCLFVBQVUsR0FBSTs7QUFBN0QsQUFBQSxVQUFVLENBQUE7RUFBRSwwQkFBMEIsRXBCbEIvQix1Q0FBdUMsQ29Ca0JDLFVBQVUsR0FBSTs7QUFBN0QsQUFBQSxXQUFXLENBQUQ7RUFBRSwwQkFBMEIsRXBCakI5Qix3Q0FBd0MsQ29CaUJELFVBQVUsR0FBSTs7QUFBN0QsQUFBQSxjQUFjLENBQUo7RUFBRSwwQkFBMEIsRXBCaEIzQix1Q0FBdUMsQ29CZ0JILFVBQVUsR0FBSTs7QUFNN0QsQUFBQSxZQUFZLENBQUk7RUFBRSxnQkFBZ0IsRXBCckMvQixLQUFLLENvQnFDbUMsVUFBVSxHQUFJOztBQUF6RCxBQUFBLFdBQVcsQ0FBSztFQUFFLGdCQUFnQixFcEJwQ2hDLEtBQUssQ29Cb0NvQyxVQUFVLEdBQUk7O0FBUTdELEFBQUEsTUFBTSxDQUFJO0VuQnRFVixjQUFjLEVBQUUsT0FBYyxHbUJzRWU7O0FqQmpFN0MsVUFBVSxDQUFWLE9BQVU7RUFHTixFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBRzNDLFNBQVEsRUFBQyxjQUFDO0VBSGQsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUczQyxTQUFRLEVBQUMsZUFBQzs7QWlCNERsQixBQUFBLFFBQVEsQ0FBRTtFbkJ2RVYsY0FBYyxFQUFFLGFBQWMsR21CdUVjOztBakJsRTVDLFVBQVUsQ0FBVixhQUFVO0VBR04sRUFBRTtJQUdFLFNBQVEsRUFBQyxjQUFDO0VBSGQsSUFBSTtJQUdBLFNBQVEsRUFBQyxTQUFDOztBaUI2RGxCLEFBQUEsU0FBUyxDQUFDO0VuQnhFVixjQUFjLEVBQUUsYUFBYyxHbUJ3RW1COztBakJuRWpELFVBQVUsQ0FBVixhQUFVO0VBR04sRUFBRTtJQUdFLFNBQVEsRUFBQyxTQUFDO0VBSGQsSUFBSTtJQUdBLFNBQVEsRUFBQyxhQUFDOztBaUI4RGxCLEFBQUEsT0FBTyxDQUFHO0VuQnpFVixjQUFjLEVBQUUsV0FBYyxHbUJ5RWdCOztBakJwRTlDLFVBQVUsQ0FBVixXQUFVO0VBR04sR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBR1QsU0FBUSxFQUFDLFlBQUM7RUFIZCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBR2QsU0FBUSxFQUFDLGFBQUM7RUFIZCxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBR2QsU0FBUSxFQUFDLFNBQUM7O0FpQmdFbEIsQUFBQSxNQUFNO0FBQ04sUUFBUTtBQUNSLFNBQVM7QUFDVCxPQUFPLENBQUM7RUFDTixrQkFBa0IsRXBCL0RYLEtBQUssR29CZ0ViOztBQUlELEFBQUEsU0FBUyxDQUFDO0VBQUUseUJBQXlCLEVBQUUsUUFBUSxHQUFJOztBQWxDL0MsQUFBQSxLQUFLLENBc0NLO0VBQUUsa0JBQWtCLEVwQnZFNUIsS0FBSyxDb0J1RWdDLFVBQVUsR0FBSTs7QUF0Q3JELEFBQUEsS0FBSyxDQXNDSztFQUFFLGtCQUFrQixFcEJ0RTVCLEtBQUssQ29Cc0VnQyxVQUFVLEdBQUk7O0FBaENyRCxBQUFBLE9BQU8sQ0FzQ0c7RUFBRSx5QkFBeUIsRXBCN0RqQyxNQUFNLENvQjZEb0MsVUFBVSxHQUFJOztBQXRDNUQsQUFBQSxLQUFLLENBc0NLO0VBQUUseUJBQXlCLEVwQjVEbkMsSUFBSSxDb0I0RHdDLFVBQVUsR0FBSTs7QUF0QzVELEFBQUEsUUFBUSxDQXNDRTtFQUFFLHlCQUF5QixFcEIzRGhDLE9BQU8sQ29CMkRrQyxVQUFVLEdBQUk7O0FBdEM1RCxBQUFBLFNBQVMsQ0FzQ0M7RUFBRSx5QkFBeUIsRXBCMUQvQixRQUFRLENvQjBEZ0MsVUFBVSxHQUFJOztBQXRDNUQsQUFBQSxZQUFZLENBc0NGO0VBQUUseUJBQXlCLEVwQnpENUIsV0FBVyxDb0J5RDBCLFVBQVUsR0FBSTs7QUF0QzVELEFBQUEsVUFBVSxDQXNDQTtFQUFFLHlCQUF5QixFcEJ4RDlCLHVDQUF1QyxDb0J3REEsVUFBVSxHQUFJOztBQXRDNUQsQUFBQSxXQUFXLENBc0NEO0VBQUUseUJBQXlCLEVwQnZEN0Isd0NBQXdDLENvQnVERixVQUFVLEdBQUk7O0FBdEM1RCxBQUFBLGNBQWMsQ0FzQ0o7RUFBRSx5QkFBeUIsRXBCdEQxQix1Q0FBdUMsQ29Cc0RKLFVBQVUsR0FBSTs7QUFoQzVELEFBQUEsWUFBWSxDQXNDSTtFQUFFLGVBQWUsRXBCM0U5QixLQUFLLENvQjJFa0MsVUFBVSxHQUFJOztBQXRDeEQsQUFBQSxXQUFXLENBc0NLO0VBQUUsZUFBZSxFcEIxRS9CLEtBQUssQ29CMEVtQyxVQUFVLEdBQUk7O0FDNUY5RCwyQ0FBMkM7QUVQM0MsQUFBQSxhQUFhLENBQUM7RUFHYixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBT1gsT0FBTyxFREdzQixHQUFHLENDSEUsQ0FBQyxDRElMLEdBQUc7RUNGakMsT0FBTyxFQUFFLElBQUksR0EyRmI7RW5JeURLLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SW1JbEs1QyxBQUFBLGFBQWEsQ0FBQztNQWlCWixPQUFPLEVBQUUsS0FBSyxHQXdGZjtFQXpHRCxBQW9CQyxhQXBCWSxDQW9CWixVQUFVLENBQUM7SUFDVixTQUFTLEV6STZEQyxLQUE2QztJeUk1RHZELE1BQU0sRUFBRSxNQUFNLEdBQ2Q7RUF2QkYsQUF5QkMsYUF6QlksQ0F5QlosS0FBSyxDQUFDO0lBQ0wsWUFBWSxFQUFFLElBQUk7SUFHbEIsV0FBVyxFQUFFLENBQUMsR0EyRWQ7SUF4R0YsQUErQkUsYUEvQlcsQ0F5QlosS0FBSyxDQU1KLEVBQUUsQ0FBQztNQUNGLE1BQU0sRURsQjhCLElBQUk7TUNtQnhDLGNBQWMsRUFBRSxHQUFHLEdBRW5CO0lBbkNILEFBcUNFLGFBckNXLENBeUJaLEtBQUssQ0FZSixFQUFFLEFBQUEsY0FBYyxDQUFDO01BQ2hCLGFBQWEsRUFBRSxNQUFNLEdBS3JCO01BM0NILEFBd0NHLGFBeENVLENBeUJaLEtBQUssQ0FZSixFQUFFLEFBQUEsY0FBYyxBQUdkLElBQUssQ0FBQSxhQUFhLEVBQUU7UUFDcEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBaUIsR0FDekM7SUExQ0osQUE2Q0UsYUE3Q1csQ0F5QlosS0FBSyxDQW9CSixDQUFDLENBQUM7TUFDRCxPQUFPLEVBQUUsQ0FBQztNQUNWLE1BQU0sRUFBRSxDQUFDO01BQ1QsV0FBVyxFQUFFLEtBQXdDO01BQ3JELFNBQVMsRUFBRSxJQUF3QztNQUNuRCxTQUFTLEVBQUUsS0FBeUM7TUFDcEQsY0FBYyxFQUFFLEdBQUcsR0FDbkI7SUFwREgsQUFzREUsYUF0RFcsQ0F5QlosS0FBSyxDQTZCSixhQUFhLENBQUM7TUFDYixXQUFXLEVBQUUsR0FBRztNQUVoQixZQUFZLEVBQUUsSUFBSSxHQTZCbEI7TUF0RkgsQUEyREcsYUEzRFUsQ0F5QlosS0FBSyxDQTZCSixhQUFhLENBS1osV0FBVyxDQUFDO1FBQ1gsT0FBTyxFQUFFLFlBQVk7UUFDckIsY0FBYyxFQUFFLEdBQUc7UUFDbkIsVUFBVSxFQUFFLDBDQUEwQztRQUN0RCxlQUFlLEVBQUUsT0FBTztRQUN4QixpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLG1CQUFtQixFQUFFLEtBQUs7UUFFMUIsTUFBTSxFQUFFLGlCQUFxRDtRQUM3RCxLQUFLLEVBQUcsaUJBQXFEO1FBQzdELFVBQVUsRUFBRyxnQkFBb0Q7UUFDakUsWUFBWSxFQUFHLGlCQUFxRCxHQUNwRTtNQXZFSixBQXlFRyxhQXpFVSxDQXlCWixLQUFLLENBNkJKLGFBQWEsQ0FtQlosZUFBZSxDQUFDO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1g7TUE3RUosQUErRUcsYUEvRVUsQ0F5QlosS0FBSyxDQTZCSixhQUFhLENBeUJaLENBQUMsQ0FBQztRQUNELE9BQU8sRUFBRSxZQUFZLEdBS3JCO0lBckZKLEFBd0ZFLGFBeEZXLENBeUJaLEtBQUssQ0ErREosZ0JBQWdCLENBQUM7TUFFaEIsY0FBYyxFQUFFLFNBQVMsR0FTekI7SUFuR0gsQUFxR0UsYUFyR1csQ0F5QlosS0FBSyxDQTRFSixnQkFBZ0IsQ0FBQztNQUNoQixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QW5JMkRHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7RW1JdEQ1QyxBQUFBLGVBQWUsQ0FBQztJQUVkLEdBQUcsRUFBRSxDQUFDLEdBR1A7O0FyRDlHQyxBQUFBLE9BQU8sQ3FEZ0hEO0VBQ1AsT0FBTyxFQUFDLEVBQUUsR0FDVjs7QUFFRCxBQUNDLFFBRE8sQ0FDUCxTQUFTLEFBQUEsVUFBVSxDQUFDO0VGeEhqQixrQkFBa0IsRUV5SEEsR0FBRyxDQUFFLENBQUMsQ0FBRSxJQUFJLENBQUUsT0FBa0I7RUZ4SGxELGVBQWUsRUV3SEcsR0FBRyxDQUFFLENBQUMsQ0FBRSxJQUFJLENBQUUsT0FBa0I7RUZ2SGxELFVBQVUsRUV1SFEsR0FBRyxDQUFFLENBQUMsQ0FBRSxJQUFJLENBQUUsT0FBa0IsR0FFcEQ7O0FBaUJGLEFBQUEsUUFBUSxDQUFDO0VBRVIsT0FBTyxFQUFFLEVBQUU7RUFFWCxRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxDQUFDO0VBT04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsTUFBTSxHQTRSZDtFbkluUkssTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJbUl0QjVDLEFBQUEsUUFBUSxDQUFDO01BUVAsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFRHBJeUIsSUFBbUcsR0NvYWhJO0VBelNELEFBcUJDLFFBckJPLENBcUJQLGNBQWMsQ0FBQztJQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2I7RUF2QkYsQUF5QkMsUUF6Qk8sQ0F5QlAsVUFBVSxDQUFDO0lBQ1YsVUFBVSxFNUk3R0osT0FBTztJNEk4R2IsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLEM1STdFSixPQUFPO0k0SThFM0IsT0FBTyxFQUFFLEdBQUcsR0E0UVo7SUF4U0YsQUE4QkUsUUE5Qk0sQ0F5QlAsVUFBVSxDQUtULElBQUksRUE5Qk4sUUFBUSxDQXlCUCxVQUFVLENNaVZWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ043WFQsUUFBUSxDQXlCUCxVQUFVLENNc1dQLEVBQUUsRU4vWE4sUUFBUSxDQXlCUCxVQUFVLENReVVWLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEVBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDUmhhbEIsUUFBUSxDQXlCUCxVQUFVLENRMlpOLEVBQUUsQ1J0WkE7TUFBRSxTQUFTLEVBQUUsS0FBSyxHQUFJO0lBOUI3QixBQWlDRSxRQWpDTSxDQXlCUCxVQUFVLENBUVQsWUFBWSxFQWpDZCxRQUFRLENBeUJQLFVBQVUsQ0FRSyxjQUFjLEVBakM5QixRQUFRLENBeUJQLFVBQVUsQ0FRcUIsYUFBYSxDQUFBO01BQzFDLE9BQU8sRUFBRSxHQUFHLEdBQ1o7SUFuQ0gsQUFxQ0UsUUFyQ00sQ0F5QlAsVUFBVSxDQVlULFlBQVksQ0FBQztNQUdaLE1BQU0sRUQ1S2MsSUFBSTtNekdzR3pCLElBQUksRUFyREssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO01IekNmLGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsR3lJMklWO01uSWhFRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1FtSXRCNUMsQUFxQ0UsUUFyQ00sQ0F5QlAsVUFBVSxDQVlULFlBQVksQ0FBQztVQU1YLE1BQU0sRURoTGMsSUFBSSxHQzJOekI7TUF0RkgsQUFnREcsUUFoREssQ0F5QlAsVUFBVSxDQVlULFlBQVksQ0FXWCxLQUFLLENBQUM7UUFDTCxNQUFNLEVBQUUsSUFBSSxHQW9DWjtRQXJGSixBQW1ESSxRQW5ESSxDQXlCUCxVQUFVLENBWVQsWUFBWSxDQVdYLEtBQUssQ0FHSixDQUFDLENBQUM7VUFDRCxNQUFNLEVBQUUsQ0FBQztVQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1Y7UUF0REwsQUF3REksUUF4REksQ0F5QlAsVUFBVSxDQVlULFlBQVksQ0FXWCxLQUFLLENBUUosT0FBTyxDQUFDO1VBQ1AsS0FBSyxFQUFFLElBQUk7VUFDWCxNQUFNLEVBQUUsSUFBMEI7VUFFbEMsWUFBWSxFQUFFLE1BQU07VUFHbkIsUUFBUSxFQUFFLFFBQVE7VUFDbEIsR0FBRyxFQUFFLEdBQUc7VUFDUixTQUFTLEVBQUUsZ0JBQWdCLEdBbUI1QjtVbkk5REMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtZbUl0QjVDLEFBd0RJLFFBeERJLENBeUJQLFVBQVUsQ0FZVCxZQUFZLENBV1gsS0FBSyxDQVFKLE9BQU8sQ0FBQztjQWNOLE1BQU0sRUFBRSxNQUEyQjtjQUVuQyxTQUFTLEVBQUUsZ0JBQWdCLEdBWTVCO1VuSTlEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1ltSXRCNUMsQUF3REksUUF4REksQ0F5QlAsVUFBVSxDQVlULFlBQVksQ0FXWCxLQUFLLENBUUosT0FBTyxDQUFDO2NBdUJOLE1BQU0sRUFBRSxNQUEyQjtjQUNuQyxTQUFTLEVBQUUsZ0JBQWdCO2NBQzNCLFNBQVMsRUFBRSxnQkFBZ0IsR0FHNUI7SUFwRkwsQUF3RkUsUUF4Rk0sQ0F5QlAsVUFBVSxDQStEVCxhQUFhLENBQUM7TTFHdEhkLElBQUksRUFyREssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO01IekNmLGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUM7TXlJaUpWLGFBQWEsRUFBRSxJQUFJLEdBa0RuQjtNbkl4SEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtRbUl0QjVDLEFBOEZHLFFBOUZLLENBeUJQLFVBQVUsQ0ErRFQsYUFBYSxDQU1aLGdCQUFnQixDQUFDO1VBRWYsT0FBTyxFQUFFLElBQUksR0FFZDtNQWxHSixBQThGRyxRQTlGSyxDQXlCUCxVQUFVLENBK0RULGFBQWEsQ0FNWixnQkFBZ0IsQ0FNQztRQUNoQixLQUFLLEVBQUUsS0FBSztRQUNaLE9BQU8sRUFBRSxLQUFLO1FBR2IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLEdBQUc7UUFDUixTQUFTLEVBQUUsZ0JBQWdCLEdBVTVCO1FuSS9GRSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1VtSXRCNUMsQUE4RkcsUUE5RkssQ0F5QlAsVUFBVSxDQStEVCxhQUFhLENBTVosZ0JBQWdCLENBTUM7WUFVZixPQUFPLEVBQUUsSUFBSSxHQU9kO1FBckhKLEFBZ0hJLFFBaEhJLENBeUJQLFVBQVUsQ0ErRFQsYUFBYSxDQVlaLGdCQUFnQixDQVlmLFVBQVUsQ0FBQztVbEl6SmIsUUFBUSxFQUFFLFFBQVE7VUFDbEIsT0FBTyxFQUFFLFlBQVk7VUFDckIsY0FBYyxFQUFFLE1BQU07VUFDdEIsS0FBSyxFa0l1SjhDLElBQUk7VWxJdEp2RCxNQUFNLEVrSXNKbUQsSUFBSTtVbElySjdELE1BQU0sRUFBRSxPQUFPLEdrSXdKWjtVQXBITCxBbElqQ0UsUWtJaUNNLENBeUJQLFVBQVUsQ0ErRFQsYUFBYSxDQVlaLGdCQUFnQixDQVlmLFVBQVUsQWxJakpYLE9BQU8sQ0FBQztZQUNQLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLEdBQUcsRUFBRSxDQUFDO1lBQ04sSUFBSSxFQUFFLENBQUM7WUFFUCxPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFa0kySXVELEdBQUc7WWxJekloRSxVQUFVLEVWdkRHLE9BQU87WVV3RHBCLFVBQVUsRUF0QmUsQ0FBQyxDQURqQixHQUErQixDQUNMLENBQUMsQ1ZsQ3ZCLE9BQU8sRVVrQ0ssQ0FBQyxDQURqQixJQUErQixDQUNMLENBQUMsQ1ZsQ3ZCLE9BQU87WVUwRHBCLE9BQU8sRUFBRSxFQUFFLEdBQ1o7VWtJb0JILEFsSVZJLFFrSVVJLENBeUJQLFVBQVUsQ0ErRFQsYUFBYSxDQVlaLGdCQUFnQixDQVlmLFVBQVUsQWxJMUhULE1BQU0sQUFBQSxPQUFPLENBQUM7WUFDYixVQUFVLEVWaEVBLE9BQU87WVVpRWpCLFVBQVUsRUFMMkIsQ0FBQyxDQUQ3QixHQUErQixDQUNPLENBQUMsQ1Y1RHRDLE9BQU8sRVU0RG9CLENBQUMsQ0FEN0IsSUFBK0IsQ0FDTyxDQUFDLENWNUR0QyxPQUFPLEdVa0VsQjtNa0lPTCxBQXVIRyxRQXZISyxDQXlCUCxVQUFVLENBK0RULGFBQWEsQ0ErQlosWUFBWSxDQUFDO1E3RWhMZCxPQUFPLEVBQUUsWUFBWTtRQUNyQixjQUFjLEVBQUUsTUFBTTtRQUN0QixNQUFNLEUvRHNPUSxDQUFDLENBQUMsQ0FBQyxDQTNNSCxJQUFJLENBMk1lLENBQUM7UStEck9sQyxXQUFXLEVBbEZRLE9BQU87UUE0RnhCLE9BQU8sRS9EME5NLEdBQUcsQ0FBQyxLQUFLO1ErRHZOeEIsa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixNQUFNLEVBQUUscUJBQXFCO1FBQzdCLGFBQWEsRS9EZUMsR0FBRztRK0RkakIsVUFBVSxFL0R1T1EsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVE7UStEdE92RSxTQUFTLEUvRCtOQSxNQUFNO1ErRDlOZixXQUFXLEVBQUUsQ0FBQztRQUNkLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE1BQU0sRUFBRSxPQUFPO1FBcUNmLGdCQUFnQixFL0R0RUYsT0FBTztRK0R1RXJCLEtBQUssRS9EdkZDLE9BQU87UTRJNE1YLE1BQU0sRUFBRSxDQUFDO1FBRVQsT0FBTyxFQUFFLFdBQVc7UUFDcEIsY0FBYyxFQUFFLFNBQVM7UUFHeEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLEdBQUc7UUFDUixTQUFTLEVBQUUsZ0JBQWdCO1FBRTVCLE9BQU8sRUFBRSxJQUFJLEdBVWI7U2xJdEZGLEFBQUEsQUFBQSxjQUFDLENBQWUsT0FBTyxBQUF0QixFa0l2REgsUUFBUSxDQXlCUCxVQUFVLENBK0RULGFBQWEsQ0ErQlosWUFBWSxDbEloRWM7VUFDekIsT0FBTyxFQUFFLENBQUMsR0FDWDtRa0l6REgsQTdFTUUsUTZFTk0sQ0F5QlAsVUFBVSxDQStEVCxhQUFhLENBK0JaLFlBQVksQTdFakhaLE1BQU0sRTZFTlQsUUFBUSxDQXlCUCxVQUFVLENBK0RULGFBQWEsQ0ErQlosWUFBWSxBN0VqSEgsTUFBTSxDQUFDO1VBQ2YsZ0JBQWdCLEU2RWlIcUIsT0FBdUI7VTdFaEg1RCxLQUFLLEUvRDNGRCxPQUFPLEcrRDRGWjtRdERhRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1VtSXRCNUMsQUF1SEcsUUF2SEssQ0F5QlAsVUFBVSxDQStEVCxhQUFhLENBK0JaLFlBQVksQ0FBQztZQWVYLE9BQU8sRUFBRSxLQUFLLEdBT2Y7UW5JdkhFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7VW1JdEI1QyxBQXVIRyxRQXZISyxDQXlCUCxVQUFVLENBK0RULGFBQWEsQ0ErQlosWUFBWSxDQUFDO1lBbUJYLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLFlBQVksR0FFdEI7SUE3SUosQUFrSkUsUUFsSk0sQ0F5QlAsVUFBVSxDQXlIVCxjQUFjLENBQUM7TUFDZCxPQUFPLEVBQUMsSUFBSSxHQW9KWjtNbklqUkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtRbUl0QjVDLEFBa0pFLFFBbEpNLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQUFDO1UxR2hMZixJQUFJLEVBeERHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztVSHRDWixhQUFhLEU1QnVFTCxDQUFDO1U0QnRFVCxZQUFZLEU1QnNFSixDQUFDO1UrQkpULFNBQVMsRUFBRSxDQUFDO1UwR2dOWixPQUFPLEVBQUUsS0FBSyxHQWdKZjtNQXZTSCxBQStKTyxRQS9KQyxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxHQUNILEVBQUUsQUFFRixNQUFNLEdBRUwsQ0FBQyxFQS9KVCxRQUFRLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLEdBQ0gsRUFBRSxBQUVPLGFBQWEsR0FFckIsQ0FBQyxDQUFDO1FBQ0YsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLEM1SS9PZixPQUFPO1E0SWdQaEIsbUJBQW1CLEU1STFPWCxPQUFPLEc0STJPZjtNQWxLUixBQXNLTSxRQXRLRSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxHQUNILEVBQUUsR0FXRCxDQUFDLENBQUM7UUFDSCxNQUFNLEVENVNXLElBQUk7UUM2U3JCLFdBQVcsRUFBRSxPQUEwQjtRQUN2QyxTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFlBQVksRUFBRyxNQUFNO1FBQ3JCLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLGNBQWMsRUFBRSxTQUFTLEdBYXpCO1FuSXBLRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1VtSXRCNUMsQUFzS00sUUF0S0UsQ0F5QlAsVUFBVSxDQXlIVCxjQUFjLENBUWIsRUFBRSxBQUFBLEtBQUssR0FDSCxFQUFFLEdBV0QsQ0FBQyxDQUFDO1lBVUYsU0FBUyxFQUFFLElBQUk7WUFDZixZQUFZLEVBQUcsSUFBSTtZQUNuQixhQUFhLEVBQUUsSUFBSSxHQVFwQjtRbkl6S0QsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7VW1JakIvQyxBQXNLTSxRQXRLRSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxHQUNILEVBQUUsR0FXRCxDQUFDLENBQUM7WUFnQkYsWUFBWSxFQUFHLE1BQU07WUFDckIsYUFBYSxFQUFFLE1BQU0sR0FHdEI7TUExTFAsQUFnTUksUUFoTUksQ0F5QlAsVUFBVSxDQXlIVCxjQUFjLENBUWIsRUFBRSxBQUFBLEtBQUssQ0FzQ0osRUFBRSxBQUFBLE1BQU0sR0FBRyxFQUFFLEFBQUEsaUJBQWlCO01BaE1wQyxRQUFRLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLENBdUNKLEVBQUUsQUFBQSxhQUFhLEdBQUcsRUFBRSxBQUFBLGlCQUFpQjtNQWpNM0MsUUFBUSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQXdDSixFQUFFLENBQUMsRUFBRSxBQUFBLGlCQUFpQixBQUFBLE1BQU0sQ0FBQztRQUM5QixVQUFVLEVBQUUsT0FBTztRQUNuQixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxJQUFJLEdBRWI7TUF2TUwsQUEwTUksUUExTUksQ0F5QlAsVUFBVSxDQXlIVCxjQUFjLENBUWIsRUFBRSxBQUFBLEtBQUssQ0FnRE4sa0JBQWtCLENBQUM7UUFDbEIsTUFBTSxFQUFFLE1BQU07UUFDZCxZQUFZLEVBQUUsSUFBSTtRQUNsQixhQUFhLEVBQUUsSUFBSTtRQUVuQixTQUFTLEVBQUUsZUFBZSxHQU0xQjtRbkkvTEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtVbUl0QnhDLEFBME1JLFFBMU1JLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLENBZ0ROLGtCQUFrQixDQUFDO1lBUWpCLFlBQVksRUFBRSwwQkFBc0M7WUFDcEQsYUFBYSxFQUFFLDBCQUFzQyxHQUV0RDtNQXJOTCxBQXdOSSxRQXhOSSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBQUM7UUFFbkIsVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUMsSUFBSTtRQUVaLFFBQVEsRUFBRSxLQUFLO1FBRWYsS0FBSyxFQUFFLElBQUk7UUFJWCxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUUsSUFBSTtRQUNqQixjQUFjLEVBQUUsSUFBSTtRQUNwQixVQUFVLEU1STVUUCxPQUFPO1E0STZUVixVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQzVJNVJKLE9BQU87UTBJMUZ6QixrQkFBa0IsRUV1WEcsQ0FBQyxDQUFFLEdBQUcsQ0FBRSxHQUFHLENBQUUsT0FBa0I7UUZ0WHBELGVBQWUsRUVzWE0sQ0FBQyxDQUFFLEdBQUcsQ0FBRSxHQUFHLENBQUUsT0FBa0I7UUZyWHBELFVBQVUsRUVxWFcsQ0FBQyxDQUFFLEdBQUcsQ0FBRSxHQUFHLENBQUUsT0FBa0IsR0EwRG5EO1FBclNMLEFBOE9LLFFBOU9HLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLENBOEROLEVBQUUsQUFBQSxpQkFBaUIsQ0FzQmxCLEVBQUUsQUFBQSxhQUFhLENBQUM7VTFHNVFuQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkI7VTZHbVhuQyxVQUFVLEVBQUUsSUFBSTtVQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQzVJelVmLE9BQU87VTRJMFVULFVBQVUsRUFBRSxLQUFLLEdBNkNqQjtVbkluUkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7WW1JakIvQyxBQThPSyxRQTlPRyxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBc0JsQixFQUFFLEFBQUEsYUFBYSxDQUFDO2M3RzFXakIsYUFBYSxFQUZILE9BQTJCO2NBR3JDLFlBQVksRUFIRixPQUEyQixHNkdrYW5DO1VuSTlRQSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1ltSXRCNUMsQUE4T0ssUUE5T0csQ0F5QlAsVUFBVSxDQXlIVCxjQUFjLENBUWIsRUFBRSxBQUFBLEtBQUssQ0E4RE4sRUFBRSxBQUFBLGlCQUFpQixDQXNCbEIsRUFBRSxBQUFBLGFBQWEsQ0FBQztjMUc1UW5CLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7Y00yRm5ELFNBQVMsRU4zRkMsU0FBeUM7Y0dQbkQsYUFBYSxFQUZILFNBQTJCO2NBR3JDLFlBQVksRUFIRixTQUEyQixHNkdrYW5DO0VuSW5SQSxNQUFNLENBQVEsTUFBNEIsTUFLdkIsU0FBUyxFQUFFLFFBQVEsT0FMWixTQUFTLEVBQUUsSUFBSTtJbUlqQi9DLEFBOE9LLFFBOU9HLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLENBOEROLEVBQUUsQUFBQSxpQkFBaUIsQ0FzQmxCLEVBQUUsQUFBQSxhQUFhLENBQUM7TTdHMVdqQixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEc2R2thbkM7VUFwU04sQUEwUE0sUUExUEUsQ0F5QlAsVUFBVSxDQXlIVCxjQUFjLENBUWIsRUFBRSxBQUFBLEtBQUssQ0E4RE4sRUFBRSxBQUFBLGlCQUFpQixDQXNCbEIsRUFBRSxBQUFBLGFBQWEsQ0FZZCxZQUFZLENBQUM7WTFHeFJqQixJQUFJLEVBckRLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZSHpDZixhQUFhLEU1QnVFTCxDQUFDO1k0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEd5SXdUTjtZQW5RUCxBQTZQTyxRQTdQQyxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBc0JsQixFQUFFLEFBQUEsYUFBYSxDQVlkLFlBQVksQ0FHWCxTQUFTLENBQUM7Y0FDVCxJQUFJLEVBQUUsWUFBWTtjQUNsQixLQUFLLEVBQUUsT0FBeUI7Y0FDaEMsTUFBTSxFQUFFLElBQUk7Y0FDWixLQUFLLEVBQUUsSUFBSSxHQUNYO1VBbFFSLEFBcVFNLFFBclFFLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLENBOEROLEVBQUUsQUFBQSxpQkFBaUIsQ0FzQmxCLEVBQUUsQUFBQSxhQUFhLENBdUJkLFlBQVksQ0FBQztZMUduU2pCLElBQUksRUF4REcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO1lIdENaLGFBQWEsRUFGSCxTQUEyQjtZQUdyQyxZQUFZLEVBSEYsU0FBMkI7WUdxRXJDLFNBQVMsRUFBRSxDQUFDLEcwR2lWVDtZbkl2UUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7Y21JakIvQyxBQXFRTSxRQXJRRSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBc0JsQixFQUFFLEFBQUEsYUFBYSxDQXVCZCxZQUFZLENBQUM7Z0I3R2pZZixhQUFhLEVBRkgsT0FBMkI7Z0JBR3JDLFlBQVksRUFIRixPQUEyQixHNkdzWmxDO1lBeFJQLEFBd1FPLFFBeFFDLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLENBOEROLEVBQUUsQUFBQSxpQkFBaUIsQ0FzQmxCLEVBQUUsQUFBQSxhQUFhLENBdUJkLFlBQVksQ0FHWCxFQUFFLENBQUM7Y0FDRixXQUFXLEU1SWxQWSxhQUFhLEVBQUUsVUFBVTtjNEltUGhELFNBQVMsRUFBRSxJQUFJO2NBQ2YsV0FBVyxFQUFFLEdBQUc7Y0FDaEIsY0FBYyxFQUFFLEtBQUs7Y0FDckIsV0FBVyxFQUFFLENBQUM7Y0FDZCxhQUFhLEVBQUUsSUFBSTtjQUVuQixLQUFLLEU1SXpWRyxPQUFPLEc0STBWZjtZQWpSUixBQW1STyxRQW5SQyxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBc0JsQixFQUFFLEFBQUEsYUFBYSxDQXVCZCxZQUFZLENBY1gsQ0FBQyxFQW5SUixRQUFRLENBeUJQLFVBQVUsQ0F5SFQsY0FBYyxDQVFiLEVBQUUsQUFBQSxLQUFLLENBOEROLEVBQUUsQUFBQSxpQkFBaUIsQ0FzQmxCLEVBQUUsQUFBQSxhQUFhLENBdUJkLFlBQVksQ0N6SmhCLFVBQVUsQ0R1S0g7Y0FDRCxTQUFTLEVBQUUsSUFBSTtjQUNmLFdBQVcsRUFBRSxHQUFHO2NBQ2hCLEtBQUssRUFBRSxPQUF1QixHQUM5QjtVQXZSUixBQTBSTSxRQTFSRSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBc0JsQixFQUFFLEFBQUEsYUFBYSxBQTRDYixNQUFNLEVBMVJiLFFBQVEsQ0F5QlAsVUFBVSxDQXlIVCxjQUFjLENBUWIsRUFBRSxBQUFBLEtBQUssQ0E4RE4sRUFBRSxBQUFBLGlCQUFpQixDQXNCbEIsRUFBRSxBQUFBLGFBQWEsQUE0Q0osYUFBYSxDQUFDO1lBQ3ZCLFVBQVUsRUFBRSxPQUFnQjtZQUM1QixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQzVJOVVGLE9BQU8sRzRJcVZ0QjtZQW5TUCxBQStSUSxRQS9SQSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBc0JsQixFQUFFLEFBQUEsYUFBYSxBQTRDYixNQUFNLENBSU4sWUFBWSxDQUNYLEVBQUUsRUEvUlYsUUFBUSxDQXlCUCxVQUFVLENBeUhULGNBQWMsQ0FRYixFQUFFLEFBQUEsS0FBSyxDQThETixFQUFFLEFBQUEsaUJBQWlCLENBc0JsQixFQUFFLEFBQUEsYUFBYSxBQTRDSixhQUFhLENBSXRCLFlBQVksQ0FDWCxFQUFFLENBQUM7Y0FDRixLQUFLLEU1SS9XRyxPQUFPLEc0SWdYZjs7QUFpRFQsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQixRQUFRLEVBQUUsTUFBTSxHQUNoQjs7QUFHRCxBQUFBLFdBQVcsQ0FBQztFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxpQkFBc0M7RUFDOUMsVUFBVSxFRDlkWSxJQUFJLEdDaWxCMUI7RUF0SEQsQUFPQyxXQVBVLENBT1YsRUFBRSxDQUFDO0lBQ0YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRTVJcmJKLE9BQU8sRzRJK2hCYjtJQXJIRixBQWFFLFdBYlMsQ0FPVixFQUFFLEdBTUMsRUFBRSxDQUFDO01BQ0osTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLEM1SWxhSCxPQUFPO000SW1hckIsbUJBQW1CLEVBQUUsR0FBRztNQUN4QixVQUFVLEVBQUUsSUFBSSxHQW1FaEI7TUFuRkgsQUFrQkcsV0FsQlEsQ0FPVixFQUFFLEdBTUMsRUFBRSxHQUtDLENBQUMsQ0FBRTtRQUNOLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEtBQUssRTVJamJPLE9BQU87UTRJa2JuQixTQUFTLEVBQUUsSUFBSSxHQUNmO01BdEJKLEFBMEJJLFdBMUJPLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FXSCxFQUFFLENBRUQsRUFBRSxDQUFDO1FBQ0YsVUFBVSxFQUFFLE9BQWtCO1FBRTlCLFlBQVksRUFBRSxPQUF1QjtRQUNyQyxPQUFPLEVBQUUsT0FBTyxHQXlDaEI7UUF2RUwsQUFpQ00sV0FqQ0ssQ0FPVixFQUFFLEdBTUMsRUFBRSxDQVdILEVBQUUsQ0FFRCxFQUFFLENBTUQsQ0FBQyxDQUNBLFFBQVEsQ0FBQztVakh6YWIsU0FBUyxFeEJUQyxLQUE2QztVK0JsRHJELFlBQVksRUFBRSxJQUFJO1VBQ2xCLFdBQVcsRUFBRSxJQUFJO1VBSWpCLE9BQU8sRUFBRSxJQUFJO1VBQ2IsU0FBUyxFQUFFLEdBQUcsQ0FsQkMsSUFBSSxHMEdtZmhCO1FBcENQLEFBc0NNLFdBdENLLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FXSCxFQUFFLENBRUQsRUFBRSxDQU1ELENBQUMsQ0FNQSxZQUFZLENBQUM7VTFHM1pqQixJQUFJLEVBckRLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtVSHpDZixhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEc2R29nQmxDO1VuSXJYRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtZbUlzVS9DLEFBc0NNLFdBdENLLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FXSCxFQUFFLENBRUQsRUFBRSxDQU1ELENBQUMsQ0FNQSxZQUFZLENBQUM7YzdHemZmLGFBQWEsRUFGSCxPQUEyQjtjQUdyQyxZQUFZLEVBSEYsT0FBMkIsRzZHb2dCbEM7VUEvQ1AsQUF5Q08sV0F6Q0ksQ0FPVixFQUFFLEdBTUMsRUFBRSxDQVdILEVBQUUsQ0FFRCxFQUFFLENBTUQsQ0FBQyxDQU1BLFlBQVksQ0FHWCxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsWUFBWTtZQUNsQixLQUFLLEVBQUUsT0FBeUI7WUFDaEMsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsSUFBSSxHQUNYO1FBOUNSLEFBaURNLFdBakRLLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FXSCxFQUFFLENBRUQsRUFBRSxDQU1ELENBQUMsQ0FpQkEsWUFBWSxDQUFDO1UxR3RhakIsSUFBSSxFQXhERyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7VUh0Q1osYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQjtVR3FFckMsU0FBUyxFQUFFLENBQUMsRzBHK2NUO1VuSXJZRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtZbUlzVS9DLEFBaURNLFdBakRLLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FXSCxFQUFFLENBRUQsRUFBRSxDQU1ELENBQUMsQ0FpQkEsWUFBWSxDQUFDO2M3R3BnQmYsYUFBYSxFQUZILE9BQTJCO2NBR3JDLFlBQVksRUFIRixPQUEyQixHNkdvaEJsQztVQS9EUCxBQW1ETyxXQW5ESSxDQU9WLEVBQUUsR0FNQyxFQUFFLENBV0gsRUFBRSxDQUVELEVBQUUsQ0FNRCxDQUFDLENBaUJBLFlBQVksQ0FFWCxFQUFFLENBQUM7WUFFRixTQUFTLEVBQUUsTUFBTTtZQUNqQixXQUFXLEVBQUUsR0FBRztZQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNuQjtVQXhEUixBQXlETyxXQXpESSxDQU9WLEVBQUUsR0FNQyxFQUFFLENBV0gsRUFBRSxDQUVELEVBQUUsQ0FNRCxDQUFDLENBaUJBLFlBQVksQ0FRWCxDQUFDLEVBekRSLFdBQVcsQ0FPVixFQUFFLEdBTUMsRUFBRSxDQVdILEVBQUUsQ0FFRCxFQUFFLENBTUQsQ0FBQyxDQWlCQSxZQUFZLENDNVJoQixVQUFVLENEb1NIO1lBQ0QsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFLE1BQU07WUFDakIsS0FBSyxFQUFFLE9BQXVCLEdBQzlCO1FBOURSLEFBa0VPLFdBbEVJLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FXSCxFQUFFLENBRUQsRUFBRSxDQU1ELENBQUMsQ0FpQ0EsbUJBQW1CLENBQ2xCLEVBQUUsRUFsRVQsV0FBVyxDQU9WLEVBQUUsR0FNQyxFQUFFLENBV0gsRUFBRSxDQUVELEVBQUUsQ0FNRCxDQUFDLENBaUNBLG1CQUFtQixDQUNkLENBQUMsRUFsRVosV0FBVyxDQU9WLEVBQUUsR0FNQyxFQUFFLENBV0gsRUFBRSxDQUVELEVBQUUsQ0FNRCxDQUFDLENBaUNBLG1CQUFtQixDQzVTdkIsVUFBVSxDRDZTQztVQUNMLFdBQVcsRUFBRSxJQUFJLEdBQ2pCO01BcEVSLEFBNkVHLFdBN0VRLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FnRUgsWUFBWSxDQUFDO1E3RTdkZCxPQUFPLEVBQUUsWUFBWTtRQUNyQixjQUFjLEVBQUUsTUFBTTtRQUN0QixNQUFNLEUvRHNPUSxDQUFDLENBQUMsQ0FBQyxDQTNNSCxJQUFJLENBMk1lLENBQUM7UStEck9sQyxXQUFXLEVBbEZRLE9BQU87UUE0RnhCLE9BQU8sRS9EME5NLEdBQUcsQ0FBQyxLQUFLO1ErRHZOeEIsa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixNQUFNLEVBQUUscUJBQXFCO1FBQzdCLGFBQWEsRS9EZUMsR0FBRztRK0RkakIsVUFBVSxFL0R1T1EsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVE7UStEdE92RSxTQUFTLEUvRCtOQSxNQUFNO1ErRDlOZixXQUFXLEVBQUUsQ0FBQztRQUNkLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE1BQU0sRUFBRSxPQUFPO1FBcUNmLGdCQUFnQixFL0R0RUYsT0FBTztRK0R1RXJCLEtBQUssRS9EdkZDLE9BQU87UTRJeWZYLE1BQU0sRUFBRSxVQUFVLEdBQ2xCO1NsSWhYRixBQUFBLEFBQUEsY0FBQyxDQUFlLE9BQU8sQUFBdEIsRWtJZ1NILFdBQVcsQ0FPVixFQUFFLEdBTUMsRUFBRSxDQWdFSCxZQUFZLENsSTdXYztVQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYO1FrSThSSCxBN0VqVkUsVzZFaVZTLENBT1YsRUFBRSxHQU1DLEVBQUUsQ0FnRUgsWUFBWSxBN0U5WlosTUFBTSxFNkVpVlQsV0FBVyxDQU9WLEVBQUUsR0FNQyxFQUFFLENBZ0VILFlBQVksQTdFOVpILE1BQU0sQ0FBQztVQUNmLGdCQUFnQixFQVBHLE9BQWlFO1VBUXBGLEtBQUssRS9EM0ZELE9BQU8sRytENEZaO0k2RThVSCxBQXNGRSxXQXRGUyxDQU9WLEVBQUUsR0ErRUMsRUFBRSxBQUFBLGNBQWMsQ0FBQTtNQUNqQixnQkFBZ0IsRUFBRSxHQUFHLEdBQ3JCO0lBeEZILEFBMkZFLFdBM0ZTLENBT1YsRUFBRSxHQW9GQyxFQUFFLEFBQUEsYUFBYSxDQUFBO01BQ2hCLG1CQUFtQixFQUFFLEdBQUcsR0FDeEI7SUE3RkgsQUFnR0UsV0FoR1MsQ0FPVixFQUFFLENBeUZELEVBQUUsQUFBQSxlQUFlLENBQUM7TUFDakIsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLE1BQU0sR0FpQmY7TUFuSEgsQUFvR0csV0FwR1EsQ0FPVixFQUFFLENBeUZELEVBQUUsQUFBQSxlQUFlLENBSWhCLE9BQU8sQ0FBQztRQUNQLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBSWhCO01BMUdKLEFBNEdHLFdBNUdRLENBT1YsRUFBRSxDQXlGRCxFQUFFLEFBQUEsZUFBZSxDQVloQixlQUFlLENBQUM7UUFDZixPQUFPLEVBQUUsWUFBWTtRQUNyQixNQUFNLEVBQUUsS0FBSztRQUNiLEtBQUssRUFBRSxLQUFLO1FBQ1osWUFBWSxFQUFFLElBQUk7UUFDbEIsY0FBYyxFQUFFLE1BQU0sR0FDdEI7O0FDM2xCSjs7Ozs7Ozs7OztFQVVFO0FBS0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFvQzBCO0E3SCtCdEIsQUFBQSxJQUFJLEM2SG5CRDtFQUlKLFdBQVcsRUFBRSx1QkFBdUIsR0FpQnBDO0VBckJELEFBTUMsSUFORyxDQU1ILG1CQUFtQixDQUFDO0lBQ25CLE1BQU0sRUZ4RGEsSUFBSSxHRTZEdkI7SXBJNkZFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TW9JekcxQyxBQU1DLElBTkcsQ0FNSCxtQkFBbUIsQ0FBQztRQUlsQixNQUFNLEVGbERtQixJQUFtRyxHRW9EN0g7RXBJNkZFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SW9JekcxQyxBQWNDLElBZEcsQ0FjSCxJQUFJLEFBQUEsYUFBYSxDQUFDO01BSWhCLFdBQVcsRUZwRVEsSUFBSSxHRXNFeEI7O0FBT0YsQUFBQSx5QkFBeUIsRUE0YzFCLFFBQVEsRUN0aUJULElBQUksRUE0Rkosa0JBQWtCLEVFM0VqQixVQUFVLEVEK0NWLGVBQWUsQ0YwQlk7RUFDekIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUksR0FNcEI7RXBJc0VHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7SW9JOUUzQyxBQUFBLHlCQUF5QixFQTRjMUIsUUFBUSxFQ3RpQlQsSUFBSSxFQTRGSixrQkFBa0IsRUUzRWpCLFVBQVUsRUQrQ1YsZUFBZSxDRjBCWTtNQUt4QixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsSUFBSSxHQUVyQjs7QUFTRCxBQUFBLG1CQUFtQixFQTJicEIsUUFBUSxDQU1QLFVBQVUsRUM1aUJaLElBQUksQ0Q0aUJGLFVBQVUsRUNoZFosa0JBQWtCLENEZ2RoQixVQUFVLEVHM2hCWCxVQUFVLENIMmhCVCxVQUFVLEVTNWlCWixhQUFhLENBR1osVUFBVSxDQUdULFFBQVEsRUNOVixlQUFlLENBUWQsVUFBVSxDVm1HVztFQUNuQixTQUFTLEUxSXBCQSxLQUE2QztFMElxQnRELE1BQU0sRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSwyQkFBMkIsRUFzYjVCLFFBQVEsQ0FNUCxVQUFVLEVDNWlCWixJQUFJLENENGlCRixVQUFVLEVDaGRaLGtCQUFrQixDRGdkaEIsVUFBVSxFRzNoQlgsVUFBVSxDSDJoQlQsVUFBVSxFQWkzQlgsT0FBTyxBQUFBLFFBQVEsQ0FDZCxVQUFVLEVXeHpCWiw4QkFBOEIsQ1h0ZkE7RUFDM0IsT0FBTyxFQUFFLE1BQU0sR0FDZjs7QUF5RUQsQUFBQSxpQkFBaUIsRU9wTGxCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENBVUosSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQXRHMUIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0Z5WlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VwYUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVGK1kxQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDRjhhTCxFQUFFLENFcGFJLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQXVZMUIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0FtZUosRUFBRSxDQXpkRyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ1A4RVA7RUFFakIsV0FBVyxFN0lwQmlCLGFBQWEsRUFBRSxVQUFVLEc2SXFCckQ7O0E3SHRGQyxBQUFBLEVBQUUsQzZId0ZEO0VBSUYsYUFBYSxFQUFFLEtBQUs7RUFDcEIsV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFFRixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUVGLFdBQVcsRUFBRSxHQUFHLEdBR2hCOztBQUVELEFBQUEsRUFBRSxDQUFDO0VBRUYsV0FBVyxFQUFFLEdBQUcsR0FHaEI7O0FBV0QsQUFBQSxXQUFXLEVBa1VaLFFBQVEsQ0FnRFAsUUFBUSxDQWFQLEVBQUUsRUNubUJMLElBQUksQ0RzbEJGLFFBQVEsQ0FhUCxFQUFFLEVDdmdCTCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0FhUCxFQUFFLEVHbGxCSixVQUFVLENIcWtCVCxRQUFRLENBYVAsRUFBRSxFRW5pQkosZUFBZSxDQU1kLFVBQVUsQ0FPVCxPQUFPLENBR04sRUFBRSxFTTdETCx1QkFBdUIsQ0FVdEIsRUFBRSxDUnVNVTtFQUNYLFdBQVcsRUFBRSxHQUFHLEdBQ2hCOztBQUVELEFBQUEsV0FBVyxFQThUWixRQUFRLENBZ0RQLFFBQVEsQ0F1QlAsRUFBRSxFQzdtQkwsSUFBSSxDRHNsQkYsUUFBUSxDQXVCUCxFQUFFLEVDamhCTCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0F1QlAsRUFBRSxFRzVsQkosVUFBVSxDSHFrQlQsUUFBUSxDQXVCUCxFQUFFLENBcllTO0VBRVgsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsY0FBYyxFQUFFLEtBQUssR0FDckI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFFWCxXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsTUFBTTtFQUN0QixjQUFjLEVBQUUsS0FBSyxHQUNyQjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUdYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxLQUFLLEdBQ3JCOztBQVNELEFBQUEsT0FBTyxFQ3JIVCx3Q0FBd0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENBcUJYLFlBQVksQ0FRWCxFQUFFLEVNbVRSLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBbUJELEVBQUUsQUFBQSxTQUFTLENBTVYsRUFBRSxFQTNHUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FtQkQsRUFBRSxBQUFBLFNBQVMsQ0FNVixFQUFFLEVGbkdSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FtQkQsRUFBRSxBQUFBLFNBQVMsQ0FNVixFQUFFLENQM1ZDO0VBRVAsV0FBVyxFN0k3RmlCLGFBQWEsRUFBRSxVQUFVO0U2SThGckQsV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0FBRUQsQUFBQSxPQUFPLEVJc05SLHlCQUF5QixDQVd4QixRQUFRLENBc0RQLFlBQVksQ0FvQlgsRUFBRSxFR3BLTCw0QkFBNEIsQ0E4QzNCLFFBQVEsQ0FjUCxJQUFJLENBYUgsWUFBWSxDQUlYLEVBQUUsRUE3RU4sNEJBQTRCLENBOEMzQixRQUFRLENGNkRULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFdkRGLFlBQVksQ0FJWCxFQUFFLEVGOEJOLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBOEMzQixRQUFRLENGa0ZOLEVBQUUsQ0V2REYsWUFBWSxDQUlYLEVBQUUsRUFzQk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0E4QzNCLFFBQVEsQ0F1SUwsRUFBRSxDQTVHSCxZQUFZLENBSVgsRUFBRSxFQzFZUCxpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FvQ1gsRUFBRSxDUmtJSztFQUVQLFdBQVcsRTdJbkdpQixhQUFhLEVBQUUsVUFBVTtFNklvR3JELFdBQVcsRUFBRSxHQUFHLEdBQ2hCOztBQUVELEFBQUEsT0FBTyxFTTBDUixxQkFBcUIsQ0FRcEIsaUJBQWlCLENBdUJoQixRQUFRLENBaUNQLFlBQVksQ0FLWCxFQUFFLEVBK0ROLHNCQUFzQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDQW9CWixRQUFRLENBaUVQLFlBQVksQ0FTWCxFQUFFLEVBb0NOLHNCQUFzQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0FtRFAsWUFBWSxDQVVYLEVBQUUsQ052Y0c7RUFFUCxXQUFXLEU3SXpHaUIsYUFBYSxFQUFFLFVBQVU7RTZJMEdyRCxXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUVQLFdBQVcsRTdJL0dpQixhQUFhLEVBQUUsVUFBVTtFNklnSHJELFdBQVcsRUFBRSxHQUFHLEdBQ2hCOztBOUY1UU8sQUFBQSxVQUFVLEM4RmdSUDtFQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDaEIsU0FBUyxFQUFFLEtBQUssR0FDaEI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNsQixTQUFTLEVBQUUsS0FBSyxHQUNoQjs7QTdIL0JDLEFBQUEsQ0FBQyxDNkgwQ0Q7RUFDRCxLQUFLLEU3STNPUSxPQUFPLEc2SStPcEI7RUFMRCxBQUVDLENBRkEsQUFFQyxNQUFNLENBQUM7SUFDUCxLQUFLLEU3SW5QUSxPQUFPLEc2SW9QcEI7O0FBMkRGLEFBQUEsQ0FBQyxBQUFBLFVBQVUsQ0FBQztFQUNYLEtBQUssRTdJcFRBLE9BQU8sRzZJd1RaO0VBTEQsQUFFQyxDQUZBLEFBQUEsVUFBVSxBQUVULE1BQU0sQ0FBQztJQUNQLEtBQUssRTdJdFRELE9BQU8sRzZJdVRYOztBQVdGLEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUcsR0FDVjs7QUFIRCxBQUFBLGlCQUFpQixBQUFBLE9BQU8sQ0FLQztFQUN4QixpQkFBaUIsRUFBRSxhQUFhLENBQUMsb0JBQW9CO0VBQ3JELGNBQWMsRUFBRSxhQUFhLENBQUMsb0JBQW9CO0VBQ2xELGFBQWEsRUFBRSxhQUFhLENBQUMsb0JBQW9CO0VBQ2pELFlBQVksRUFBRSxhQUFhLENBQUMsb0JBQW9CO0VBQ2hELFNBQVMsRUFBRSxhQUFhLENBQUMsb0JBQW9CO0VBQzdDLFVBQVUsRUFBRSx5QkFBeUIsR0FDckM7O0FBRUQsQUFBQSxnQkFBZ0IsQUFBQSxPQUFPO0FBQ3ZCLGlCQUFpQixBQUFBLE9BQU87QUFDeEIsY0FBYyxBQUFBLE9BQU87QUFDckIsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLGdCQUFnQixFQUFFLEdBQUc7RUFDckIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixrQkFBa0IsRUFBRSxHQUFHO0VBQ3ZCLGtCQUFrQixFQUFFLEtBQUs7RUFDekIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsS0FBSztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsSUFBSTtFQUNwQixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHLEdBQ1g7O0E5RXJKRCxBQUFBLE9BQU8sQzhFNEpDO0VBQ1AsV0FBVyxFQUFFLHFCQUFxQjtFQUNsQyxXQUFXLEVBQUUsY0FBYztFQUMzQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixTQUFTLEVBQUUsaUJBQWlCO0VBQzVCLGNBQWMsRUFBRSxlQUFlLEdBQy9COztBQUVELEFBQ0Msd0JBRHVCLEFBQ3RCLE1BQU0sRUs1YVQsa0JBQWtCLENBaUJqQixhQUFhLENBV1gsS0FBSyxDQW1CSixPQUFPLEFMNlhSLE1BQU0sQ0FBQztFQUNQLFVBQVUsRUFBRSxPQUF3QjtFQUNwQyxZQUFZLEVBQUUsT0FBd0I7RUFDdEMsS0FBSyxFN0luWEQsT0FBTyxHNklvWFg7O0FBR0YsQUFDQyx1QkFEc0IsQUFDckIsTUFBTSxDQUFDO0VBQ1AsVUFBVSxFQUFFLE9BQXVCLENBQUMsVUFBVTtFQUM5QyxZQUFZLEVBQUUsT0FBdUIsQ0FBQyxVQUFVO0VBQ2hELEtBQUssRTdJM1hELE9BQU8sQzZJMlhHLFVBQVUsR0FDeEI7O0FBUUYsQUFBQSxTQUFTLENBQUM7RUFDVCxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDYixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxvQkFBb0IsRUs1THJCLG1CQUFtQixDQUNsQixRQUFRLENBZVAsSUFBSSxDQVVILFlBQVksQ0FjWCxLQUFLLEVBeENULG1CQUFtQixDQUNsQixRQUFRLENBd09ULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBcE9GLFlBQVksQ0FjWCxLQUFLLEVBaU1ULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxDQXBPRixZQUFZLENBY1gsS0FBSyxFRXlMVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YvUmpCLG1CQUFtQixDQUNsQixRQUFRLENFa1RMLEVBQUUsQ0Z6UkgsWUFBWSxDQWNYLEtBQUssRUxvSmMsdUJBQXVCLEVNdk45QyxhQUFhLENBUVosVUFBVSxDQVFULFlBQVksQ0FhWCxZQUFZLENBU1gsU0FBUyxFQ3NOYiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBWUgsY0FBYyxDQU9iLFNBQVMsRUFyRGIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQkYsY0FBYyxDQU9iLFNBQVMsRUY3Q2IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUJGLGNBQWMsQ0FPYixTQUFTLENQMUZrQztFQUM3QyxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBS1o7O0FBSUQsQUFBQSx1QkFBdUIsRUlwRnhCLG9CQUFvQixDQStCbkIsUUFBUSxDQVNQLElBQUksQ0FJSCxZQUFZLENBR1gsS0FBSyxFQS9DVCxvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0Q5RkYsWUFBWSxDQUdYLEtBQUssRUNzRVQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0MyR04sRUFBRSxDRDlGRixZQUFZLENBR1gsS0FBSyxFRzhEVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIbkpILFlBQVksQ0FHWCxLQUFLLENKcUNnQjtFQUN2QixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxzQkFBc0IsRU83SnZCLGlDQUFpQyxDQVNoQyxlQUFlLENBT2QsS0FBSyxDUDZJaUI7RUFDdEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNaOztBQUdELEFBQUEsc0JBQXNCLEVJcFF2QiwyQkFBMkIsQ0ErRjFCLFlBQVksQ0FrQlgsU0FBUyxDSm1KWTtFQUNyQixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBS1o7RXBJN1VHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lvSXFVN0MsQUFBQSxzQkFBc0IsRUlwUXZCLDJCQUEyQixDQStGMUIsWUFBWSxDQWtCWCxTQUFTLENKbUpZO01BTXBCLE1BQU0sRUFBRSxLQUFLLEdBRWQ7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQTtFQUN0QixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxLQUFLLEdBS2I7RXBJdlZHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lvSStVN0MsQUFBQSx1QkFBdUIsQ0FBQTtNQU1yQixNQUFNLEVBQUUsS0FBSyxHQUVkOztBQUVELEFBQUEsd0JBQXdCLEVLK016QixtQ0FBbUMsQ0E2Q2xDLFlBQVksQ0FBQyxLQUFLLEVBVW5CLDBCQUEwQixDQUV6QixZQUFZLENBWVgsS0FBSyxDTHBSa0I7RUFDdkIsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsS0FBSyxHQUtiO0VwSWpXRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJb0l5VjdDLEFBQUEsd0JBQXdCLEVLK016QixtQ0FBbUMsQ0E2Q2xDLFlBQVksQ0FBQyxLQUFLLEVBVW5CLDBCQUEwQixDQUV6QixZQUFZLENBWVgsS0FBSyxDTHBSa0I7TUFNdEIsTUFBTSxFQUFFLEtBQUssR0FFZDs7QUFPRCxBQUFBLGFBQWEsQ0FBQztFQUNiLG1CQUFtQixFQUFFLEtBQUs7RUFDMUIsWUFBWSxFQUFFLEdBQUc7RUFDakIsWUFBWSxFN0k5YU8sT0FBTyxHNkkrYTFCOztBQUVELEFBQUEsVUFBVSxFSTFJWCxvQkFBb0IsQ0ErQm5CLFFBQVEsQ0FTUCxJQUFJLENBZ0JILFlBQVksRUF4RGYsb0JBQW9CLENBK0JuQixRQUFRLENDc0ZULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENEbEZGLFlBQVksRUM2RGYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0MyR04sRUFBRSxDRGxGRixZQUFZLEVBeERmLG9CQUFvQixDQStCbkIsUUFBUSxDRzhFVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDSHZJSCxZQUFZLEVHcURmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBK0JuQixRQUFRLENHZ0tMLEVBQUUsQ0h2SUgsWUFBWSxDSmtGSDtFQUNWLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsWUFBWSxFQUFFLEdBQUc7RUFDakIsWUFBWSxFN0lwYk8sT0FBTyxHNklxYjFCOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1osTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBNkI7RUFDL0MsWUFBWSxFQUFFLE9BQU87RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLE1BQU0sRUFBRSxDQUFDLEdBQ1Q7O0FwSXZYRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0VvSThYNUMsQUFNQyxRQU5PLENBTVAsVUFBVSxFQzVpQlosSUFBSSxDRDRpQkYsVUFBVSxFQ2hkWixrQkFBa0IsQ0RnZGhCLFVBQVUsRUczaEJYLFVBQVUsQ0gyaEJULFVBQVUsQ0FBQztJQU1ULGFBQWEsRUFBRSxJQUFJO0lBQ25CLFlBQVksRUFBRSxJQUFJLEdBRW5COztBQWZGLEFBa0JDLFFBbEJPLENBa0JQLFFBQVEsRUN4akJWLElBQUksQ0R3akJGLFFBQVEsRUM1ZFYsa0JBQWtCLENENGRoQixRQUFRLEVHdmlCVCxVQUFVLENIdWlCVCxRQUFRLENBQUE7RUFDUCxXQUFXLEVBQUUsTUFBTSxHQUluQjtFcElyWkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJb0k4WDVDLEFBa0JDLFFBbEJPLENBa0JQLFFBQVEsRUN4akJWLElBQUksQ0R3akJGLFFBQVEsRUM1ZFYsa0JBQWtCLENENGRoQixRQUFRLEVHdmlCVCxVQUFVLENIdWlCVCxRQUFRLENBQUE7TUFHTixXQUFXLEVBQUUsSUFBSSxHQUVsQjs7QUF2QkYsQUF5QkMsUUF6Qk8sQ0F5QlAsUUFBUSxBQUFBLGNBQWMsRUMvakJ4QixJQUFJLENEK2pCRixRQUFRLEFBQUEsY0FBYyxFQ25leEIsa0JBQWtCLENEbWVoQixRQUFRLEFBQUEsY0FBYyxFRzlpQnZCLFVBQVUsQ0g4aUJULFFBQVEsQUFBQSxjQUFjLEVBekJ2QixRQUFRLENBeUJpQixtQkFBbUIsRUMvakI3QyxJQUFJLENEK2pCc0IsbUJBQW1CLEVDbmU3QyxrQkFBa0IsQ0RtZVEsbUJBQW1CLEVHOWlCNUMsVUFBVSxDSDhpQmUsbUJBQW1CLENBQUM7RUFDM0MsV0FBVyxFQUFFLENBQUMsR0FDZDs7QUEzQkYsQUE2QkMsUUE3Qk8sQ0E2QlAsc0JBQXNCLEVDbmtCeEIsSUFBSSxDRG1rQkYsc0JBQXNCLEVDdmV4QixrQkFBa0IsQ0R1ZWhCLHNCQUFzQixFR2xqQnZCLFVBQVUsQ0hrakJULHNCQUFzQixDQUFDO0VBQ3RCLFdBQVcsRUFBRSxJQUFJLEdBQ2pCOztBQS9CRixBQWlDQyxRQWpDTyxDQWlDUCxvQkFBb0IsRUN2a0J0QixJQUFJLENEdWtCRixvQkFBb0IsRUMzZXRCLGtCQUFrQixDRDJlaEIsb0JBQW9CLEVHdGpCckIsVUFBVSxDSHNqQlQsb0JBQW9CLENBQUM7RUFDcEIsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsQ0FBQyxHQUNqQjs7QXBJbGFHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7RW9JOFg1QyxBQXVDRSxRQXZDTSxDQXNDUCwwQkFBMEIsQ0FDekIsU0FBUyxFQzdrQlosSUFBSSxDRDRrQkYsMEJBQTBCLENBQ3pCLFNBQVMsRUNqZlosa0JBQWtCLENEZ2ZoQiwwQkFBMEIsQ0FDekIsU0FBUyxFRzVqQlgsVUFBVSxDSDJqQlQsMEJBQTBCLENBQ3pCLFNBQVMsRUF2Q1gsUUFBUSxDQXNDUCwwQkFBMEIsQ0EyYTNCLGlCQUFpQixDQUNoQixDQUFDLEVBREYsaUJBQWlCLENBamRqQixRQUFRLENBc0NQLDBCQUEwQixDQTRhMUIsQ0FBQyxFQ3gvQkgsSUFBSSxDRDRrQkYsMEJBQTBCLENBMmEzQixpQkFBaUIsQ0FDaEIsQ0FBQyxFQURGLGlCQUFpQixDQ3YvQmxCLElBQUksQ0Q0a0JGLDBCQUEwQixDQTRhMUIsQ0FBQyxFQzU1Qkgsa0JBQWtCLENEZ2ZoQiwwQkFBMEIsQ0EyYTNCLGlCQUFpQixDQUNoQixDQUFDLEVBREYsaUJBQWlCLENDMzVCbEIsa0JBQWtCLENEZ2ZoQiwwQkFBMEIsQ0E0YTFCLENBQUMsRUd2K0JGLFVBQVUsQ0gyakJULDBCQUEwQixDQTJhM0IsaUJBQWlCLENBQ2hCLENBQUMsRUFERixpQkFBaUIsQ0d0K0JqQixVQUFVLENIMmpCVCwwQkFBMEIsQ0E0YTFCLENBQUMsRUFsZEYsUUFBUSxDQXNDUCwwQkFBMEIsQ0EyYTNCLGlCQUFpQixDQXp2QmhCLFVBQVUsRUF5dkJYLGlCQUFpQixDQWpkakIsUUFBUSxDQXNDUCwwQkFBMEIsQ0E5VTFCLFVBQVUsRUM5UFosSUFBSSxDRDRrQkYsMEJBQTBCLENBMmEzQixpQkFBaUIsQ0F6dkJoQixVQUFVLEVBeXZCWCxpQkFBaUIsQ0N2L0JsQixJQUFJLENENGtCRiwwQkFBMEIsQ0E5VTFCLFVBQVUsRUNsS1osa0JBQWtCLENEZ2ZoQiwwQkFBMEIsQ0EyYTNCLGlCQUFpQixDQXp2QmhCLFVBQVUsRUF5dkJYLGlCQUFpQixDQzM1QmxCLGtCQUFrQixDRGdmaEIsMEJBQTBCLENBOVUxQixVQUFVLEVHN09YLFVBQVUsQ0gyakJULDBCQUEwQixDQTJhM0IsaUJBQWlCLENBenZCaEIsVUFBVSxFQXl2QlgsaUJBQWlCLENHdCtCakIsVUFBVSxDSDJqQlQsMEJBQTBCLENBOVUxQixVQUFVLEVBd1NYLFFBQVEsQ0FnRFAsUUFBUSxDQWlhVCxpQkFBaUIsQ0EzYWhCLDBCQUEwQixDQXNDekIsQ0FBQyxFQ2xuQkosSUFBSSxDRHNsQkYsUUFBUSxDQWlhVCxpQkFBaUIsQ0EzYWhCLDBCQUEwQixDQXNDekIsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGZoQixRQUFRLENBaWFULGlCQUFpQixDQTNhaEIsMEJBQTBCLENBc0N6QixDQUFDLEVHam1CSCxVQUFVLENIcWtCVCxRQUFRLENBaWFULGlCQUFpQixDQTNhaEIsMEJBQTBCLENBc0N6QixDQUFDLEVBNUVILFFBQVEsQ0FzQ1AsMEJBQTBCLENBQ2QsU0FBUyxFQzdrQnZCLElBQUksQ0Q0a0JGLDBCQUEwQixDQUNkLFNBQVMsRUNqZnZCLGtCQUFrQixDRGdmaEIsMEJBQTBCLENBQ2QsU0FBUyxFRzVqQnRCLFVBQVUsQ0gyakJULDBCQUEwQixDQUNkLFNBQVMsRUF2Q3RCLFFBQVEsQ0FzQ1AsMEJBQTBCLENBQ0gsU0FBUyxFQzdrQmxDLElBQUksQ0Q0a0JGLDBCQUEwQixDQUNILFNBQVMsRUNqZmxDLGtCQUFrQixDRGdmaEIsMEJBQTBCLENBQ0gsU0FBUyxFRzVqQmpDLFVBQVUsQ0gyakJULDBCQUEwQixDQUNILFNBQVMsQ0FBQTtJQUU3QixPQUFPLEVBQUUsSUFBSSxHQUVkOztBQTNDSCxBQWtCQyxRQWxCTyxDQWtCUCxRQUFRLEVDeGpCVixJQUFJLENEd2pCRixRQUFRLEVDNWRWLGtCQUFrQixDRDRkaEIsUUFBUSxFR3ZpQlQsVUFBVSxDSHVpQlQsUUFBUSxDQThCQztFbEhyZlQsU0FBUyxFeEJUQyxLQUE2QztFK0JsRHJELFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBSWpCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLEdBQUcsQ0FsQkMsSUFBSSxHMkcwb0JwQjtFcEk1ZkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJb0k4WDVDLEFBdURFLFFBdkRNLENBZ0RQLFFBQVEsQ0FPUCxFQUFFLEVDN2xCTCxJQUFJLENEc2xCRixRQUFRLENBT1AsRUFBRSxFQ2pnQkwsa0JBQWtCLENEMGZoQixRQUFRLENBT1AsRUFBRSxFRzVrQkosVUFBVSxDSHFrQlQsUUFBUSxDQU9QLEVBQUUsRUF2REosUUFBUSxDQWdEUCxRQUFRLENBT0gsRUFBRSxFQzdsQlQsSUFBSSxDRHNsQkYsUUFBUSxDQU9ILEVBQUUsRUNqZ0JULGtCQUFrQixDRDBmaEIsUUFBUSxDQU9ILEVBQUUsRUc1a0JSLFVBQVUsQ0hxa0JULFFBQVEsQ0FPSCxFQUFFLEVBdkRSLFFBQVEsQ0FnRFAsUUFBUSxDQU9DLEVBQUUsRUM3bEJiLElBQUksQ0RzbEJGLFFBQVEsQ0FPQyxFQUFFLEVDamdCYixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0FPQyxFQUFFLEVHNWtCWixVQUFVLENIcWtCVCxRQUFRLENBT0MsRUFBRSxDQUFDO01BRVQsVUFBVSxFQUFFLElBQUksR0FFakI7RUEzREgsQUE2REUsUUE3RE0sQ0FnRFAsUUFBUSxDQU9ILEVBQUUsRUM3bEJULElBQUksQ0RzbEJGLFFBQVEsQ0FPSCxFQUFFLEVDamdCVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0FPSCxFQUFFLEVHNWtCUixVQUFVLENIcWtCVCxRQUFRLENBT0gsRUFBRSxDQU1IO0lBRUYsYUFBYSxFQUFFLEdBQUcsR0FNbEI7SUFyRUgsQUFpRUcsUUFqRUssQ0FnRFAsUUFBUSxDQWFQLEVBQUUsR0FJRSxNQUFNLEFBeldYLFVBQVUsRUM5UFosSUFBSSxDRHNsQkYsUUFBUSxDQWFQLEVBQUUsR0FJRSxNQUFNLEFBeldYLFVBQVUsRUNsS1osa0JBQWtCLENEMGZoQixRQUFRLENBYVAsRUFBRSxHQUlFLE1BQU0sQUF6V1gsVUFBVSxFRzdPWCxVQUFVLENIcWtCVCxRQUFRLENBYVAsRUFBRSxHQUlFLE1BQU0sQUF6V1gsVUFBVSxFQXdTWCxRQUFRLENBZ0RQLFFBQVEsQ0FhUCxFQUFFLEdBZUYsQ0FBQyxBQVhHLE1BQU0sRUN2bUJiLElBQUksQ0RzbEJGLFFBQVEsQ0FhUCxFQUFFLEdBZUYsQ0FBQyxBQVhHLE1BQU0sRUMzZ0JiLGtCQUFrQixDRDBmaEIsUUFBUSxDQWFQLEVBQUUsR0FlRixDQUFDLEFBWEcsTUFBTSxFR3RsQlosVUFBVSxDSHFrQlQsUUFBUSxDQWFQLEVBQUUsR0FlRixDQUFDLEFBWEcsTUFBTSxDQUFDO01BQ1QsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEtBQUssR0FDbEI7RXBJbGNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7SW9JOFg1QyxBQWdGSSxRQWhGSSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVDdG5CTixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVDMWhCTixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUdybUJMLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUFoRkwsUUFBUSxDQWdEUCxRQUFRLENBeFZSLFVBQVUsQ0F3WFAsQ0FBQyxFQ3RuQk4sSUFBSSxDRHNsQkYsUUFBUSxDQXhWUixVQUFVLENBd1hQLENBQUMsRUMxaEJOLGtCQUFrQixDRDBmaEIsUUFBUSxDQXhWUixVQUFVLENBd1hQLENBQUMsRUdybUJMLFVBQVUsQ0hxa0JULFFBQVEsQ0F4VlIsVUFBVSxDQXdYUCxDQUFDLEVBaEZMLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQ3RuQk4sSUFBSSxDRHNpQkgsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVBaEZMLFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUMxaEJOLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVBaEZMLFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVHcm1CTCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUFoRkwsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQWhGTCxRQUFRLENDdGlCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVDdG5CTixJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUN0bkJOLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUMxaEJOLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQ3RuQk4sSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUdybUJMLFVBQVUsQ0ZqQlgsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQ3RuQk4sSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVBaEZMLFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVDMWhCTixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQ3RuQk4sSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUMxaEJOLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQzFoQk4sa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVHcm1CTCxVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQzFoQk4sa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVBaEZMLFFBQVEsQ0dyaEJSLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUdybUJMLFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFQ3RuQk4sSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FJQyxDQUFDLEVHcm1CTCxVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUMxaEJOLGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBSUMsQ0FBQyxFR3JtQkwsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUdybUJMLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUlDLENBQUMsRUFoRkwsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQzlQWixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQ2xLWixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVHN09YLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVBd1NYLFFBQVEsQ0FnRFAsUUFBUSxDQXhWUixVQUFVLENBQVYsVUFBVSxFQzlQWixJQUFJLENEc2xCRixRQUFRLENBeFZSLFVBQVUsQ0FBVixVQUFVLEVDbEtaLGtCQUFrQixDRDBmaEIsUUFBUSxDQXhWUixVQUFVLENBQVYsVUFBVSxFRzdPWCxVQUFVLENIcWtCVCxRQUFRLENBeFZSLFVBQVUsQ0FBVixVQUFVLEVBd1NYLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUM5UFosSUFBSSxDRHNpQkgsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQXdTWCxRQUFRLENDdGlCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQ2xLWixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUF3U1gsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVHN09YLFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUF3U1gsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUF3U1gsUUFBUSxDQ3RpQlQsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUM5UFosSUFBSSxDRHNpQkgsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQzlQWixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQ2xLWixrQkFBa0IsQ0E1RmxCLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVDOVBaLElBQUksQ0E0Rkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFRzdPWCxVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVDOVBaLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUF3U1gsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVDbEtaLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQzlQWixJQUFJLENBNEZKLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUNsS1osa0JBQWtCLENBNUZsQixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQ2xLWixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVHN09YLFVBQVUsQ0YyRVgsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFQ2xLWixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVBd1NYLFFBQVEsQ0dyaEJSLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVHN09YLFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUM5UFosSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FwWEYsVUFBVSxFRzdPWCxVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVDbEtaLGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBcFhGLFVBQVUsRUc3T1gsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVHN09YLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQXBYRixVQUFVLEVBd1NYLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRHNpQkgsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENBZ0RQLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUE1RUgsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVHam1CSCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVBNUVILFFBQVEsQ0dyaEJSLFVBQVUsQ0hxa0JULFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVBNUVILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRHNpQkgsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDdGlCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0RzaUJILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDdGlCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0E1RmxCLElBQUksQ0RzaUJILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDMWNULGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDdGlCVCxJQUFJLENBNEZKLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRmpCWCxJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDR3JoQlIsVUFBVSxDRmpCWCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENFaUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDdGlCVCxJQUFJLENFaUJILFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENBNEZKLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0E0Rkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0E1RmxCLElBQUksQ0RzaUJILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDMWNULGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGNqQixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0YyRVgsa0JBQWtCLENEMGNqQixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDR3JoQlIsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDSHFoQlYsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0MxY1Qsa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0dyaEJSLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRWlCSCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDQ3RpQlQsSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGakJYLElBQUksQ0RzaUJILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENHcmhCUixVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDSHFoQlYsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0MxY1Qsa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGMkVYLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0dyaEJSLFVBQVUsQ0YyRVgsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDdGlCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0ZqQlgsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVDbG5CSixJQUFJLENEc2xCRixRQUFRLENBeFZSLFVBQVUsQ0FvWFQsQ0FBQyxFQ3RoQkosa0JBQWtCLENBNUZsQixJQUFJLENEc2xCRixRQUFRLENBeFZSLFVBQVUsQ0FvWFQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVHam1CSCxVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVDbG5CSixJQUFJLENFaUJILFVBQVUsQ0hxa0JULFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0RzaUJILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRHNpQkgsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDQ3RpQlQsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDMWNULGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRHNpQkgsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDSHFoQlYsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0dyaEJSLFVBQVUsQ0ZqQlgsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRHNpQkgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDdGlCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0ZqQlgsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0MxY1Qsa0JBQWtCLENBNUZsQixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENDMWNULGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGNqQixRQUFRLENDdGlCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENBNEZKLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENBNEZKLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENBNUZsQixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0E1RmxCLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0E0Rkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGMkVYLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRWlCSCxVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENFM0VqQixVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0E0Rkosa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0dyaEJSLFVBQVUsQ0ZqQlgsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRHNpQkgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDSHFoQlYsUUFBUSxDQ3RpQlQsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRWlCSCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRmpCWCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0ZqQlgsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0YyRVgsa0JBQWtCLENBNUZsQixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENFaUJILFVBQVUsQ0YyRVgsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDMWNULGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGNqQixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0E0Rkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0E1RmxCLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDMWNULGtCQUFrQixDRDBmaEIsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBeFZSLFVBQVUsQ0FvWFQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVDdGhCSixrQkFBa0IsQ0E1RmxCLElBQUksQ0RzbEJGLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0F4VlIsVUFBVSxDQW9YVCxDQUFDLEVHam1CSCxVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUE1RUgsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENDMWNULGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENBNUZsQixJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDQ3RpQlQsSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDQ3RpQlQsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGNqQixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENHcmhCUixVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGNqQixRQUFRLENHcmhCUixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0E0Rkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0RzaUJILFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0E1RmxCLElBQUksQ0RzaUJILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENBNUZsQixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENBNEZKLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRmpCWCxJQUFJLENBNEZKLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENFM0VqQixVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDQTVGbEIsSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0dyaEJSLFVBQVUsQ0YyRVgsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwY2pCLFFBQVEsQ0dyaEJSLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0MxY1Qsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRWlCSCxVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENBNUZsQixJQUFJLENFaUJILFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0ZqQlgsSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDRmpCWCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0YyRVgsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0dyaEJSLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUE1RUgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUdqbUJILFVBQVUsQ0ZqQlgsSUFBSSxDRHNsQkYsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUdqbUJILFVBQVUsQ0YyRVgsa0JBQWtCLENEMGZoQixRQUFRLENBeFZSLFVBQVUsQ0FvWFQsQ0FBQyxFR2ptQkgsVUFBVSxDSHFrQlQsUUFBUSxDQXhWUixVQUFVLENBb1hULENBQUMsRUE1RUgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDSHFoQlYsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDbG5CSixJQUFJLENEc2lCSCxRQUFRLENHcmhCUixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGakJYLElBQUksQ0RzaUJILFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDdGlCVCxJQUFJLENFaUJILFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0N0aUJULElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDMWNULGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDSHFoQlYsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0hxaEJWLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENHcmhCUixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVBNUVILFFBQVEsQ0N0aUJULElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDSHFoQlYsUUFBUSxDQ3RpQlQsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDRHNpQkgsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRmpCWCxJQUFJLENEc2lCSCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRmpCWCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0E1RmxCLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRjJFWCxrQkFBa0IsQ0E1RmxCLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0E0Rkosa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGakJYLElBQUksQ0E0Rkosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGakJYLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENDMWNULGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDSHFoQlYsUUFBUSxDQzFjVCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRDBjakIsUUFBUSxDR3JoQlIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwY2pCLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ2xuQkosSUFBSSxDQTRGSixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0ZqQlgsSUFBSSxDQTRGSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDQTVGbEIsSUFBSSxDRWlCSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGMkVYLGtCQUFrQixDQTVGbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQ3RoQkosa0JBQWtCLENFM0VqQixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENGMkVYLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRjJFWCxrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUN0aEJKLGtCQUFrQixDRTNFakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFQTVFSCxRQUFRLENHcmhCUixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENIcWhCVixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUNsbkJKLElBQUksQ0VpQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBQUQsQ0FBQyxFR2ptQkgsVUFBVSxDRmpCWCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVDdGhCSixrQkFBa0IsQ0UzRWpCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQUFELENBQUMsRUdqbUJILFVBQVUsQ0YyRVgsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLEVHam1CSCxVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQ0FBRCxDQUFDLENBSUc7TUFBRSxVQUFVLEVBQUUsSUFBSSxHQUFJO0VBaEY1QixBQW9GRyxRQXBGSyxDQWdEUCxRQUFRLENBeFZSLFVBQVUsQ0E0WFIsQ0FBQyxBQUFBLENBQUssRUMxbkJWLElBQUksQ0RzbEJGLFFBQVEsQ0F4VlIsVUFBVSxDQTRYUixDQUFDLEFBQUEsQ0FBSyxFQzloQlYsa0JBQWtCLENEMGZoQixRQUFRLENBeFZSLFVBQVUsQ0E0WFIsQ0FBQyxBQUFBLENBQUssRUd6bUJULFVBQVUsQ0hxa0JULFFBQVEsQ0F4VlIsVUFBVSxDQTRYUixDQUFDLEFBQUEsQ0FBSyxFQXBGVCxRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxDQVFBLENBQUMsQUFBQSxDQUFLLEVDMW5CVixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQ0FRQSxDQUFDLEFBQUEsQ0FBSyxFQzloQlYsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FRQSxDQUFDLEFBQUEsQ0FBSyxFR3ptQlQsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLENBUUEsQ0FBQyxBQUFBLENBQUssQUFBbUM7SUFDeEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEM3SWxqQmQsT0FBTyxHNkl1akJsQjtJQTFGSixBQXVGSSxRQXZGSSxDQWdEUCxRQUFRLENBeFZSLFVBQVUsQ0E0WFIsQ0FBQyxBQUFBLENBQUssQUFHSixNQUFNLEVDN25CWixJQUFJLENEc2xCRixRQUFRLENBeFZSLFVBQVUsQ0E0WFIsQ0FBQyxBQUFBLENBQUssQUFHSixNQUFNLEVDamlCWixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0F4VlIsVUFBVSxDQTRYUixDQUFDLEFBQUEsQ0FBSyxBQUdKLE1BQU0sRUc1bUJYLFVBQVUsQ0hxa0JULFFBQVEsQ0F4VlIsVUFBVSxDQTRYUixDQUFDLEFBQUEsQ0FBSyxBQUdKLE1BQU0sRUF2RlgsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ0FRQSxDQUFDLEFBQUEsQ0FBSyxBQUdKLE1BQU0sRUM3bkJaLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxDQVFBLENBQUMsQUFBQSxDQUFLLEFBR0osTUFBTSxFQ2ppQlosa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQ0FRQSxDQUFDLEFBQUEsQ0FBSyxBQUdKLE1BQU0sRUc1bUJYLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDQVFBLENBQUMsQUFBQSxDQUFLLEFBR0osTUFBTSxDQUFDO01BQ1AsbUJBQW1CLEU3STNqQlIsT0FBTyxHNkk0akJsQjtFQXpGTCxBQXdHRSxRQXhHTSxDQWdEUCxRQUFRLENBd0RQLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FVM0MsV0FBVyxHQUFHLENBQUMsRUN4cEJsQixJQUFJLENEc2xCRixRQUFRLENBd0RQLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FVM0MsV0FBVyxHQUFHLENBQUMsRUM1akJsQixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0F3RFAsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQVUzQyxXQUFXLEdBQUcsQ0FBQyxFR3ZvQmpCLFVBQVUsQ0hxa0JULFFBQVEsQ0F3RFAsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQVUzQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsYUFBYSxFQUFFLElBQUksR0FDbkI7RUFwSEgsQUFzSEUsUUF0SE0sQ0FnRFAsUUFBUSxDQXNFUCxPQUFPLEVDNXBCVixJQUFJLENEc2xCRixRQUFRLENBc0VQLE9BQU8sRUNoa0JWLGtCQUFrQixDRDBmaEIsUUFBUSxDQXNFUCxPQUFPLEVHM29CVCxVQUFVLENIcWtCVCxRQUFRLENBc0VQLE9BQU8sQ0FBQztJQUNQLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFVBQVUsRUFBRSxJQUFJLEdBQ2hCOztBcEkxZkUsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztFb0lrZ0IzQyxBQUFBLFFBQVEsQ0FBQTtJQUNQLFVBQVUsRUFBRSxlQUFlLEdBQzNCO0VBQ0QsQUFBQSxVQUFVLENBQUE7SUFDVCxVQUFVLEVBQUUsZUFBZSxHQUMzQjtFQUVELEFBQUEsV0FBVyxDQUFBO0lBQ1YsV0FBVyxFQUFFLFlBQVksR0FDekI7RUFDRCxBQUFBLFlBQVksQ0FBQTtJQUNYLGNBQWMsRUFBRSxZQUFZLEdBQzVCOztBeEQxaUJELEFBQUEsZUFBZSxDd0QraUJBO0VBQ2QsT0FBTyxFQUFFLElBQUksR0FDYjs7QUFTRCxBQUFBLE9BQU8sQ0FBQyxDQUFDLEFBQUEsV0FBVyxFQUFwQixPQUFPLENBeGNQLFVBQVUsQUF3Y0QsV0FBVyxFQUFwQixPQUFPLENBaEtSLFFBQVEsQ0FnRFAsUUFBUSxDQTRCUCxDQUFDLEFBb0ZPLFdBQVcsRUFoS3JCLFFBQVEsQ0FnRFAsUUFBUSxDQWdIUixPQUFPLENBcEZOLENBQUMsQUFvRk8sV0FBVyxFQUFwQixPQUFPLENDdHNCVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQUFvRk8sV0FBVyxFQ3RzQnRCLElBQUksQ0RzbEJGLFFBQVEsQ0FnSFIsT0FBTyxDQXBGTixDQUFDLEFBb0ZPLFdBQVcsRUFBcEIsT0FBTyxDQzFtQlQsa0JBQWtCLENEMGZoQixRQUFRLENBNEJQLENBQUMsQUFvRk8sV0FBVyxFQzFtQnRCLGtCQUFrQixDRDBmaEIsUUFBUSxDQWdIUixPQUFPLENBcEZOLENBQUMsQUFvRk8sV0FBVyxFQUFwQixPQUFPLENHcnJCUixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsQUFvRk8sV0FBVyxFR3JyQnJCLFVBQVUsQ0hxa0JULFFBQVEsQ0FnSFIsT0FBTyxDQXBGTixDQUFDLEFBb0ZPLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxBQUFBLFdBQVcsRUFBcEIsT0FBTyxDQXhjN0IsVUFBVSxBQXdjRCxXQUFXLEVBQUUsT0FBTyxDQWhLOUIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQUFvRk8sV0FBVyxFQWhLckIsUUFBUSxDQWdEUCxRQUFRLENBZ0hjLE9BQU8sQ0FwRjVCLENBQUMsQUFvRk8sV0FBVyxFQUFFLE9BQU8sQ0N0c0IvQixJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsQUFvRk8sV0FBVyxFQ3RzQnRCLElBQUksQ0RzbEJGLFFBQVEsQ0FnSGMsT0FBTyxDQXBGNUIsQ0FBQyxBQW9GTyxXQUFXLEVBQUUsT0FBTyxDQzFtQi9CLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLEFBb0ZPLFdBQVcsRUMxbUJ0QixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0FnSGMsT0FBTyxDQXBGNUIsQ0FBQyxBQW9GTyxXQUFXLEVBQUUsT0FBTyxDR3JyQjlCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxBQW9GTyxXQUFXLEVHcnJCckIsVUFBVSxDSHFrQlQsUUFBUSxDQWdIYyxPQUFPLENBcEY1QixDQUFDLEFBb0ZPLFdBQVcsQ0FBc0I7RUFDekMsY0FBYyxFQUFFLElBQUk7RUFDcEIsYUFBYSxFQUFFLElBQUksR0FDbkI7O0FBWUYsQUFBQSxjQUFjLENBQUM7RUFDZCxVQUFVLEU3SXZwQkosT0FBTyxDNkl1cEJnQixVQUFVLEdBQ3ZDOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ2IsVUFBVSxFN0l2b0JLLE9BQU8sRzZJd29CdEI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZixVQUFVLEU3SXpvQkssT0FBTyxHNkkwb0J0Qjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNiLFVBQVUsRTdJM3BCSyxPQUFPO0U2STRwQnRCLEtBQUssRTdJcHFCQyxPQUFPLEc2SXFxQmI7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDYixVQUFVLEVBQUMsSUFBSSxHQUNmOztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFybEJ4QixnSEFBZ0g7RUFDaEgsVUFBVSxFQUFFLE9BQWtCO0VBQzlCLGtCQUFrQjtFQUNsQixVQUFVLEVBQUUscURBQW1GO0VBQy9GLGNBQWM7RUFDZCxVQUFVLEVBQUUsd0RBQXNGO0VBQ2xHLDZCQUE2QjtFQUM3QixVQUFVLEVBQUUsZ0RBQThFO0VBQzFGLHNEQUFzRDtFQUN0RCxNQUFNLEVBQUUsMkdBQTJHO0VBQ25ILDJDQUEyQyxFQTZrQjVDOztBQUVELEFBQUEsOEJBQThCLENBQUM7RUFoa0I3QixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLCtCQUErQjtFQUMvQixVQUFVLEVBQUUsbURBQW1ELENBQUMsVUFBVTtFQUMxRSxnQ0FBZ0M7RUFDaEMsVUFBVSxFQUFFLDJDQUEyQyxDQUFDLFVBQVU7RUFDbEUsc0VBQXNFLEVBNmpCdkU7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNwQixVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQzdJaHFCTixPQUFPLEc2SWlxQnRCOztBcElqbEJJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VvSXlsQjlDLEFBTUMsUUFOTyxDQU1QLGlCQUFpQixFQ2x3Qm5CLElBQUksQ0Rrd0JGLGlCQUFpQixFQ3RxQm5CLGtCQUFrQixDRHNxQmhCLGlCQUFpQixFR2p2QmxCLFVBQVUsQ0hpdkJULGlCQUFpQixDQUFDO0lBSWhCLFVBQVUsRUFBRSxNQUFNLEdBMkJuQjs7QXBJOW5CRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFb0l5bEI5QyxBQXNCRSxRQXRCTSxDQU1QLGlCQUFpQixDQWdCaEIsY0FBYyxFQ2x4QmpCLElBQUksQ0Rrd0JGLGlCQUFpQixDQWdCaEIsY0FBYyxFQ3RyQmpCLGtCQUFrQixDRHNxQmhCLGlCQUFpQixDQWdCaEIsY0FBYyxFR2p3QmhCLFVBQVUsQ0hpdkJULGlCQUFpQixDQWdCaEIsY0FBYyxDQUFDO0lBTWIsVUFBVSxFQUFFLE1BQU0sR0FRbkI7O0FBcENILEFBK0JHLFFBL0JLLENBTVAsaUJBQWlCLENBZ0JoQixjQUFjLENBU2IsQ0FBQyxFQzN4QkwsSUFBSSxDRGt3QkYsaUJBQWlCLENBZ0JoQixjQUFjLENBU2IsQ0FBQyxFQy9yQkwsa0JBQWtCLENEc3FCaEIsaUJBQWlCLENBZ0JoQixjQUFjLENBU2IsQ0FBQyxFRzF3QkosVUFBVSxDSGl2QlQsaUJBQWlCLENBZ0JoQixjQUFjLENBU2IsQ0FBQyxFQS9CSixRQUFRLENBTVAsaUJBQWlCLENBZ0JoQixjQUFjLENBcGhCZixVQUFVLEVDOVBaLElBQUksQ0Rrd0JGLGlCQUFpQixDQWdCaEIsY0FBYyxDQXBoQmYsVUFBVSxFQ2xLWixrQkFBa0IsQ0RzcUJoQixpQkFBaUIsQ0FnQmhCLGNBQWMsQ0FwaEJmLFVBQVUsRUc3T1gsVUFBVSxDSGl2QlQsaUJBQWlCLENBZ0JoQixjQUFjLENBcGhCZixVQUFVLENBNmhCTjtFQUNELFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJLEdBQ2xCOztBQWxDSixBQXVDQyxRQXZDTyxDQXVDUCxxQkFBcUIsRUNueUJ2QixJQUFJLENEbXlCRixxQkFBcUIsRUN2c0J2QixrQkFBa0IsQ0R1c0JoQixxQkFBcUIsRUdseEJ0QixVQUFVLENIa3hCVCxxQkFBcUIsQ0FBQztFQUdyQixVQUFVLEVBQUUsTUFBTSxHQUNsQjs7QXhFL3NCRCxBQUFBLFFBQVEsRXdFcTBCVCxnQkFBZ0IsQ0FKUDtFQUNSLE1BQU0sRUFBRSxDQUFDLEdBQ1Q7O0FBYUQsQUFBQSwyQkFBMkIsQ0FBQztFQUUzQixVQUFVLEVBQUUsdUJBQWtDO0VBQzlDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDN0lwMkJGLE9BQU8sRzZJcTJCdEI7O0FBRUQsQUFBQSw0QkFBNEIsQ0FBQztFQUU1QixVQUFVLEVBQUUsd0JBQWtDO0VBQzlDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDN0loMkJGLE9BQU8sRzZJaTJCdEI7O0FBRUQsQUFBQSwrQkFBK0IsQ0FBQztFQUUvQixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQzdJLzFCSixPQUFPO0U2SWcyQnBCLFlBQVksRUFBRSxLQUFLLEdBQ25COztBQUdELEFBQUEsa0NBQWtDLENBQUM7RUFDbEMsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLEM3SXYyQkYsT0FBTztFNkl3MkJ0QixZQUFZLEVBQUUsS0FBSyxHQUNuQjs7QUFrREQsQUFDQyxRQURPLENBQ1AsQ0FBQyxFQURGLFFBQVEsQ0FsdkJQLFVBQVUsRUFrdkJYLFFBQVEsQ0ExY1IsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsRUE1RUgsUUFBUSxDQWdEUCxRQUFRLENBMFpULFFBQVEsQ0E5WE4sQ0FBQyxFQThYSCxRQUFRLENDaC9CVCxJQUFJLENEc2xCRixRQUFRLENBNEJQLENBQUMsRUNsbkJKLElBQUksQ0RzbEJGLFFBQVEsQ0EwWlQsUUFBUSxDQTlYTixDQUFDLEVBOFhILFFBQVEsQ0NwNUJULGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0EwWlQsUUFBUSxDQTlYTixDQUFDLEVBOFhILFFBQVEsQ0cvOUJSLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxFR2ptQkgsVUFBVSxDSHFrQlQsUUFBUSxDQTBaVCxRQUFRLENBOVhOLENBQUMsQ0ErWEE7RUFFRCxjQUFjLEVBQUUsSUFBSSxHQUNwQjs7QUFHRixBQUNDLGlCQURnQixDQUNoQixDQUFDLEVBREYsaUJBQWlCLENBenZCaEIsVUFBVSxFQXl2QlgsaUJBQWlCLENBamRqQixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxFQTVFSCxRQUFRLENBZ0RQLFFBQVEsQ0FpYVQsaUJBQWlCLENBcllmLENBQUMsRUFxWUgsaUJBQWlCLENDdi9CbEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLEVDbG5CSixJQUFJLENEc2xCRixRQUFRLENBaWFULGlCQUFpQixDQXJZZixDQUFDLEVBcVlILGlCQUFpQixDQzM1QmxCLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0FpYVQsaUJBQWlCLENBcllmLENBQUMsRUFxWUgsaUJBQWlCLENHdCtCakIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLEVHam1CSCxVQUFVLENIcWtCVCxRQUFRLENBaWFULGlCQUFpQixDQXJZZixDQUFDLENBc1lBO0VBR0QsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUksR0FDbEI7O0FBR0YsQUFBQSxZQUFZLENBQUM7RUFDWixPQUFPLEVBQUUsU0FBUyxHQUtsQjtFcEluMkJJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lvSTYxQjlDLEFBQUEsWUFBWSxDQUFDO01BSVgsT0FBTyxFQUFFLFNBQVMsR0FFbkI7O0FBWUQsQUFBQSxRQUFRLENBQUM7RUFDUixPQUFPLEVBQUUsTUFBTSxHQUNmOztBQUVELEFBQUEsY0FBYyxFS3JhZCwwQkFBMEIsQ0E2RXpCLFlBQVksQ0x3VkU7RUFDZCxPQUFPLEVBQUUsSUFBSSxHQUNiOztBQXVCRCxBQUFBLGFBQWEsQ0FBQztFQUNiLGFBQWEsRUFBRSxJQUFJLEdBQ25COztBdkVsOEJBLEFBQUEsS0FBSyxDdUVvOEJBO0VBQ0wsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLEM3SXI5QkcsT0FBTztFNklzOUIzQixnQkFBZ0IsRUFBRSxJQUFJO0VBRXRCLE9BQU8sRUFBRSxTQUFTLEdBYWxCO0VwSTc1QkksTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJNkR6RDNDLEFBQUEsS0FBSyxDdUVvOEJBO01BUUosT0FBTyxFQUFFLFdBQVcsR0FVckI7RUFsQkQsQUFXQyxLQVhJLENBV0osYUFBYSxDQUFDO0lBQ2IsT0FBTyxFQUFFLENBQUMsR0FDVjtFQWJGLEFBZ0JFLEtBaEJHLENBZUosWUFBWSxDQUNYLENBQUMsRUFoQkgsS0FBSyxDQWVKLFlBQVksQ0FwMEJaLFVBQVUsQ0FxMEJQO0lBQUUsU0FBUyxFQUFFLEtBQUssR0FBSTs7QUFPekIsQUFDQyxxQkFEb0IsQUFDbkIsTUFBTSxDQUFDO0VBQ1AsWUFBWSxFQUFFLE9BQThCO0VBQzVDLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBRSxLQUFJLENBQUMsbUJBQWtCO0VBQ2hELGtCQUFrQixFQUFFLGdCQUFnQjtFQUNwQyxhQUFhLEVBQUUsZ0JBQWdCO0VBQy9CLFVBQVUsRUFBRSxnQkFBZ0IsR0FDNUI7O0FwSXo2QkUsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxPQUFPLFNBQVMsRUFBRSxTQUFTO0VvSSs2QmpFLEFBQUEscUJBQXFCLENBQUM7SUFHcEIsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLElBQUk7SUFDcEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLElBQUksR0FPcEI7SUFiRCxBQVFFLHFCQVJtQixDQVFuQixTQUFTLENBQUM7TUFDVCxNQUFNLEVBQUUsS0FBSztNQUNiLFdBQVcsRUFBRSxLQUFLLEdBQ2xCOztBQVNKLEFBRUMscUJBRm9CLENBRXBCLGVBQWUsRUtqaENoQixzQkFBc0IsQ0xpaENyQixlQUFlLEVLdGlCaEIsK0JBQStCLENMc2lCOUIsZUFBZSxFTXJqQmhCLHVCQUF1QixDTnFqQnRCLGVBQWUsQ0FBQztFQUNmLE9BQU8sRUFBRSxRQUFRLEdBQ2pCOztBQUpGLEFBTUMscUJBTm9CLENBTXBCLGFBQWEsRUtyaENkLHNCQUFzQixDTHFoQ3JCLGFBQWEsRUsxaUJkLCtCQUErQixDTDBpQjlCLGFBQWEsRU16akJkLHVCQUF1QixDTnlqQnRCLGFBQWEsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRLEdBa0JsQjtFQXpCRixBQWVFLHFCQWZtQixDQU1wQixhQUFhLENBU1osR0FBRyxFSzloQ0wsc0JBQXNCLENMcWhDckIsYUFBYSxDQVNaLEdBQUcsRUtuakJMLCtCQUErQixDTDBpQjlCLGFBQWEsQ0FTWixHQUFHLEVNbGtCTCx1QkFBdUIsQ055akJ0QixhQUFhLENBU1osR0FBRyxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNaOztBQWxCSCxBQTJCQyxxQkEzQm9CLENBMkJwQixVQUFVLEVLMWlDWCxzQkFBc0IsQ0wwaUNyQixVQUFVLEVLL2pCWCwrQkFBK0IsQ0wrakI5QixVQUFVLEVNOWtCWCx1QkFBdUIsQ044a0J0QixVQUFVLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU8sRUFBRSxLQUFLLEdBQ2Q7O0FBV0YsQUFFQyxhQUZZLENBRVosV0FBVyxDQUFDO0VBQ1gsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsY0FBYyxFQUFFLE1BQU0sR0F5Q3RCO0VBOUNGLEFBT0UsYUFQVyxDQUVaLFdBQVcsQ0FLVixDQUFDLENBQUM7SUFDRCxhQUFhLEVBQUUsZUFBZSxHQUM5QjtFQVRILEFBV0UsYUFYVyxDQUVaLFdBQVcsQ0FTVixFQUFFLENBQUM7SUFDRixhQUFhLEVBQUUsQ0FBQztJQUNoQixjQUFjLEVBQUUsTUFBTSxHQU90QjtJQXBCSCxBQWdCRyxhQWhCVSxDQUVaLFdBQVcsQ0FTVixFQUFFLENBS0QsSUFBSSxDQUFDO01BOXpCTCxhQUFhLEVBQUUsR0FBRyxDQUFDLE1BQU0sQzdJalNiLE9BQU87TTZJaW1DbEIsU0FBUyxFQUFFLEtBQUssR0FDaEI7TUFuQkosQUE3eUJHLGFBNnlCVSxDQUVaLFdBQVcsQ0FTVixFQUFFLENBS0QsSUFBSSxBQTd6QkgsTUFBTSxDQUFDO1FBQ1AsbUJBQW1CLEU3SXpTUCxPQUFPLEc2STBTbkI7RUEyeUJKLEFBc0JFLGFBdEJXLENBRVosV0FBVyxDQW9CVixDQUFDLEVBdEJILGFBQWEsQ0FFWixXQUFXLENBNTVCWCxVQUFVLENBZzdCUDtJQUNELFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRTdJdmxDTyxPQUFPLEc2SXdsQ25CO0VBMUJILEFBNEJFLGFBNUJXLENBRVosV0FBVyxDQTBCVixTQUFTLENBQUM7SUFDVCxNQUFNLEVBQUUsSUFBSSxHQVVaO0lwSTVoQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TW9JcS9COUMsQUE0QkUsYUE1QlcsQ0FFWixXQUFXLENBMEJWLFNBQVMsQ0FBQztRQUdSLE1BQU0sRUFBRSxJQUFJLEdBUWI7RUF2Q0gsQUEwQ0csYUExQ1UsQ0FFWixXQUFXLENBdUNWLHNCQUFzQixDQUNyQixXQUFXLENBQUM7SUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNoQjs7QUFNSixBQUFBLFdBQVcsQ0FBQztFbEh6bUNYLFNBQVMsRXhCVEMsS0FBNkM7RStCbERyRCxZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUlqQixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxHQUFHLENBbEJDLElBQUk7RTJHdXJDckIsS0FBSyxFQUFDLElBQUksR0F1Q1Y7RUE5Q0QsQUFRQyxXQVJVLENBUVYsV0FBVyxDQUFDO0lBRVgsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsY0FBYyxFQUFFLE1BQU0sR0FpQ3RCO0lBN0NGLEFBYUUsV0FiUyxDQVFWLFdBQVcsQ0FLVixFQUFFLENBQUM7TUFDRixhQUFhLEVBQUUsQ0FBQztNQUNoQixjQUFjLEVBQUUsTUFBTSxHQUt0QjtNQXBCSCxBQWdCRyxXQWhCUSxDQVFWLFdBQVcsQ0FLVixFQUFFLENBR0QsSUFBSSxDQUFDO1FBaDNCTCxhQUFhLEVBQUUsR0FBRyxDQUFDLE1BQU0sQzdJalNiLE9BQU87UTZJbXBDbEIsU0FBUyxFQUFFLEtBQUssR0FDaEI7UUFuQkosQUEvMUJHLFdBKzFCUSxDQVFWLFdBQVcsQ0FLVixFQUFFLENBR0QsSUFBSSxBQS8yQkgsTUFBTSxDQUFDO1VBQ1AsbUJBQW1CLEU3SXpTUCxPQUFPLEc2STBTbkI7SUE2MUJKLEFBcUJFLFdBckJTLENBUVYsV0FBVyxDQWFWLENBQUMsRUFyQkgsV0FBVyxDQVFWLFdBQVcsQ0FwOUJYLFVBQVUsQ0FpK0JQO01BRUQsV0FBVyxFQUFFLEdBQUc7TUFDaEIsU0FBUyxFQUFFLEtBQUs7TUFDaEIsS0FBSyxFN0l6b0NPLE9BQU8sRzZJMG9DbkI7SUExQkgsQUEyQkUsV0EzQlMsQ0FRVixXQUFXLENBbUJWLFNBQVMsQ0FBQztNQUNULE1BQU0sRUFBRSxJQUFJLEdBVVo7TXBJN2tDRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRb0l1aUM5QyxBQTJCRSxXQTNCUyxDQVFWLFdBQVcsQ0FtQlYsU0FBUyxDQUFDO1VBR1IsTUFBTSxFQUFFLElBQUksR0FRYjtJQXRDSCxBQXVDRSxXQXZDUyxDQVFWLFdBQVcsQ0ErQlYsc0JBQXNCLENBQUM7TWxIaHBDeEIsU0FBUyxFeEJUQyxLQUE2QztNK0JsRHJELFlBQVksRUFBRSxJQUFJO01BQ2xCLFdBQVcsRUFBRSxJQUFJO01BSWpCLE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLEdBQUcsQ0FsQkMsSUFBSSxHMkc0dENuQjtNQTVDSCxBQXlDRyxXQXpDUSxDQVFWLFdBQVcsQ0ErQlYsc0JBQXNCLENBRXJCLFdBQVcsQ0FBQztRQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ2hCOztBQWtISjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bb0NLO0FBU0wsQUFBQSxVQUFVLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSSxHQUNYOztBQU9ELEFBS0MsT0FMTSxBQUFBLFFBQVEsQ0FLZCxjQUFjLENBQUM7RTNHOXlDZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsRzhHdTVDdEM7RXBJeHdDRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJb0kwdkM5QyxBQUtDLE9BTE0sQUFBQSxRQUFRLENBS2QsY0FBYyxDQUFDO005RzU0Q2IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHOEd1NUN0QztFcEl4d0NHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lvSTB2QzlDLEFBS0MsT0FMTSxBQUFBLFFBQVEsQ0FLZCxjQUFjLENBQUM7TTNHOXlDZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsRzhHdTVDdEM7RXBJeHdDRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SW9JMHZDOUMsQUFLQyxPQUxNLEFBQUEsUUFBUSxDQUtkLGNBQWMsQ0FBQztNOUc1NENiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsRzhHdTVDdEM7RUFkRixBQVVFLE9BVkssQUFBQSxRQUFRLENBS2QsY0FBYyxDQUtiLENBQUMsRUFWSCxPQUFPLEFBQUEsUUFBUSxDQUtkLGNBQWMsQ0FwcUNkLFVBQVUsQ0F5cUNQO0lBRUQsYUFBYSxFQUFFLE1BQU0sR0FDckI7O0FBT0gsQUFBQSxnQ0FBZ0MsRUFXaEMsS0FBSyxFUzU3Q04sYUFBYSxDVGk3Q3FCO0VBQ2hDLFVBQVUsRUFBRSxnQ0FBZ0M7RUFDNUMsaUJBQWlCLEVBQUUsTUFBTSxHQU96QjtFQVRELEFBSUMsZ0NBSitCLENBSS9CLFVBQVUsRUFPWCxLQUFLLENBUEosVUFBVSxFU3I3Q1osYUFBYSxDVHE3Q1gsVUFBVSxDQUFDO0lBQ1YsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUseUlBQXlJLEdBQ3JKOztBcEloeENHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7RW9Jb3hDNUMsQUFLQyxLQUxJLENBS0osVUFBVSxDQUFDO0lBTVQsY0FBYyxFQUFFLElBQUksR0FFckI7O0FBYkYsQUFjQyxLQWRJLENBY0osUUFBUSxDQUFDO0VsSHoyQ1QsU0FBUyxFeEJUQyxLQUE2QztFK0JsRHJELFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBSWpCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLEdBQUcsQ0FsQkMsSUFBSTtFMUI2QnJCLGVBQWUsRUFuREgsTUFBTSxHcUl5OENqQjs7QUFqQkYsQUFtQkMsS0FuQkksQ0FtQkosYUFBYSxDQUFDO0VBQ2IsVUFBVSxFQUFFLE1BQU07RTNHNTFDbkIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCO0U4Rzg3Q3RDLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBZ0VwQjtFcEloM0NHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lvSXl4QzlDLEFBbUJDLEtBbkJJLENBbUJKLGFBQWEsQ0FBQztNOUd6N0NaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsRzhHKy9DdEM7RXBJaDNDRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJb0l5eEM5QyxBQW1CQyxLQW5CSSxDQW1CSixhQUFhLENBQUM7TUFPWixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsSUFBSSxHQTREckI7RUF2RkYsQUE4QkUsS0E5QkcsQ0FtQkosYUFBYSxDQVdaLENBQUMsRUE5QkgsS0FBSyxDQW1CSixhQUFhLENBanRDYixVQUFVLENBNHRDUDtJQUNELFVBQVUsRUFBRSxNQUFNLEdBQ2xCO0VBaENILEFBa0NFLEtBbENHLENBbUJKLGFBQWEsQ0FlWixTQUFTLENBQUM7SUFDVCxjQUFjLEVBQUUsU0FBUztJQUN6QixLQUFLLEVBQUUsd0JBQXlCO0lBQ2hDLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLHdCQUF5QjtJQUMzQyxZQUFZLEVBQUUsR0FBRztJQUNqQixZQUFZLEVBQUUsT0FBTztJQUNyQixPQUFPLEVBQUUsV0FBVyxHQUNwQjtFQTFDSCxBQTRDRSxLQTVDRyxDQW1CSixhQUFhLENBeUJaLFNBQVMsQ0FBQztJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBQ25CO0VBcERILEFBc0RFLEtBdERHLENBbUJKLGFBQWEsQ0FtQ1osRUFBRSxDQUFDO0lBQ0YsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFN0lyN0NELE9BQU87STZJczdDWCxzQkFBc0I7SUFFdEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsd0JBQXlCO0lBQzNDLFlBQVksRUFBRSxPQUFPO0lBQ3JCLFlBQVksRUFBRSxHQUFHO0lBQ2pCLE9BQU8sRUFBRSxXQUFXO0lBRXBCLFVBQVUsRUFBQyxNQUFNLENBQUEsVUFBVSxHQVczQjtJcEkvMUNFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7TW9Jb3hDNUMsQUFzREUsS0F0REcsQ0FtQkosYUFBYSxDQW1DWixFQUFFLENBQUM7UUFhRCxPQUFPLEVBQUUsUUFBUSxHQVFsQjtFQTNFSCxBQThCRSxLQTlCRyxDQW1CSixhQUFhLENBV1osQ0FBQyxFQTlCSCxLQUFLLENBbUJKLGFBQWEsQ0FqdENiLFVBQVUsQ0Eyd0NQO0lBQ0QsS0FBSyxFN0l2N0NRLE9BQU87STZJdzdDcEIsV0FBVyxFQUFFLEdBQUc7SUFFaEIsT0FBTyxFQUFFLEtBQUssR0FLZDtJcEkxMkNFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7TW9Jb3hDNUMsQUE4QkUsS0E5QkcsQ0FtQkosYUFBYSxDQVdaLENBQUMsRUE5QkgsS0FBSyxDQW1CSixhQUFhLENBanRDYixVQUFVLENBMndDUDtRQU9BLE9BQU8sRUFBRSxNQUFNLEdBRWhCOztBQUlILEFBRUMsV0FGVSxDQUVWLGFBQWEsQ0FBQztFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBTXBCO0VwSTczQ0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SW9JbTNDOUMsQUFFQyxXQUZVLENBRVYsYUFBYSxDQUFDO01BS1osV0FBVyxFQUFFLGVBQWU7TUFDNUIsY0FBYyxFQUFFLGVBQWUsR0FFaEM7O0FDaGlESCxBQUFBLElBQUksQ0FBQztFRDBIRixVQUFVLEVBQUUsd0NBQXFFLEdDdEduRjtFQXBCRCxBQUlFLElBSkUsQ0FHSCxVQUFVLENBQ1QsUUFBUSxDQUFDO0lBQ1IsS0FBSyxFOUkwREEsT0FBTztJMkJrQ2IsU0FBUyxFeEJUQyxLQUE2QztJK0JsRHJELFlBQVksRUFBRSxJQUFJO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBSWpCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLEdBQUcsQ0FsQkMsSUFBSSxHNEdScEI7SUFsQkgsQUFRRyxJQVJDLENBR0gsVUFBVSxDQUNULFFBQVEsQ0FJUCxjQUFjLENBQUM7TUFDZCxVQUFVLEVBQUUsTUFBTTtNNUcyR3BCLElBQUksRUF4REcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO01IdENaLGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkI7TUdxRXJDLFNBQVMsRUFBRSxDQUFDLEc0RzNFWjtNcklxSkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXFJbksvQyxBQVFHLElBUkMsQ0FHSCxVQUFVLENBQ1QsUUFBUSxDQUlQLGNBQWMsQ0FBQztVL0djZCxhQUFhLEVBRkgsT0FBMkI7VUFHckMsWUFBWSxFQUhGLE9BQTJCLEcrR05yQztNcklxSkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXFJbksvQyxBQVFHLElBUkMsQ0FHSCxVQUFVLENBQ1QsUUFBUSxDQUlQLGNBQWMsQ0FBQztVNUc0R2hCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHK0dOckM7RXJJcUpFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJcUluSy9DLEFBUUcsSUFSQyxDQUdILFVBQVUsQ0FDVCxRQUFRLENBSVAsY0FBYyxDQUFDO00vR2NkLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsRytHTnJDO0lBZEosQUFlRyxJQWZDLENBR0gsVUFBVSxDQUNULFFBQVEsQ0FXUCxVQUFVLENBQUM7TUFDVixXQUFXLEVBQUUsS0FBSyxHQUNsQjs7QUFLSixBQUFBLFVBQVUsQ0FBQztFQUNWLFVBQVUsRTlJNERNLE9BQU87RThJM0R2QixVQUFVLEU5STZETSxPQUFPO0U4STVEdkIsS0FBSyxFOUlpRVUsT0FBTztFOEloRXRCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGNBQWMsRUFBRSxNQUFNLEdBNkR0QjtFckk4RUssTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJcUlsSjdDLEFBV0UsVUFYUSxDQVNULFVBQVUsQ0FFVCxRQUFRLENBQUM7TUFHUCxXQUFXLEVBQUUsTUFBTTtNQUNuQixjQUFjLEVBQUUsTUFBTSxHQTZDdkI7RUE1REgsQUF1QkcsVUF2Qk8sQ0FTVCxVQUFVLENBRVQsUUFBUSxDQVlQLFlBQVksQ0FBQztJQUdaLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLEdBWWY7SUF2Q0osQUErQkksVUEvQk0sQ0FTVCxVQUFVLENBRVQsUUFBUSxDQVlQLFlBQVksQ0FRWCxFQUFFLENBQUM7TUFDRixXQUFXLEVBQUUsY0FBYyxHQUszQjtNckk2R0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztRcUlsSjdDLEFBK0JJLFVBL0JNLENBU1QsVUFBVSxDQUVULFFBQVEsQ0FZUCxZQUFZLENBUVgsRUFBRSxDQUFDO1VBR0QsU0FBUyxFQUFFLElBQUksR0FHaEI7RUFyQ0wsQUF3Q0csVUF4Q08sQ0FTVCxVQUFVLENBRVQsUUFBUSxDQTZCUCxRQUFRLENBQUM7SUFDUixLQUFLLEVBQUUsS0FBSztJQUNaLFlBQVksRUFBRSxDQUFDO0lBQ2YsYUFBYSxFQUFFLENBQUMsR0FPaEI7SXJJMkZFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO01xSTdJL0MsQUF3Q0csVUF4Q08sQ0FTVCxVQUFVLENBRVQsUUFBUSxDQTZCUCxRQUFRLENBQUM7UUFLUCxhQUFhLEVBQUUsS0FBSyxHQUtyQjtJcklnR0UsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztNcUlsSjdDLEFBd0NHLFVBeENPLENBU1QsVUFBVSxDQUVULFFBQVEsQ0E2QlAsUUFBUSxDQUFDO1FBUVAsV0FBVyxFQUFFLElBQUksR0FFbEI7RUFsREosQUF1REksVUF2RE0sQ0FTVCxVQUFVLENBRVQsUUFBUSxDQTBDUCxXQUFXLENBRVYsR0FBRyxDQUFDO0lBQ0gsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsSUFBSSxHQUNYO0VBMURMLEFBOERHLFVBOURPLENBU1QsVUFBVSxDQW9EVCxnQkFBZ0IsQ0FDZixZQUFZO0VBOURmLFVBQVUsQ0FTVCxVQUFVLENBb0RULGdCQUFnQixDQUVmLFFBQVEsQ0FBQztJQUNSLFVBQVUsRUFBRSxNQUFNLEdBQ2xCOztBQUtKLEFBQUEsa0JBQWtCLENBQUM7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUk7RUFDcEIsVUFBVSxFQUFFLE9BQU8sR0EwQ25CO0VBN0NELEFBT0Msa0JBUGlCLENBT2pCLFVBQVUsQ0FBQztJQUNWLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBbUNwQjtJQTVDRixBQVVFLGtCQVZnQixDQU9qQixVQUFVLENBR1QsUUFBUSxDQUFDO01uSExULFNBQVMsRXhCVEMsS0FBNkM7TStCbERyRCxZQUFZLEVBQUUsSUFBSTtNQUNsQixXQUFXLEVBQUUsSUFBSTtNQUlqQixPQUFPLEVBQUUsSUFBSTtNQUNiLFNBQVMsRUFBRSxHQUFHLENBbEJDLElBQUksRzRHNkdwQjtNQTNDSCxBQWNJLGtCQWRjLENBT2pCLFVBQVUsQ0FHVCxRQUFRLENBRVAsTUFBTSxDRHNKUCxVQUFVLEVDbEtaLGtCQUFrQixDQU9qQixVQUFVLENEbWZULFFBQVEsQ0M5ZVAsTUFBTSxDRDBnQk4sQ0FBQyxDQ3hnQkU7UUFFRCxTQUFTLEVBQUUsTUFBTTtRQUNqQixXQUFXLEVBQUUsR0FBRztRQUNoQixXQUFXLEVBQUUsQ0FBQztRQUNkLE9BQU8sRUFBRSxZQUFZLEdBQ3JCO01BcEJMLEFBc0JHLGtCQXRCZSxDQU9qQixVQUFVLENBR1QsUUFBUSxDQVlQLFFBQVEsQ0FBQztRQUNSLFdBQVcsRUFBRSxJQUFJLEdBbUJqQjtRQTFDSixBQXlCSyxrQkF6QmEsQ0FPakIsVUFBVSxDQUdULFFBQVEsQ0FZUCxRQUFRLENBRVAsSUFBSSxDQUNILFdBQVcsQ0FBQztVQUNYLE9BQU8sRUFBRSxZQUFZO1VBQ3JCLEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixhQUFhLEVBQUUsR0FBRyxHQUNsQjtRQTlCTixBQWdDSSxrQkFoQ2MsQ0FPakIsVUFBVSxDQUdULFFBQVEsQ0FZUCxRQUFRLENBVVAsS0FBSyxDQUFDO1VBQ0wsVUFBVSxFQUFFLElBQUksR0FRaEI7VUF6Q0wsQUFrQ0ssa0JBbENhLENBT2pCLFVBQVUsQ0FHVCxRQUFRLENBWVAsUUFBUSxDQVVQLEtBQUssQ0RrSVAsVUFBVSxFQ2xLWixrQkFBa0IsQ0FPakIsVUFBVSxDRG1mVCxRQUFRLENDcGVQLFFBQVEsQ0FVUCxLQUFLLENEc2ZOLENBQUMsQ0NwZkc7WUFDRCxPQUFPLEVBQUUsQ0FBQztZQUNWLE1BQU0sRUFBRSxDQUFDLEdBSVQ7WUF4Q04sQUFxQ00sa0JBckNZLENBT2pCLFVBQVUsQ0FHVCxRQUFRLENBWVAsUUFBUSxDQVVQLEtBQUssQ0FLRixLQUFLLEFENkhWLFVBQVUsRUNsS1osa0JBQWtCLENBT2pCLFVBQVUsQ0RtZlQsUUFBUSxDQ3BlUCxRQUFRLENBVVAsS0FBSyxDRHNmTixDQUFDLEFDamZHLEtBQUssQ0FBQztjQUNOLFdBQVcsRUFBRSxHQUFHLEdBQ2hCOztBQVlQLEFBQUEsd0NBQXdDLENBQUM7RUFFeEMsVUFBVSxFQUFFLGtCQUFrQjtFQUM5QiwrQkFBK0I7RUFDL0IsVUFBVSxFQUFFLG1EQUFtRCxDQUFDLFVBQVU7RUFDMUUsZ0NBQWdDO0VBQ2hDLFVBQVUsRUFBRSwyQ0FBMkMsQ0FBQyxVQUFVO0VBQ2xFLHNFQUFzRSxFQTBEdEU7RUFqRUQsQUFTQyx3Q0FUdUMsQ0FTdkMseUJBQXlCLENBQUM7SUFDekIsV0FBVyxFQUFFLFlBQVksR0FxRHpCO0lBL0RGLEFBYUcsd0NBYnFDLENBU3ZDLHlCQUF5QixDQUl2QixxQkFBcUIsQ0FBQztNNUd4Q3ZCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQjtNK0cwSXJDLFVBQVUsRUFBRSxJQUFJLEdBK0NoQjtNckkxQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXFJcEIvQyxBQWFHLHdDQWJxQyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBQUM7VS9HdElyQixhQUFhLEVBRkgsT0FBMkI7VUFHckMsWUFBWSxFQUhGLE9BQTJCLEcrR3lMckM7TXJJMUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1FxSXBCL0MsQUFhRyx3Q0FicUMsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQUFDO1U1R3hDdkIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEcrR3lMckM7RXJJMUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJcUlwQi9DLEFBYUcsd0NBYnFDLENBU3ZDLHlCQUF5QixDQUl2QixxQkFBcUIsQ0FBQztNL0d0SXJCLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsRytHeUxyQztNQTlESixBQXFCSSx3Q0FyQm9DLENBU3ZDLHlCQUF5QixDQUl2QixxQkFBcUIsQ0FRcEIsYUFBYSxDQUFDO1FBQ2IsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixhQUFhLEVBQUUsR0FBRztRQUNsQixVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQWlCLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQWU7UUFDcEUsT0FBTyxFQUFFLE1BQU0sR0FtQ2Y7UUE1REwsQUErQk0sd0NBL0JrQyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ0FVWCxZQUFZLENBQUM7VTVHMURqQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkIsRytHbUtsQztVcklwQkQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7WXFJcEIvQyxBQStCTSx3Q0EvQmtDLENBU3ZDLHlCQUF5QixDQUl2QixxQkFBcUIsQ0FRcEIsYUFBYSxDQVVYLFlBQVksQ0FBQztjL0d4SmYsYUFBYSxFQUZILE9BQTJCO2NBR3JDLFlBQVksRUFIRixPQUEyQixHK0dtS2xDO1VySXBCRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtZcUlwQi9DLEFBK0JNLHdDQS9Ca0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENBVVgsWUFBWSxDQUFDO2M1RzFEakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztjTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztjR1BuRCxhQUFhLEVBRkgsU0FBMkI7Y0FHckMsWUFBWSxFQUhGLFNBQTJCLEcrR21LbEM7RXJJcEJELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJcUlwQi9DLEFBK0JNLHdDQS9Ca0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENBVVgsWUFBWSxDQUFDO00vR3hKZixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEcrR21LbEM7UUF4Q1AsQUEwQ00sd0NBMUNrQyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ0FxQlgsWUFBWSxDQUFDO1U1R3JFakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEcrR3NMbEM7VXJJdkNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1lxSXBCL0MsQUEwQ00sd0NBMUNrQyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ0FxQlgsWUFBWSxDQUFDO2MvR25LZixhQUFhLEVBRkgsT0FBMkI7Y0FHckMsWUFBWSxFQUhGLE9BQTJCLEcrR3NMbEM7VXJJdkNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1lxSXBCL0MsQUEwQ00sd0NBMUNrQyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ0FxQlgsWUFBWSxDQUFDO2M1R3JFakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztjTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztjR1BuRCxhQUFhLEVBRkgsU0FBMkI7Y0FHckMsWUFBWSxFQUhGLFNBQTJCLEcrR3NMbEM7RXJJdkNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJcUlwQi9DLEFBMENNLHdDQTFDa0MsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENBcUJYLFlBQVksQ0FBQztNL0duS2YsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHK0dzTGxDO1VBM0RQLEFBa0RPLHdDQWxEaUMsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENBcUJYLFlBQVksQ0FRWCxFQUFFLENBQUM7WUFFRixTQUFTLEVBQUUsSUFBSSxHQUNmO1VBckRSLEFBc0RPLHdDQXREaUMsQ0FTdkMseUJBQXlCLENBSXZCLHFCQUFxQixDQVFwQixhQUFhLENBcUJYLFlBQVksQ0FZWCxDQUFDLEVBdERSLHdDQUF3QyxDQVN2Qyx5QkFBeUIsQ0FJdkIscUJBQXFCLENBUXBCLGFBQWEsQ0FxQlgsWUFBWSxDRHFFaEIsVUFBVSxDQ3pESDtZQUNELFNBQVMsRUFBRSxJQUFJO1lBQ2YsTUFBTSxFQUFFLENBQUMsR0FDVDs7QUNqTVAsQUFBQSxJQUFJLEFBQUEsYUFBYSxFQUFFLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUFDO0VBQ3JGLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBa0RwQjtFQXBERCxBQUlDLElBSkcsQUFBQSxhQUFhLENBSWhCLEtBQUssRUFKYSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FJcEYsS0FBSyxDQUFDO0lBQ0wsWUFBWSxFQUFFLE9BQU87SUFDckIsYUFBYSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLElBQUksR0FLaEI7SUFaRixBQVNFLElBVEUsQUFBQSxhQUFhLENBSWhCLEtBQUssQUFLSCxhQUFhLEVBVEcsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsd0JBQXdCLENBSXBGLEtBQUssQUFLSCxhQUFhLENBQUM7TUFDZCxLQUFLLEVBQUUsT0FBa0IsR0FDekI7RUFYSCxBQWNDLElBZEcsQUFBQSxhQUFhLENBY2hCLFFBQVEsRUFkVSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FjcEYsUUFBUSxDQUFDO0lBQ1IsYUFBYSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLElBQUksR0FDaEI7RUFqQkYsQUFtQkMsSUFuQkcsQUFBQSxhQUFhLENBbUJoQixRQUFRLEFBQUEsWUFBWSxFQW5CckIsSUFBSSxBQUFBLGFBQWEsQ0FtQk0sUUFBUSxBQUFBLG9CQUFvQixFQW5CaEMsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsd0JBQXdCLENBbUJwRixRQUFRLEFBQUEsWUFBWSxFQW5CRixtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQjlELFFBQVEsQUFBQSxvQkFBb0IsQ0FBQztJQUNsRCxVQUFVLEVBQUUsS0FBSztJQUNqQixZQUFZLEVBQUUsU0FBUyxHQWN2QjtJQW5DRixBQXVCRSxJQXZCRSxBQUFBLGFBQWEsQ0FtQmhCLFFBQVEsQUFBQSxZQUFZLEFBSWxCLE9BQU8sRUF2QlYsSUFBSSxBQUFBLGFBQWEsQ0FtQmhCLFFBQVEsQUFBQSxZQUFZLEFBSVIsTUFBTSxFQXZCbkIsSUFBSSxBQUFBLGFBQWEsQ0FtQmhCLFFBQVEsQUFBQSxZQUFZLEFBSUMsTUFBTSxFQXZCNUIsSUFBSSxBQUFBLGFBQWEsQ0FtQk0sUUFBUSxBQUFBLG9CQUFvQixBQUloRCxPQUFPLEVBdkJWLElBQUksQUFBQSxhQUFhLENBbUJNLFFBQVEsQUFBQSxvQkFBb0IsQUFJdEMsTUFBTSxFQXZCbkIsSUFBSSxBQUFBLGFBQWEsQ0FtQk0sUUFBUSxBQUFBLG9CQUFvQixBQUk3QixNQUFNLEVBdkJULG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQW1CcEYsUUFBUSxBQUFBLFlBQVksQUFJbEIsT0FBTyxFQXZCUyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQnBGLFFBQVEsQUFBQSxZQUFZLEFBSVIsTUFBTSxFQXZCQSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQnBGLFFBQVEsQUFBQSxZQUFZLEFBSUMsTUFBTSxFQXZCVCxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQjlELFFBQVEsQUFBQSxvQkFBb0IsQUFJaEQsT0FBTyxFQXZCUyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQjlELFFBQVEsQUFBQSxvQkFBb0IsQUFJdEMsTUFBTSxFQXZCQSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQjlELFFBQVEsQUFBQSxvQkFBb0IsQUFJN0IsTUFBTSxDQUFDO01BQzFCLFVBQVUsRUFBRSxJQUFJLEdBQ2hCO0lBekJILEFBMkJFLElBM0JFLEFBQUEsYUFBYSxDQW1CaEIsUUFBUSxBQUFBLFlBQVksQUFRbEIsT0FBTyxFQTNCVixJQUFJLEFBQUEsYUFBYSxDQW1CaEIsUUFBUSxBQUFBLFlBQVksQUFRUixNQUFNLEVBM0JuQixJQUFJLEFBQUEsYUFBYSxDQW1CTSxRQUFRLEFBQUEsb0JBQW9CLEFBUWhELE9BQU8sRUEzQlYsSUFBSSxBQUFBLGFBQWEsQ0FtQk0sUUFBUSxBQUFBLG9CQUFvQixBQVF0QyxNQUFNLEVBM0JBLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQW1CcEYsUUFBUSxBQUFBLFlBQVksQUFRbEIsT0FBTyxFQTNCUyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQnBGLFFBQVEsQUFBQSxZQUFZLEFBUVIsTUFBTSxFQTNCQSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQjlELFFBQVEsQUFBQSxvQkFBb0IsQUFRaEQsT0FBTyxFQTNCUyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQjlELFFBQVEsQUFBQSxvQkFBb0IsQUFRdEMsTUFBTSxDQUFDO01BQ2pCLFlBQVksRUFBRSxHQUFHLEdBQ2pCO0lBN0JILEFBK0JFLElBL0JFLEFBQUEsYUFBYSxDQW1CaEIsUUFBUSxBQUFBLFlBQVksQUFZbEIsYUFBYSxFQS9CaEIsSUFBSSxBQUFBLGFBQWEsQ0FtQk0sUUFBUSxBQUFBLG9CQUFvQixBQVloRCxhQUFhLEVBL0JHLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQW1CcEYsUUFBUSxBQUFBLFlBQVksQUFZbEIsYUFBYSxFQS9CRyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FtQjlELFFBQVEsQUFBQSxvQkFBb0IsQUFZaEQsYUFBYSxDQUFDO01BQ2QsUUFBUSxFQUFDLFFBQVE7TUFDakIsTUFBTSxFQUFFLElBQUksR0FDWjtFQWxDSCxBQXNDQyxJQXRDRyxBQUFBLGFBQWEsQ0FzQ2hCLEtBQUssQUFBQSxnQkFBZ0IsRUF0Q0gsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsd0JBQXdCLENBc0NwRixLQUFLLEFBQUEsZ0JBQWdCLENBQUM7SUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJO0VBdEMxQyxBQXlDQyxJQXpDRyxBQUFBLGFBQWEsQ0F5Q2hCLElBQUksQUFBQSx1QkFBdUIsRUF6Q1QsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsd0JBQXdCLENBeUNwRixJQUFJLEFBQUEsdUJBQXVCLENBQUM7SUFDM0IsS0FBSyxFL0lhQSxPQUFPLEcrSVpaO0VBM0NGLEFBNENDLElBNUNHLEFBQUEsYUFBYSxDQTRDaEIsSUFBSSxBQUFBLG9CQUFvQixFQTVDTixtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0E0Q3BGLElBQUksQUFBQSxvQkFBb0IsQ0FBQztJQUN4QixLQUFLLEUvSTJCUSxPQUFPO0krSTFCcEIsU0FBUyxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGNBQWMsRUFBRSxLQUFLLEdBQ3hCOztBQU1GLEFBQUEsZUFBZSxDQUFDO0VBSWYsVUFBVSxFQUFFLHdDQUEwRixHQW1LdEc7RUF2S0QsQUFPRSxlQVBhLENBTWQsVUFBVSxDQUNULFFBQVEsQ0FBQztJQUNSLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEtBQUssRS9JVkQsT0FBTztJK0lXWCxXQUFXLEVBQUUsQ0FBQyxHQUNkO0VBWEgsQUFhRSxlQWJhLENBTWQsVUFBVSxDQU9ULE9BQU8sQ0FBQztJQUNQLGNBQWMsRUFBRSxJQUFJLEdBMENwQjtJQXhESCxBQW9CRyxlQXBCWSxDQU1kLFVBQVUsQ0FPVCxPQUFPLENBT04sQ0FBQyxFQXBCSixlQUFlLENBTWQsVUFBVSxDQU9ULE9BQU8sQ0ZpTFIsVUFBVSxDRTFLTjtNQUNELFNBQVMsRUFBRSxLQUFLO01BQ2hCLFdBQVcsRUFBRSxHQUFHLEdBNEJoQjtNQWxESixBQXlCSSxlQXpCVyxDQU1kLFVBQVUsQ0FPVCxPQUFPLENBT04sQ0FBQyxDQUtBLFNBQVMsRUF6QmIsZUFBZSxDQU1kLFVBQVUsQ0FPVCxPQUFPLENGaUxSLFVBQVUsQ0VyS1AsU0FBUyxDQUFDO1FBQ1QsV0FBVyxFQUFFLE1BQU07UUFDbkIsU0FBUyxFQUFFLEtBQUs7UUFDaEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FFaEI7TUEvQkwsQUFpQ0ksZUFqQ1csQ0FNZCxVQUFVLENBT1QsT0FBTyxDQU9OLENBQUMsQ0FhQSxjQUFjLEVBakNsQixlQUFlLENBTWQsVUFBVSxDQU9ULE9BQU8sQ0ZpTFIsVUFBVSxDRTdKUCxjQUFjLENBQUM7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixTQUFTLEVBQUUsSUFBSTtRQUNmLEdBQUcsRUFBRSxLQUFLO1FBQ1YsV0FBVyxFQUFFLENBQUM7UUFDZCxjQUFjLEVBQUUsUUFBUSxHQUN4QjtNQXZDTCxBQXlDSSxlQXpDVyxDQU1kLFVBQVUsQ0FPVCxPQUFPLENBT04sQ0FBQyxDQXFCQSxDQUFDLEVBekNMLGVBQWUsQ0FNZCxVQUFVLENBT1QsT0FBTyxDRmlMUixVQUFVLENFckpQLENBQUMsQ0FBQTtRQUNBLEtBQUssRUFBRSxPQUF5QixHQU9oQztRQWpETCxBQTRDSyxlQTVDVSxDQU1kLFVBQVUsQ0FPVCxPQUFPLENBT04sQ0FBQyxDQXFCQSxDQUFDLEFBR0MsTUFBTSxFQTVDWixlQUFlLENBTWQsVUFBVSxDQU9ULE9BQU8sQ0ZpTFIsVUFBVSxDRXJKUCxDQUFDLEFBR0MsTUFBTSxDQUFDO1VBRVAsS0FBSyxFL0k5QkcsT0FBdUI7VStJK0IvQixtQkFBbUIsRS9JL0JYLE9BQXVCLEcrSWdDL0I7SUFoRE4sQUFvREcsZUFwRFksQ0FNZCxVQUFVLENBT1QsT0FBTyxDQXVDTixFQUFFLEVBcERMLGVBQWUsQ0FNZCxVQUFVLENBT1QsT0FBTyxDQU9OLENBQUMsRUFwQkosZUFBZSxDQU1kLFVBQVUsQ0FPVCxPQUFPLENGaUxSLFVBQVUsQ0UxSUY7TUFDTCxVQUFVLEVBQUUsTUFBTSxHQUNsQjtFQXRESixBQTBERSxlQTFEYSxDQU1kLFVBQVUsQ0FvRFQsU0FBUyxDQUFDO0lBRVQsVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLElBQUksR0FXaEI7SUF4RUgsQUErREcsZUEvRFksQ0FNZCxVQUFVLENBb0RULFNBQVMsR0FLTixDQUFDLENBQUM7TUFDSCxLQUFLLEVBQUUsT0FBdUI7TUFDOUIsYUFBYSxFQUFFLFVBQVUsR0FNekI7TUF2RUosQUFtRUksZUFuRVcsQ0FNZCxVQUFVLENBb0RULFNBQVMsR0FLTixDQUFDLEFBSUQsTUFBTSxDQUFDO1FBRVAsS0FBSyxFL0loRE0sT0FBTyxHK0lpRGxCO0VBdEVMLEFBeUVFLGVBekVhLENBTWQsVUFBVSxDQW1FVCxjQUFjLENBQUM7SUFDZCxVQUFVLEVBQUUsTUFBTSxHQUNsQjtFQTNFSCxBQTZFRSxlQTdFYSxDQU1kLFVBQVUsQ0F1RVQsYUFBYSxDQUFDO0lBQ2IsVUFBVSxFL0kvRU4sT0FBTztJK0lnRlgsYUFBYSxFQUFFLEdBQUc7SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxtQkFBa0I7SUFDaEQsVUFBVSxFQUFFLElBQUksR0FpQ2hCO0lBbkhILEFBcUZHLGVBckZZLENBTWQsVUFBVSxDQXVFVCxhQUFhLENBUVosUUFBUSxFQXJGWCxlQUFlLENBTWQsVUFBVSxDQXVFVCxhQUFhLENBUUYsdUJBQXVCLENBQUM7TUFDakMsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLElBQUksR0FFcEI7SUF6RkosQUEyRkcsZUEzRlksQ0FNZCxVQUFVLENBdUVULGFBQWEsQ0FjWixRQUFRLENBQUM7TUFDUixLQUFLLEUvSWpHRyxPQUFPO00rSWtHZixVQUFVLEVBQUUsa0RBQStEO01BQzNFLHNCQUFzQixFQUFFLEdBQUc7TUFDM0IseUJBQXlCLEVBQUUsR0FBRyxHQWdCOUI7TXRJUEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztRc0l4RzVDLEFBMkZHLGVBM0ZZLENBTWQsVUFBVSxDQXVFVCxhQUFhLENBY1osUUFBUSxDQUFDO1VBT1AsV0FBVyxFQUFFLE1BQU07VUFDbkIsY0FBYyxFQUFFLEtBQUs7VUFDckIsdUJBQXVCLEVBQUUsR0FBRztVQUM1Qix5QkFBeUIsRUFBRSxHQUFHLEdBVS9CO010SVBDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7UXNJeEc1QyxBQXdHSSxlQXhHVyxDQU1kLFVBQVUsQ0F1RVQsYUFBYSxDQWNaLFFBQVEsQ0FhUCxFQUFFLENBQUM7VUFFRCxVQUFVLEVBQUUsSUFBSTtVQUNoQixhQUFhLEVBQUUsSUFBSSxHQUVwQjtFQTdHTCxBQXNIQyxlQXRIYyxDQXNIZCxnQkFBZ0IsQ0FBQztJcEhyRmpCLFNBQVMsRXhCVEMsS0FBNkM7SStCbERyRCxZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUlqQixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxHQUFHLENBbEJDLElBQUk7STZHOEpwQixLQUFLLEUvSXpIQSxPQUFPLEcrSWdLWjtJQS9KRixBQXlIRSxlQXpIYSxDQXNIZCxnQkFBZ0IsQ0FHZixzQkFBc0IsQ0FBQztNN0dyRXhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHZ0gwTXJDO010STNERSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRc0luRzlDLEFBeUhFLGVBekhhLENBc0hkLGdCQUFnQixDQUdmLHNCQUFzQixDQUFDO1VoSG5LdEIsYUFBYSxFQUZILE9BQTJCO1VBR3JDLFlBQVksRUFIRixPQUEyQixHZ0gwTXJDO010STNERSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRc0luRzlDLEFBeUhFLGVBekhhLENBc0hkLGdCQUFnQixDQUdmLHNCQUFzQixDQUFDO1U3R3JFeEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztVR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1U0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEc0SWlJVDtNQTlKSCxBQStIRyxlQS9IWSxDQXNIZCxnQkFBZ0IsQ0FHZixzQkFBc0IsQUFNcEIsT0FBTyxDQUFDO1FBQ1IsWUFBWSxFQUFFLElBQUk7UUFDbEIsTUFBTSxFQUFFLElBQUk7UUFDWixtQkFBbUIsRUFBRSxLQUFLO1FBQzFCLE9BQU8sRUFBRSxHQUFHO1FBQ1osS0FBSyxFQUFFLGdCQUFnQjtRQUN2QixPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxNQUFNO1FBQ2QsWUFBWSxFL0lwSUEsT0FBTyxHK0lxSW5CO01BeElKLEFBeUlHLGVBeklZLENBc0hkLGdCQUFnQixDQUdmLHNCQUFzQixHQWdCbkIsY0FBYyxDQUFDO1FBQ2hCLGdCQUFnQixFL0kzSWIsT0FBTztRK0k0SVYsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLEMvSXRITCxPQUFPO1ErSXVIbkIsT0FBTyxFQUFFLFNBQVM7UUFDbEIsS0FBSyxFL0lwSU0sT0FBTztRK0lxSWxCLEtBQUssRUFBRSxPQUFPO1FBQ2QsVUFBVSxFQUFFLE1BQU07UUFDbEIsVUFBVSxFQUFFLEtBQUssR0FTakI7UUF6SkosQUFpSkksZUFqSlcsQ0FzSGQsZ0JBQWdCLENBR2Ysc0JBQXNCLEdBZ0JuQixjQUFjLENBUWYsRUFBRSxDQUFDO1VBQ0YsU0FBUyxFQUFFLE1BQU07VUFDakIsV0FBVyxFQUFFLEdBQUcsR0FDaEI7UUFwSkwsQUFxSkksZUFySlcsQ0FzSGQsZ0JBQWdCLENBR2Ysc0JBQXNCLEdBZ0JuQixjQUFjLENBWWYsT0FBTyxDQUFDO1VBQ1AsV0FBVyxFQUFFLEdBQUc7VUFDaEIsY0FBYyxFQUFFLFNBQVMsR0FDekI7TUF4SkwsQUEwSkcsZUExSlksQ0FzSGQsZ0JBQWdCLENBR2Ysc0JBQXNCLENBaUNyQixDQUFDLEVBMUpKLGVBQWUsQ0FzSGQsZ0JBQWdCLENBR2Ysc0JBQXNCLENGcUV2QixVQUFVLENFcENOO1FBQ0QsU0FBUyxFQUFFLEtBQUs7UUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FDdEI7RXRJMURDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lzSW5HOUMsQUFrS0MsZUFsS2MsQ0FrS2QsTUFBTSxDQUFDO01BRUwsVUFBVSxFQUFFLElBQUksR0FFakI7O0FDdE9IOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFJRCxBQUFBLFVBQVUsQ0FBQztFQVFWLGdCQUFnQixFQUFFLDJDQUEyQztFQUM3RCxpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLFFBQVEsRUFBRSxNQUFNO0VBRWhCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVEsR0E2RmxCO0VBMUdELEFBZUMsVUFmUyxDQWVULHFCQUFxQixDQUFDO0lBRXJCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLElBQUksR0FHWjtFQXRCRixBQXdCQyxVQXhCUyxDQXdCVCxPQUFPLEFBQUEsUUFBUSxBQUFBLGNBQWMsQUFBQSxNQUFNLENBQUM7SUFDbkMsTUFBTSxFQUFFLGlCQUFpQixHQUN6QjtFQTFCRixBQTZCQyxVQTdCUyxDQTZCVCxVQUFVLENBQUM7SUFFVixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBU2QsZ0JBQWdCLEVBQUUsNENBQTRDO0lBUzlELGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsbUJBQW1CLEVBQUUsVUFBVTtJQUMvQixlQUFlLEVBQUUsS0FBSztJQU92QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSSxHQTRDcEI7SXZJOENHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXVJdkp2QyxBQTZCQyxVQTdCUyxDQTZCVCxVQUFVLENBQUM7UUFlUixlQUFlLEVBQUUsU0FBUyxHQTZENUI7SXZJeUNHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO011SWxKOUMsQUE2QkMsVUE3QlMsQ0E2QlQsVUFBVSxDQUFDO1FBb0NULFVBQVUsRUFBRSxLQUFLO1FBQ2pCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGNBQWMsRUFBRSxNQUFNLEdBc0N2QjtJQXpHRixBQXlFRyxVQXpFTyxDQTZCVCxVQUFVLENBMENULFFBQVEsQ0FFUCxjQUFjLENBQUM7TUFDZCxLQUFLLEVoSjVCRixPQUFPLEdnSnlEVjtNdklnREMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztRdUl2SjVDLEFBeUVHLFVBekVPLENBNkJULFVBQVUsQ0EwQ1QsUUFBUSxDQUVQLGNBQWMsQ0FBQztVQUliLFVBQVUsRUFBRSxNQUFNLEdBMEJuQjtVQXZHSixBQStFSyxVQS9FSyxDQTZCVCxVQUFVLENBMENULFFBQVEsQ0FFUCxjQUFjLENBTVosRUFBRSxDQUFDO1lBQ0YsVUFBVSxFQUFFLE1BQU0sR0FDbEI7TUFqRk4sQUFxRkksVUFyRk0sQ0E2QlQsVUFBVSxDQTBDVCxRQUFRLENBRVAsY0FBYyxDSG9LaEIsVUFBVSxFRzdPWCxVQUFVLENBNkJULFVBQVUsQ0h3aUJWLFFBQVEsQ0c1Zk4sY0FBYyxDSHdoQmYsQ0FBQyxDRzVnQkU7UUFDQSxXQUFXLEVBQUUsR0FBRyxHQUNoQjtNQXZGTCxBQXlGSSxVQXpGTSxDQTZCVCxVQUFVLENBMENULFFBQVEsQ0FFUCxjQUFjLENBZ0JiLENBQUMsQUFBQSxVQUFVLENBQUE7UUhnUmIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEM3STNUcEIsT0FBTztRZ0o4Q1QsY0FBYyxFQUFFLElBQUk7UUFHcEIsVUFBVSxFQUFFLFdBQVcsR0FPdkI7UUF0R0wsQUgwV0UsVUcxV1EsQ0E2QlQsVUFBVSxDQTBDVCxRQUFRLENBRVAsY0FBYyxDQWdCYixDQUFDLEFBQUEsVUFBVSxBSGlSWixNQUFNLENBQUM7VUFDUCxtQkFBbUIsRTdJN1RmLE9BQU8sRzZJOFRYO1FHNVdILEFIMFdFLFVHMVdRLENBNkJULFVBQVUsQ0EwQ1QsUUFBUSxDQUVQLGNBQWMsQ0FnQmIsQ0FBQyxBQUFBLFVBQVUsQUhpUlosTUFBTSxDR3pRSTtVQUNQLGtCQUFrQixFQUFFLGVBQWU7VUFDbkMsYUFBYSxFQUFFLGVBQWU7VUFDOUIsVUFBVSxFQUFFLGVBQWUsR0FDM0I7O0FBUU47Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0RFO0FBRUYsQUFBQSxxQkFBcUIsQ0FBQztFQUNyQixXQUFXLEVBQUUsTUFBTTtFQUNuQixjQUFjLEVBQUUsTUFBTSxHQTZEdEI7RUEvREQsQUFLQyxxQkFMb0IsQ0FLcEIsVUFBVSxDQUFDO0lBR1YsbUJBQW1CLEVBQUUsVUFBVTtJQUMvQixtQkFBbUIsRUFBRSxTQUFTO0lBQzlCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsZUFBZSxFQUFFLE9BQU87SUFDeEIsY0FBYyxFQUFFLENBQUMsR0FDakI7RUFiRixBQWNDLHFCQWRvQixDQWNwQixZQUFZLENBQUM7SUFDWixPQUFPLEVBQUUsU0FBUyxHQVVsQjtFQXpCRixBQTBCQyxxQkExQm9CLENBMEJwQixRQUFRLENBQUM7SUFDUixVQUFVLEVBQUUsTUFBTTtJQUVsQixXQUFXLEVBQUUsQ0FBQyxHQWlDZDtJdkk3RUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TXVJZWxELEFBMEJDLHFCQTFCb0IsQ0EwQnBCLFFBQVEsQ0FBQztRQVNQLFdBQVcsRUFBRSxNQUFNLEdBMkJwQjtJQTlERixBQWdERyxxQkFoRGtCLENBMEJwQixRQUFRLENBZVAsT0FBTyxDQU9OLEdBQUcsQ0FBQztNQUVILEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLEtBQUssR0FTYjtNdkl0RUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxPQUFPLFNBQVMsRUFBRSxTQUFTO1F1SVVsRSxBQWdERyxxQkFoRGtCLENBMEJwQixRQUFRLENBZVAsT0FBTyxDQU9OLEdBQUcsQ0FBQztVQU9GLE1BQU0sRUFBRSxLQUFLLEdBS2Q7TXZJM0VDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1F1SWVsRCxBQWdERyxxQkFoRGtCLENBMEJwQixRQUFRLENBZVAsT0FBTyxDQU9OLEdBQUcsQ0FBQztVQVVGLE1BQU0sRUFBRSxLQUFLLEdBRWQ7O0FBS0osQUFFQyxjQUZhLENBRWIsZ0JBQWdCLENBQUM7RUFDaEIsT0FBTyxFQUFFLGNBQWMsR0EyQnZCO0V2STlHRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJdUlnRjlDLEFBRUMsY0FGYSxDQUViLGdCQUFnQixDQUFDO01BSWYsT0FBTyxFQUFFLGNBQWMsR0F3QnhCO0V2SXpHRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0l1STJFNUMsQUFhSyxjQWJTLENBRWIsZ0JBQWdCLENBT2YsS0FBSyxDQUVKLGFBQWEsQ0FFWCxTQUFTLENBQUM7TUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFJO0V2SXhGNUIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxPQUFPLFNBQVMsRUFBRSxTQUFTO0l1STJFbEUsQUFpQkssY0FqQlMsQ0FFYixnQkFBZ0IsQ0FPZixLQUFLLENBRUosYUFBYSxDQU1YLGFBQWEsQ0FBQztNQUFFLE1BQU0sRUFBRSxJQUFJLEdBQUc7RUFqQnBDLEFBc0JJLGNBdEJVLENBRWIsZ0JBQWdCLENBT2YsS0FBSyxDQVlKLE9BQU8sQUFDTCxNQUFNLENBQUM7SUFDUCxVQUFVLEVBQUUsT0FBd0I7SUFDcEMsWUFBWSxFQUFFLE9BQXdCO0lBQ3RDLEtBQUssRWhKN01ILE9BQU8sR2dKOE1UOztBQU9MLEFBUUMsdUJBUnNCLENBUXRCLFVBQVUsQ0FBQztFQUNWLFlBQVksRUFBRSxDQUFDO0VBQ2YsYUFBYSxFQUFFLENBQUMsR0E0QmhCO0VBdENGLEFBYUUsdUJBYnFCLENBUXRCLFVBQVUsQ0FLVCxlQUFlLENBQUM7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixjQUFjLEVBQUUsTUFBTSxHQUN0Qjs7QUEwQkgsQUFBQSw4QkFBOEIsQ0FBQztFQUM5QixXQUFXLEVBQUUsTUFBTTtFQUNuQixjQUFjLEVBQUUsTUFBTTtFQUN0QixnQkFBZ0IsRUFBRSw0QkFBNEIsR0FzRTlDO0VBekVELEFBS0MsOEJBTDZCLENBSzdCLFVBQVUsQ0FBQztJQUlWLFNBQVMsRUFBRSxJQUFJO0lBQ2YscUlBQXFJLEVBaUJySTtJdkl0TEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TXVJMkpsRCxBQWdCRyw4QkFoQjJCLENBSzdCLFVBQVUsQ0FXUixHQUFHLEFBQUEsMEJBQTBCLENBQUM7UUFDN0IsS0FBSyxFQUFFLE9BQU87UUFDZCxhQUFhLEVBQUUsaUJBQWlCO1FBQ2hDLFVBQVUsRUFBRSxLQUFLLEdBTWpCO0VBekJKLEFBNEJDLDhCQTVCNkIsQ0E0QjdCLFFBQVEsQ0FBQztJQUNSLFNBQVMsRUFBRSxLQUF1QjtJQUVsQyxtQkFBbUIsRUFBRSxhQUFhO0lBQ2xDLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsZUFBZSxFQUFFLFNBQVMsR0F1QzFCO0l2STlORyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO011SXNKM0MsQUE0QkMsOEJBNUI2QixDQTRCN0IsUUFBUSxDQUFDO1FBT1AsZUFBZSxFQUFFLE9BQU87UUFDeEIsbUJBQW1CLEVBQUUsWUFBWSxHQW9DbEM7SUF4RUYsQUEyQ0UsOEJBM0M0QixDQTRCN0IsUUFBUSxDQWVQLFlBQVksQ0FBQztNQUVaLE9BQU8sRUFBRSxJQUFJO01BQ2IsVUFBVSxFQUFFLElBQUksR0FLaEI7TXZJek1FLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7UXVJc0o1QyxBQTJDRSw4QkEzQzRCLENBNEI3QixRQUFRLENBZVAsWUFBWSxDQUFDO1VBS1gsVUFBVSxFQUFFLElBQUk7VUFDaEIsT0FBTyxFQUFFLElBQUksR0FFZDtJQW5ESCxBQW9ERSw4QkFwRDRCLENBNEI3QixRQUFRLENBd0JQLFFBQVEsQ0FBQztNQUNSLFVBQVUsRUFBRSxNQUFNLEdBa0JsQjtNQXZFSCxBQXNERyw4QkF0RDJCLENBNEI3QixRQUFRLENBd0JQLFFBQVEsQ0FFUCxJQUFJLENBQUM7UUFDSixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxLQUFLO1FBQ2IsYUFBYSxFQUFFLE9BQU8sR0FVdEI7UXZJOU5DLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1V1STJKbEQsQUFzREcsOEJBdEQyQixDQTRCN0IsUUFBUSxDQXdCUCxRQUFRLENBRVAsSUFBSSxDQUFDO1lBUUgsTUFBTSxFQUFFLEtBQUssR0FLZDtRdkl6TkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSSxPQUFPLFNBQVMsRUFBRSxTQUFTO1V1SXNKbEUsQUFzREcsOEJBdEQyQixDQTRCN0IsUUFBUSxDQXdCUCxRQUFRLENBRVAsSUFBSSxDQUFDO1lBV0gsTUFBTSxFQUFFLEtBQUssR0FFZDtNQW5FSixBQW9FRyw4QkFwRTJCLENBNEI3QixRQUFRLENBd0JQLFFBQVEsQ0FnQlAsU0FBUyxDQUFDO1FBQ1QsTUFBTSxFQUFFLElBQUksR0FDWjs7QXZJNU5DLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUksT0FBTyxTQUFTLEVBQUUsU0FBUztFdUl3T2pFLEFBQUEsZ0JBQWdCLENBQUM7SUFFZixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxPQUFPLEdBRXBCOztBQUVELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RUFDdEMsQUFBQSxlQUFlLENBQUM7SUFDZixHQUFHLEVBQUUsaUJBQWlCLEdBQ3RCO0VBVkYsQUFBQSxnQkFBZ0IsQ0FXRTtJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxPQUFPLEdBQ25CO0VBQ0QsQUFBQSxhQUFhLENBQUM7SUFDYixPQUFPLEVBQUUsTUFBTSxHQUNmOztBQU1ILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RUFDdEMsQUFBQSxXQUFXLENBQUM7SUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNiOztBdklsUUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztFdUlvUTVDLEFBQUEsZUFBZSxDQUFBO0lBRWIsVUFBVSxFQUFFLENBQUMsQ0FBQSxVQUFVO0lBQ3ZCLFdBQVcsRUFBRSxDQUFDLENBQUEsVUFBVSxHQUd6Qjs7QUFJRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGNBQWMsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQ0MsbUJBRGtCLENBQ2xCLFNBQVMsQUFBQSxRQUFRLEVBRGxCLG1CQUFtQixDSDRqQm5CLGlCQUFpQixDQUNoQixDQUFDLEFHNWpCUSxRQUFRLEVIMmpCbEIsaUJBQWlCLENHNWpCakIsbUJBQW1CLENINmpCbEIsQ0FBQyxBRzVqQlEsUUFBUSxFQURsQixtQkFBbUIsQ0g0akJuQixpQkFBaUIsQ0czakJQLFFBQVEsQUg5TGpCLFVBQVUsRUF5dkJYLGlCQUFpQixDRzVqQmpCLG1CQUFtQixDQUNULFFBQVEsQUg5TGpCLFVBQVUsQ0c4TFE7RUFDakIsT0FBTyxFQUFFLElBQUksR0FDYjs7QUFIRixBQUlDLG1CQUprQixDQUlsQixRQUFRLENBQUM7RUFDUixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsSUFBSSxHQUNiOztBQVBGLEFBUUMsbUJBUmtCLENBUWxCLEVBQUUsQ0FBQztFQUNGLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFdBQVcsRUFBRSxpQkFBaUIsR0FDOUI7O0FBYkYsQUFjQyxtQkFka0IsQ0FjbEIsYUFBYSxFQWRkLG1CQUFtQixDRjNicEIsSUFBSSxDQUdILFVBQVUsQ0FDVCxRQUFRLEVBSlYsSUFBSSxDQUdILFVBQVUsQ0V3YlYsbUJBQW1CLENGdmJsQixRQUFRLEVFdWJULG1CQUFtQixDQzFabkIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0F1Q1AsSUFBSSxFQXBHUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDRDZWWCxtQkFBbUIsQ0N0VGYsSUFBSSxFRHNUUixtQkFBbUIsQ0MxWm5CLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVEaGZMLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0ZwRlIsbUJBQW1CLENFc0ZoQixFQUFFLEVGdEZMLG1CQUFtQixDRWlFbkIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0Q5ZVIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0Q2VlgsbUJBQW1CLENFc0ZoQixFQUFFLEVGdEZMLG1CQUFtQixDQzFabkIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0dzWlgsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUhyaUJOLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENHc1pYLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSnZIakIsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENJeURuQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLEVBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGpoQmpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENENlZYLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDQ3ZObkIsMkJBQTJCLENBMkQxQixRQUFRLENBOEJQLElBQUksRUF6Rk4sMkJBQTJCLENBMkQxQixRQUFRLENENEpULG1CQUFtQixDQzlIakIsSUFBSSxFRDhITixtQkFBbUIsQ0N2Tm5CLDJCQUEyQixDQTJEMUIsUUFBUSxDQzZOVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFRDdTTCwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0M2TlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRnBGUixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENFaUVuQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEM1NSLDJCQUEyQixDQTJEMUIsUUFBUSxDQ2tQTixFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0QzU1IsMkJBQTJCLENBMkQxQixRQUFRLENENEpULG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0N2Tm5CLDJCQUEyQixDQTJEMUIsUUFBUSxDR3FOVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFSGxXTiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0dxTlQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENKdkhqQixtQkFBbUIsQ0kySWYsRUFBRSxFSjNJTixtQkFBbUIsQ0l5RG5CLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDlVakIsMkJBQTJCLENBMkQxQixRQUFRLENHdVNMLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIOVVqQiwyQkFBMkIsQ0EyRDFCLFFBQVEsQ0Q0SlQsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENDcERuQixvQkFBb0IsQ0FjbkIsYUFBYSxDQVlaLElBQUksRUExQk4sb0JBQW9CLENBY25CLGFBQWEsQ0RzQ2QsbUJBQW1CLENDMUJqQixJQUFJLEVEMEJOLG1CQUFtQixDQ3BEbkIsb0JBQW9CLENBY25CLGFBQWEsQ0N1R2QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUQxSUwsb0JBQW9CLENBY25CLGFBQWEsQ0N1R2QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRnBGUixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENFaUVuQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQWNuQixhQUFhLENDNEhYLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0FjbkIsYUFBYSxDRHNDZCxtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENDcERuQixvQkFBb0IsQ0FjbkIsYUFBYSxDRytGZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFSC9MTixvQkFBb0IsQ0FjbkIsYUFBYSxDRytGZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0p2SGpCLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDSXlEbkIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0FjbkIsYUFBYSxDR2lMVixFQUFFLEVBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBY25CLGFBQWEsQ0RzQ2QsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENDcERuQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0FTUCxJQUFJLEVBeENOLG9CQUFvQixDQStCbkIsUUFBUSxDRHFCVCxtQkFBbUIsQ0NaakIsSUFBSSxFRFlOLG1CQUFtQixDQ3BEbkIsb0JBQW9CLENBK0JuQixRQUFRLENDc0ZULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVEMUlMLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENGcEZSLG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0VpRW5CLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0RxQlQsbUJBQW1CLENFc0ZoQixFQUFFLEVGdEZMLG1CQUFtQixDQ3BEbkIsb0JBQW9CLENBK0JuQixRQUFRLENHOEVULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEVIL0xOLG9CQUFvQixDQStCbkIsUUFBUSxDRzhFVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0p2SGpCLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDSXlEbkIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDRHFCVCxtQkFBbUIsQ0kySWYsRUFBRSxFSjNJTixtQkFBbUIsQ0NxQ25CLHlCQUF5QixDQVd4QixRQUFRLENBMEJQLElBQUksRUFyQ04seUJBQXlCLENBV3hCLFFBQVEsQ0RoRFQsbUJBQW1CLENDMEVqQixJQUFJLEVEMUVOLG1CQUFtQixDQ3FDbkIseUJBQXlCLENBV3hCLFFBQVEsQ0NpQlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRURqREwseUJBQXlCLENBV3hCLFFBQVEsQ0NpQlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRnBGUixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENFaUVuQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEL0NSLHlCQUF5QixDQVd4QixRQUFRLENDc0NOLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRC9DUix5QkFBeUIsQ0FXeEIsUUFBUSxDRGhEVCxtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENDcUNuQix5QkFBeUIsQ0FXeEIsUUFBUSxDR1NULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEVIdEdOLHlCQUF5QixDQVd4QixRQUFRLENHU1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENKdkhqQixtQkFBbUIsQ0kySWYsRUFBRSxFSjNJTixtQkFBbUIsQ0l5RG5CLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGxGakIseUJBQXlCLENBV3hCLFFBQVEsQ0cyRkwsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hsRmpCLHlCQUF5QixDQVd4QixRQUFRLENEaERULG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDRS9WbkIsc0JBQXNCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENBa0JaLGFBQWEsRUF2QmhCLHNCQUFzQixDQUdyQixlQUFlLENBRWQsYUFBYSxDRjBWZixtQkFBbUIsQ0V4VWhCLGFBQWEsRUZ3VWhCLG1CQUFtQixDRXJHbkIsMEJBQTBCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBV1AsU0FBUyxFQWhCWiwwQkFBMEIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0ZnR1YsbUJBQW1CLENFckZoQixTQUFTLEVGcUZaLG1CQUFtQixDRXNMbkIsMEJBQTBCLENBRXpCLGVBQWUsRUFGaEIsMEJBQTBCLENGdEwxQixtQkFBbUIsQ0V3TGxCLGVBQWUsRUZ4TGhCLG1CQUFtQixDRXNMbkIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWlCUCxJQUFJLEVBNUNQLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0ZqTlYsbUJBQW1CLENFa09oQixJQUFJLEVGbE9QLG1CQUFtQixDRXNMbkIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQWdHTCwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0ZwRlIsbUJBQW1CLENFc0ZoQixFQUFFLEVGdEZMLG1CQUFtQixDRWlFbkIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQWtHUiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBM0hQLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQWtHUiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENGak5WLG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0VzTG5CLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V4SlYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUYyQ04sMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXhKViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0p2SGpCLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDSXlEbkIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGK0RqQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENFdEVOLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGK0RqQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENGak5WLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDR0duQixzQkFBc0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FlWixhQUFhLEVBdEJmLHNCQUFzQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDSFZkLG1CQUFtQixDR3lCakIsYUFBYSxFSHpCZixtQkFBbUIsQ0dzV25CLGNBQWMsQ0FrQmIsYUFBYSxDQU9aLElBQUksRUF6Qk4sY0FBYyxDQWtCYixhQUFhLENIeFhkLG1CQUFtQixDRytYakIsSUFBSSxFSC9YTixtQkFBbUIsQ0dzV25CLGNBQWMsQ0FrQmIsYUFBYSxDRHZUZCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQ2dSTCxjQUFjLENBa0JiLGFBQWEsQ0R2VGQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRnBGUixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENFaUVuQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDa1JSLGNBQWMsQ0FrQmIsYUFBYSxDRGxTWCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NrUlIsY0FBYyxDQWtCYixhQUFhLENIeFhkLG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0dzV25CLGNBQWMsQ0FrQmIsYUFBYSxDQy9UZCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFRDJOTixjQUFjLENBa0JiLGFBQWEsQ0MvVGQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENKdkhqQixtQkFBbUIsQ0kySWYsRUFBRSxFSjNJTixtQkFBbUIsQ0l5RG5CLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRCtPakIsY0FBYyxDQWtCYixhQUFhLENDN09WLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENEK09qQixjQUFjLENBa0JiLGFBQWEsQ0h4WGQsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENHb2dCbkIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENBT1osSUFBSSxFQVhQLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDSHhnQmYsbUJBQW1CLENHK2dCaEIsSUFBSSxFSC9nQlAsbUJBQW1CLENHb2dCbkIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENEdmNmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLEVDOGFMLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDRHZjZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENGcEZSLG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0VpRW5CLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NnYlIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENEbGJaLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQ2diUixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0h4Z0JmLG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0dvZ0JuQixZQUFZLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0MvY2YsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsRUR5WE4sWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENDL2NmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSnZIakIsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENJeURuQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0Q2WWpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FFaEIsYUFBYSxDQzdYWCxFQUFFLEVBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRDZZakIsWUFBWSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENIeGdCZixtQkFBbUIsQ0kySWYsRUFBRSxFSjNJTixtQkFBbUIsQ0dvZ0JuQixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FtQlAsSUFBSSxFQXBDUCxZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0hyaEJWLG1CQUFtQixDR3dpQmhCLElBQUksRUh4aUJQLG1CQUFtQixDR29nQm5CLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDRHBkViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFQzhhTCxZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0RwZFYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRnBGUixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENFaUVuQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENDZ2JSLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDRC9iUCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0NnYlIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENIcmhCVixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENHb2dCbkIsWUFBWSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENDNWRWLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEVEeVhOLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQzVkViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0p2SGpCLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDSXlEbkIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENENllqQixZQUFZLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0MxWU4sRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0Q2WWpCLFlBQVksQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDSHJoQlYsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENJcGJuQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixFQTdCakIsb0JBQW9CLENKb2JwQixtQkFBbUIsQ0l2WmxCLGdCQUFnQixFSnVaakIsbUJBQW1CLENJcGJuQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksRUF4RFIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0o4WFIsbUJBQW1CLENJNVhmLElBQUksRUo0WFIsbUJBQW1CLENJcGJuQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFRTFnQkwsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRnBGUixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENFaUVuQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLEVBckJMLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENKOFhSLG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0lwYm5CLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBdWJSLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEVBL2pCTixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXViUiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0p2SGpCLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDSXlEbkIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0F5Z0JKLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0o4WFIsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENJdkhuQixpQ0FBaUMsQ0FFaEMsUUFBUSxDQUNQLElBQUksRUFITixpQ0FBaUMsQ0FFaEMsUUFBUSxDSnFIVCxtQkFBbUIsQ0lwSGpCLElBQUksRUpvSE4sbUJBQW1CLENJdkhuQixpQ0FBaUMsQ0FFaEMsUUFBUSxDRnNMVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxFRTdNTCxpQ0FBaUMsQ0FFaEMsUUFBUSxDRnNMVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENGcEZSLG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0VpRW5CLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzTVIsaUNBQWlDLENBRWhDLFFBQVEsQ0YyTU4sRUFBRSxFQXJCTCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM01SLGlDQUFpQyxDQUVoQyxRQUFRLENKcUhULG1CQUFtQixDRXNGaEIsRUFBRSxFRnRGTCxtQkFBbUIsQ0l2SG5CLGlDQUFpQyxDQUVoQyxRQUFRLENBOEtULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEVBbFFOLGlDQUFpQyxDQUVoQyxRQUFRLENBOEtULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSnZIakIsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENJeURuQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0E5T2pCLGlDQUFpQyxDQUVoQyxRQUFRLENBZ1FMLEVBQUUsRUFsRk4sNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBOU9qQixpQ0FBaUMsQ0FFaEMsUUFBUSxDSnFIVCxtQkFBbUIsQ0kySWYsRUFBRSxFSjNJTixtQkFBbUIsQ0kxQ25CLDRCQUE0QixDQUMzQixhQUFhLEVBRGQsNEJBQTRCLENKMEM1QixtQkFBbUIsQ0l6Q2xCLGFBQWEsRUp5Q2QsbUJBQW1CLENJMUNuQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQU9QLElBQUksRUFqQk4sNEJBQTRCLENBVTNCLFFBQVEsQ0pnQ1QsbUJBQW1CLENJekJqQixJQUFJLEVKeUJOLG1CQUFtQixDSTFDbkIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZpR1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsRUVoSUwsNEJBQTRCLENBVTNCLFFBQVEsQ0ZpR1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRnBGUixtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENFaUVuQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQVUzQixRQUFRLENGc0hOLEVBQUUsRUFyQkwsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTlIUiw0QkFBNEIsQ0FVM0IsUUFBUSxDSmdDVCxtQkFBbUIsQ0VzRmhCLEVBQUUsRUZ0RkwsbUJBQW1CLENJMUNuQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQXJMTiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0p2SGpCLG1CQUFtQixDSTJJZixFQUFFLEVKM0lOLG1CQUFtQixDSXlEbkIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLEVBbEZOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBVTNCLFFBQVEsQ0pnQ1QsbUJBQW1CLENJMklmLEVBQUUsRUozSU4sbUJBQW1CLENRMktwQiw4QkFBOEIsQ1I3SmQ7RUFDYixVQUFVLEVBQUUsTUFBTSxHQUNsQjs7QUFoQkYsQUFpQkMsbUJBakJrQixDQWlCbEIsQ0FBQyxFQWpCRixtQkFBbUIsQ0g3TGxCLFVBQVUsRUc2TFgsbUJBQW1CLENIMkduQixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxFQTVFSCxRQUFRLENBZ0RQLFFBQVEsQ0czSlQsbUJBQW1CLENIdUxqQixDQUFDLEVHdkxILG1CQUFtQixDRjNicEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLEVDbG5CSixJQUFJLENEc2xCRixRQUFRLENHM0pULG1CQUFtQixDSHVMakIsQ0FBQyxFR3ZMSCxtQkFBbUIsQ0YvVnBCLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0czSlQsbUJBQW1CLENIdUxqQixDQUFDLEVHdkxILG1CQUFtQixDQTFhbkIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLEVHam1CSCxVQUFVLENIcWtCVCxRQUFRLENHM0pULG1CQUFtQixDSHVMakIsQ0FBQyxDR3RLQTtFQUNELFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsVUFBVSxFQUFFLEdBQUc7RUFDZixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QUFyQkYsQUFzQkMsbUJBdEJrQixDQXNCbEIsS0FBSyxJQUFDLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtFQUN2QixPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRLEdBQ2xCOztBQXpCRixBQTBCQyxtQkExQmtCLENBMEJsQixTQUFTLENBQUM7RUFDVCxNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJLEdBQ2pCOztBQTdCRixBQThCQyxtQkE5QmtCLENBOEJsQixhQUFhLENBQUM7RUFDYixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVBQUUsS0FBSyxHQWFqQjtFQTdDRixBQWlDRSxtQkFqQ2lCLENBOEJsQixhQUFhLENBR1osS0FBSyxDQUFDO0lBQ0wsV0FBVyxFQUFFLE1BQU07SUFDbkIsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsYUFBYSxFQUFFLE1BQU0sR0FNckI7SUE1Q0gsQUF1Q0csbUJBdkNnQixDQThCbEIsYUFBYSxDQUdaLEtBQUssQUFNSCxNQUFNLENBQUMsR0FBRyxDQUFDO01BR1gsVUFBVSxFQUFFLFlBQVksR0FDeEI7O0FDamVKLEFBQUEsYUFBYSxDQUFDO0VBTVosVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLHFJQUF5STtFQUNySixVQUFVLEVBQUUsMkVBQXlJLEdBaUJ0SjtFQXpCRCxBQUNDLGFBRFksQ0FDWixhQUFhLENBQUM7SUFDYixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJLEdBQ2Y7RUFKRixBQVVDLGFBVlksQ0FVWixVQUFVLENBQUM7SUFDVixnQkFBZ0IsRUFBRSxpREFBaUQ7SUFFbkUsZUFBZSxFQUFFLFVBQVUsR0FVM0I7SUF2QkYsQUFtQkUsYUFuQlcsQ0FVWixVQUFVLENBU1QsRUFBRSxDQUFDO01BRUYsV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0F4STZJRSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0V3SXZJNUMsQUFBQSx3QkFBd0IsQ0FBQztJQUV2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSSxHQTZMckI7O0FBaE1ELEFBV0Usd0JBWHNCLENBT3ZCLGlCQUFpQixDQUloQixRQUFRLENBQUM7RS9Hd0VWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7RU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQjtFa0gwQnJDLGFBQWEsRUFBRSxJQUFJO0VBVW5CLFdBQVcsRUFBRSxDQUFDO0VBQ2QsY0FBYyxFQUFFLENBQUM7RUFXakIsZ0JBQWdCLEVBQUUsT0FBZ0I7RUFDbEMsZ0JBQWdCLEVBQUUsT0FBd0M7RUFDMUQsZ0JBQWdCLEVBQUUsNENBQTRDO0VBQzlELGlCQUFpQixFQUFFLE1BQU07RUFDekIsZUFBZSxFQUFFLFVBQVUsR0FDM0I7RXhJMEZFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l3SWxJOUMsQUFXRSx3QkFYc0IsQ0FPdkIsaUJBQWlCLENBSWhCLFFBQVEsQ0FBQztNbEh0QlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHa0hxRHJDO0V4STBGRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJd0lsSTlDLEFBV0Usd0JBWHNCLENBT3ZCLGlCQUFpQixDQUloQixRQUFRLENBQUM7TS9Hd0VWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHa0hxRHJDO0V4STBGRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXdJbEk5QyxBQVdFLHdCQVhzQixDQU92QixpQkFBaUIsQ0FJaEIsUUFBUSxDQUFDO01sSHRCUixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSHFEckM7RXhJMEZFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0l3SWxJbEQsQUFXRSx3QkFYc0IsQ0FPdkIsaUJBQWlCLENBSWhCLFFBQVEsQ0FBQztNL0d3RVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSHFEckM7RXhJMEZFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7SXdJbEk5QyxBQVdFLHdCQVhzQixDQU92QixpQkFBaUIsQ0FJaEIsUUFBUSxDQUFDO01sSHRCUixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSHFEckM7RUF4Q0gsQUF5Qkcsd0JBekJxQixDQU92QixpQkFBaUIsQ0FJaEIsUUFBUSxDQWNQLEdBQUcsQ0FBQztJQUNILE1BQU0sRUFBRSxLQUFLO0lBQ2IsT0FBTyxFQUFDLGFBQWEsR0FLckI7SXhJa0dDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013SWxJOUMsQUF5Qkcsd0JBekJxQixDQU92QixpQkFBaUIsQ0FJaEIsUUFBUSxDQWNQLEdBQUcsQ0FBQztRQUtGLE1BQU0sRUFBRSxLQUFLLEdBRWQ7O0FBaENKLEFBMENFLHdCQTFDc0IsQ0FPdkIsaUJBQWlCLENBbUNoQixhQUFhLENBQUE7RS9HeUNkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQixHa0hxRXJDO0V4STBFRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJd0lsSTlDLEFBMENFLHdCQTFDc0IsQ0FPdkIsaUJBQWlCLENBbUNoQixhQUFhLENBQUE7TWxIckRaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIcUVyQztFeEkwRUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXdJbEk5QyxBQTBDRSx3QkExQ3NCLENBT3ZCLGlCQUFpQixDQW1DaEIsYUFBYSxDQUFBO00vR3lDZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLElBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsRzhJSlQ7RXhJMEVFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0l3SWxJbEQsQUEwQ0Usd0JBMUNzQixDQU92QixpQkFBaUIsQ0FtQ2hCLGFBQWEsQ0FBQTtNL0d5Q2QsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEU1QnVFTCxDQUFDO000QnRFVCxZQUFZLEU1QnNFSixDQUFDLEc4SUpUO0V4STBFRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJd0lsSTlDLEFBMENFLHdCQTFDc0IsQ0FPdkIsaUJBQWlCLENBbUNoQixhQUFhLENBQUE7TS9HeUNkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztNNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHOElKVDs7QUF4REgsQUE2REcsd0JBN0RxQixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENBQUM7RS9Hc0JYLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQixHa0hvSnBDO0V4SUxDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l3SWxJOUMsQUE2REcsd0JBN0RxQixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENBQUM7TWxIeEVULGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIb0pwQztFeElMQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJd0lsSTlDLEFBNkRHLHdCQTdEcUIsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQUFDO00vR3NCWCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tIb0pwQztFeElMQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXdJbEk5QyxBQTZERyx3QkE3RHFCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0FBQztNbEh4RVQsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHa0hvSnBDO0VBdklKLEFBb0VJLHdCQXBFb0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQU9QLEtBQUssQ0FBQztJQUNMLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0lBT25CLFFBQVEsRUFBRSxRQUFRO0lBRWxCLGtCQUFrQixFQUFFLGVBQWU7SUFDbkMsYUFBYSxFQUFFLGVBQWU7SUFDOUIsVUFBVSxFQUFFLGVBQWUsR0FpQjNCO0l4SXFDQSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO013SXZJNUMsQUFvRUksd0JBcEVvQixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENBT1AsS0FBSyxDQUFDO1FBS0osV0FBVyxFQUFFLEtBQUs7UUFDbEIsY0FBYyxFQUFFLEtBQUssR0F3QnRCO0lBbEdMLEFBa0ZNLHdCQWxGa0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQU9QLEtBQUssQUFjRixNQUFNLENBQUM7TUFDUCxVQUFVLEVBQUUsT0FBTztNQUNuQixZQUFZLEVBQUUsT0FBTyxHQUlyQjtNQXhGUCxBQXFGTyx3QkFyRmlCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0FPUCxLQUFLLEFBY0YsTUFBTSxDQUdOLGFBQWEsQ0FBQztRQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ25CO0lBdkZSLEFBMEZLLHdCQTFGbUIsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQU9QLEtBQUssQ0FzQkosVUFBVSxDQUFDO01BQ1QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxPQUFPLEVBQUUsS0FBSyxHQUNkO0VBakdQLEFBMEdLLHdCQTFHbUIsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQXVDUCxJQUFJLENBTUgsWUFBWSxFQTFHakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0M4WlgsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0R0WUEsWUFBWSxFQ2lYakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLENEdFlBLFlBQVksRUd5V2pCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGpoQmpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENHd2VQLEVBQUUsQ0gzYkQsWUFBWSxDQUFBO0kvR3ZCaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSDZIbEM7SXhJa0JELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013SWxJOUMsQUEwR0ssd0JBMUdtQixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENBdUNQLElBQUksQ0FNSCxZQUFZLEVBMUdqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQzhaWCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRHRZQSxZQUFZLEVDaVhqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEOWVSLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDbWJSLEVBQUUsQ0R0WUEsWUFBWSxFR3lXakIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIamhCakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0d3ZVAsRUFBRSxDSDNiRCxZQUFZLENBQUE7UWxIckhkLGFBQWEsRUFGSCxPQUEyQjtRQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tINkhsQztJeElrQkQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXdJbEk5QyxBQTBHSyx3QkExR21CLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0F1Q1AsSUFBSSxDQU1ILFlBQVksRUExR2pCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENEdFlBLFlBQVksRUNpWGpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0Q5ZVIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0NtYlIsRUFBRSxDRHRZQSxZQUFZLEVHeVdqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLENIM2JELFlBQVksQ0FBQTtRL0d2QmhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7UUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztRNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHOElvRE47RUFoSE4sQUFrSEssd0JBbEhtQixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENBdUNQLElBQUksQ0FjSCxZQUFZLEVBbEhqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQzhaWCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRDlYQSxZQUFZLEVDeVdqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEOWVSLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDbWJSLEVBQUUsQ0Q5WEEsWUFBWSxFR2lXakIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIamhCakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0d3ZVAsRUFBRSxDSG5iRCxZQUFZLENBQUE7SS9HL0JoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO0lHUG5ELGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tIcUlsQztJeElVRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNd0lsSTlDLEFBa0hLLHdCQWxIbUIsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQXVDUCxJQUFJLENBY0gsWUFBWSxFQWxIakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0M4WlgsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0Q5WEEsWUFBWSxFQ3lXakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLENEOVhBLFlBQVksRUdpV2pCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGpoQmpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENHd2VQLEVBQUUsQ0huYkQsWUFBWSxDQUFBO1FsSDdIZCxhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSHFJbEM7SXhJVUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXdJbEk5QyxBQWtISyx3QkFsSG1CLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0F1Q1AsSUFBSSxDQWNILFlBQVksRUFsSGpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENEOVhBLFlBQVksRUN5V2pCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0Q5ZVIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0NtYlIsRUFBRSxDRDlYQSxZQUFZLEVHaVdqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLENIbmJELFlBQVksQ0FBQTtRL0cvQmhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHa0hxSWxDO0V4SVVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJd0lsSTlDLEFBa0hLLHdCQWxIbUIsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQXVDUCxJQUFJLENBY0gsWUFBWSxFQWxIakIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0M4WlgsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0Q5WEEsWUFBWSxFQ3lXakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLENEOVhBLFlBQVksRUdpV2pCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGpoQmpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENHd2VQLEVBQUUsQ0huYkQsWUFBWSxDQUFBO01sSDdIZCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSHFJbEM7RUF4SE4sQUE0SE0sd0JBNUhrQixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENBdUNQLElBQUksQ0F1QkgsWUFBWSxDQUNYLFNBQVMsRUE1SGYsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0M4WlgsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0RyWEEsWUFBWSxDQUNYLFNBQVMsRUMrVmYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRDllUix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDQ21iUixFQUFFLENEclhBLFlBQVksQ0FDWCxTQUFTLEVHdVZmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSGpoQmpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENHd2VQLEVBQUUsQ0gxYUQsWUFBWSxDQUNYLFNBQVMsQ0FBQztJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDWjtFQS9IUCxBQWtISyx3QkFsSG1CLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0F1Q1AsSUFBSSxDQWNILFlBQVksRUFsSGpCLHdCQUF3QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENDOFpYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENEOVhBLFlBQVksRUN5V2pCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0Q5ZVIsd0JBQXdCLENBT3ZCLGlCQUFpQixDQW1EaEIsYUFBYSxDQUdaLFFBQVEsQ0NtYlIsRUFBRSxDRDlYQSxZQUFZLEVHaVdqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0hqaEJqQix3QkFBd0IsQ0FPdkIsaUJBQWlCLENBbURoQixhQUFhLENBR1osUUFBUSxDR3dlUCxFQUFFLENIbmJELFlBQVksQ0FnQkM7SUFDWixVQUFVLEVBQUUsSUFBSSxHQUNoQjs7QUErRE4sQUFBQSwyQkFBMkIsQ0FBQztFQUMzQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSTtFQUdwQixnQkFBZ0IsRUFBRSxpREFBaUQ7RUFDbkUsZUFBZSxFQUFFLFVBQVUsR0EwSjNCO0VBaEtELEFBUUMsMkJBUjBCLENBUTFCLFVBQVUsQ0FBQztJQUNWLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFVBQVUsRUFBRSx5QkFBcUIsR0FDakM7RUFaRixBQXFCRSwyQkFyQnlCLENBYzFCLGlCQUFpQixDQU9oQixRQUFRLENBQUM7SS9HcklWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQjtJa0h1T3JDLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBV3BCLFVBQVUsRUFBRSxNQUFNLEdBYWxCO0l4SWpIRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNd0lpRTlDLEFBcUJFLDJCQXJCeUIsQ0FjMUIsaUJBQWlCLENBT2hCLFFBQVEsQ0FBQztRbEhuT1IsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHa0hnUXJDO0l4SWpIRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNd0lpRWxELEFBcUJFLDJCQXJCeUIsQ0FjMUIsaUJBQWlCLENBT2hCLFFBQVEsQ0FBQztRL0dySVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDO1E4SW1LUixjQUFjLEVBQUUsSUFBSSxHQW9CckI7SXhJNUdFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVEsT0FBTyxTQUFTLEVBQUUsU0FBUztNd0k0RHRFLEFBcUJFLDJCQXJCeUIsQ0FjMUIsaUJBQWlCLENBT2hCLFFBQVEsQ0FBQztRQVdQLGFBQWEsRUFBRSxJQUFJLEdBZ0JwQjtJQWhESCxBQXFDRywyQkFyQ3dCLENBYzFCLGlCQUFpQixDQU9oQixRQUFRLENBZ0JQLGFBQWEsQ0FBQztNQUNiLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLEtBQUssR0FRYjtNeEloSEMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UXdJaUVsRCxBQXFDRywyQkFyQ3dCLENBYzFCLGlCQUFpQixDQU9oQixRQUFRLENBZ0JQLGFBQWEsQ0FBQztVQUtaLE1BQU0sRUFBRSxLQUFLLEdBS2Q7TXhJaEhDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1F3SWlFOUMsQUFxQ0csMkJBckN3QixDQWMxQixpQkFBaUIsQ0FPaEIsUUFBUSxDQWdCUCxhQUFhLENBQUM7VUFRWixNQUFNLEVBQUUsS0FBSyxHQUVkO0VBL0NKLEFBa0RFLDJCQWxEeUIsQ0FjMUIsaUJBQWlCLENBb0NoQixhQUFhLENBQUM7SS9HbEtmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHOEkrTFQ7SXhJekhFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO013SWlFbEQsQUFrREUsMkJBbER5QixDQWMxQixpQkFBaUIsQ0FvQ2hCLGFBQWEsQ0FBQztRL0dsS2YsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEc4SStMVDtFQXhESCxBQTJEQywyQkEzRDBCLENBMkQxQixRQUFRLENBQUM7SS9HM0tULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQjtJa0h1UnRDLFVBQVUsRUFBRSxJQUFJLEdBc0JoQjtJeEk5SkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXdJaUU5QyxBQTJEQywyQkEzRDBCLENBMkQxQixRQUFRLENBQUM7UWxIelFQLGFBQWEsRUFGSCxPQUEyQjtRQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tINlN0QztJeEk5SkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXdJaUU5QyxBQTJEQywyQkEzRDBCLENBMkQxQixRQUFRLENBQUM7US9HM0tULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHa0g2U3RDO0V4STlKRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXdJaUU5QyxBQTJEQywyQkEzRDBCLENBMkQxQixRQUFRLENBQUM7TWxIelFQLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tINlN0QztJeEk5SkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TXdJaUVsRCxBQTJEQywyQkEzRDBCLENBMkQxQixRQUFRLENBQUM7US9HM0tULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7UU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHa0g2U3RDO0V4STlKRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l3SWlFOUMsQUEyREMsMkJBM0QwQixDQTJEMUIsUUFBUSxDQUFDO01sSHpRUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSDZTdEM7SUE3RkYsQUF3RUUsMkJBeEV5QixDQTJEMUIsUUFBUSxBQWFOLGNBQWMsQ0FBQztNQUNmLFVBQVUsRUFBRSxJQUFJLEdBQ2hCO0l4STNJRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNd0lpRTlDLEFBMkRDLDJCQTNEMEIsQ0EyRDFCLFFBQVEsQ0FBQztRQWtCUCxVQUFVLEVBQUUsSUFBSSxHQWdCakI7SXhJOUpHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO013SWlFbEQsQUEyREMsMkJBM0QwQixDQTJEMUIsUUFBUSxDQUFDO1FBc0JQLFVBQVUsRUFBRSxJQUFJLEdBWWpCO1FBN0ZGLEFBd0VFLDJCQXhFeUIsQ0EyRDFCLFFBQVEsQUFhTixjQUFjLENBV0U7VUFDZixVQUFVLEVBQUUsTUFBTSxHQUNsQjtFQXJGSixBQStGQywyQkEvRjBCLENBK0YxQixZQUFZLENBQUM7SUFDWixPQUFPLEVBQUMsSUFBSTtJQUdaOztPQUVJO0lBVUosVUFBVSxFQUFFLElBQUksR0FxQmhCO0l4SXJNRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNd0lpRWxELEFBaUhFLDJCQWpIeUIsQ0ErRjFCLFlBQVksQ0FrQlgsU0FBUyxDQUFDO1FBSVIsTUFBTSxFQUFFLElBQUksR0FNYjtJeEk1TEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXdJaUU5QyxBQWlIRSwyQkFqSHlCLENBK0YxQixZQUFZLENBa0JYLFNBQVMsQ0FBQztRQVFSLE1BQU0sRUFBRSxJQUFJLEdBRWI7SUEzSEgsQUE2SEUsMkJBN0h5QixDQStGMUIsWUFBWSxDQThCWCxZQUFZLENBQUM7TUFDWixhQUFhLEVBQUUsS0FBSyxHQUtwQjtNeElwTUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXdJaUU5QyxBQTZIRSwyQkE3SHlCLENBK0YxQixZQUFZLENBOEJYLFlBQVksQ0FBQztVQUlYLGFBQWEsRUFBRSxDQUFDLEdBRWpCO0VBbklILEFBc0lDLDJCQXRJMEIsQ0FzSTFCLFlBQVksQ0FBQztJL0d0UGIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSCtXdEM7SXhJaE9HLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013SWlFOUMsQUFzSUMsMkJBdEkwQixDQXNJMUIsWUFBWSxDQUFDO1FsSHBWWCxhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSCtXdEM7SXhJaE9HLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013SWlFOUMsQUFzSUMsMkJBdEkwQixDQXNJMUIsWUFBWSxDQUFDO1EvR3RQYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tIK1d0QztFeEloT0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l3SWlFOUMsQUFzSUMsMkJBdEkwQixDQXNJMUIsWUFBWSxDQUFDO01sSHBWWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSCtXdEM7SUEvSkYsQUE0SkUsMkJBNUp5QixDQXNJMUIsWUFBWSxDQXNCWCxFQUFFLENBQUM7TUFDRixTQUFTLEVBQUUsTUFBTSxHQUNqQjs7QUFLSCxBQUtDLG9CQUxtQixDQUtuQixpQkFBaUIsQ0FBQztFQUNqQixXQUFXLEVBQUUsSUFBSSxHQUtqQjtFeEkvT0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXdJb085QyxBQUtDLG9CQUxtQixDQUtuQixpQkFBaUIsQ0FBQztNQUloQixXQUFXLEVBQUUsSUFBSSxHQUVsQjs7QUFYRixBQWNDLG9CQWRtQixDQWNuQixhQUFhLENBQUM7RS9HalNkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQixHa0hnWnRDO0V4SWpRRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJd0lvTzlDLEFBY0Msb0JBZG1CLENBY25CLGFBQWEsQ0FBQztNbEgvWFosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHa0hnWnRDO0V4SWpRRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJd0lvT2xELEFBY0Msb0JBZG1CLENBY25CLGFBQWEsQ0FBQztNL0dqU2QsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSGdadEM7RXhJalFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7SXdJb085QyxBQWNDLG9CQWRtQixDQWNuQixhQUFhLENBQUM7TWxIL1haLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIZ1p0QztFeElqUUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXdJb085QyxBQWNDLG9CQWRtQixDQWNuQixhQUFhLENBQUM7TS9HalNkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHa0hnWnRDO0V4SWpRRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXdJb085QyxBQWNDLG9CQWRtQixDQWNuQixhQUFhLENBQUM7TWxIL1haLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIZ1p0Qzs7QUE3QkYsQUErQkMsb0JBL0JtQixDQStCbkIsUUFBUSxDQUFDO0UvR2xUVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkI7RWtIeVp0QyxVQUFVLEVBQUUsSUFBSSxHQStDaEI7RXhJelRHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l3SW9POUMsQUErQkMsb0JBL0JtQixDQStCbkIsUUFBUSxDQUFDO01sSGhaUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSHdjdEM7RXhJelRHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l3SW9POUMsQUErQkMsb0JBL0JtQixDQStCbkIsUUFBUSxDQUFDO00vR2xUVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tId2N0QztFeEl6VEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l3SW9POUMsQUErQkMsb0JBL0JtQixDQStCbkIsUUFBUSxDQUFDO01sSGhaUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSHdjdEM7RUFyRkYsQUE0Q0csb0JBNUNpQixDQStCbkIsUUFBUSxDQVNQLElBQUksQ0FJSCxZQUFZLEVBNUNmLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRDlGRixZQUFZLEVDeUVmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsQ0Q5RkYsWUFBWSxFQTVDZixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0c4RVQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0huSkgsWUFBWSxFR2lFZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIbkpILFlBQVksQ0FBQztJL0cvVGYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSHlhcEM7SXhJMVJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013SW9POUMsQUE0Q0csb0JBNUNpQixDQStCbkIsUUFBUSxDQVNQLElBQUksQ0FJSCxZQUFZLEVBNUNmLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRDlGRixZQUFZLEVDeUVmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsQ0Q5RkYsWUFBWSxFQTVDZixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0c4RVQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0huSkgsWUFBWSxFR2lFZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIbkpILFlBQVksQ0FBQztRbEg3WmIsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHa0h5YXBDO0l4STFSQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNd0lvTzlDLEFBK0NJLG9CQS9DZ0IsQ0ErQm5CLFFBQVEsQ0FTUCxJQUFJLENBSUgsWUFBWSxDQUdYLEtBQUssRUEvQ1Qsb0JBQW9CLENBK0JuQixRQUFRLENDc0ZULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENEOUZGLFlBQVksQ0FHWCxLQUFLLEVDc0VULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsQ0Q5RkYsWUFBWSxDQUdYLEtBQUssRUc4RFQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxDSG5KSCxZQUFZLENBR1gsS0FBSyxDQUFDO1FBSUosTUFBTSxFQUFFLElBQUksR0FFYjtFQXJETCxBQXdERyxvQkF4RGlCLENBK0JuQixRQUFRLENBU1AsSUFBSSxDQWdCSCxZQUFZLEVBeERmLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRGxGRixZQUFZLEVDNkRmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsQ0RsRkYsWUFBWSxFQXhEZixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0c4RVQsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0h2SUgsWUFBWSxFR3FEZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIdklILFlBQVksQ0FBQztJL0czVWYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztJR1BuRCxhQUFhLEU1QnVFTCxDQUFDO0k0QnRFVCxZQUFZLEU1QnNFSixDQUFDO0k4STBXUixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsS0FBSyxHQWtCbEI7SXhJdlRDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO013SW9PbEQsQUF3REcsb0JBeERpQixDQStCbkIsUUFBUSxDQVNQLElBQUksQ0FnQkgsWUFBWSxFQXhEZixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0RsRkYsWUFBWSxFQzZEZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLENEbEZGLFlBQVksRUF4RGYsb0JBQW9CLENBK0JuQixRQUFRLENHOEVULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENIdklILFlBQVksRUdxRGYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxDSHZJSCxZQUFZLENBQUM7US9HM1VmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztRNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHOEk2WFI7SXhJdlRDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013SW9POUMsQUF3REcsb0JBeERpQixDQStCbkIsUUFBUSxDQVNQLElBQUksQ0FnQkgsWUFBWSxFQXhEZixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0RsRkYsWUFBWSxFQzZEZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLENEbEZGLFlBQVksRUF4RGYsb0JBQW9CLENBK0JuQixRQUFRLENHOEVULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENIdklILFlBQVksRUdxRGYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxDSHZJSCxZQUFZLENBQUM7UUFZWCxPQUFPLEVBQUUsVUFBVSxHQWVwQjtJQW5GSixBQXVFSSxvQkF2RWdCLENBK0JuQixRQUFRLENBU1AsSUFBSSxDQWdCSCxZQUFZLENBZVgsRUFBRSxFQXZFTixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0RsRkYsWUFBWSxDQWVYLEVBQUUsRUM4Q04sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0MyR04sRUFBRSxDRGxGRixZQUFZLENBZVgsRUFBRSxFR3NDTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIdklILFlBQVksQ0FlWCxFQUFFLENBQUM7TUFFRixXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsS0FBSyxHQVFoQjtNeEl0VEEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UXdJb09sRCxBQXVFSSxvQkF2RWdCLENBK0JuQixRQUFRLENBU1AsSUFBSSxDQWdCSCxZQUFZLENBZVgsRUFBRSxFQXZFTixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0RsRkYsWUFBWSxDQWVYLEVBQUUsRUM4Q04sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0MyR04sRUFBRSxDRGxGRixZQUFZLENBZVgsRUFBRSxFR3NDTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIdklILFlBQVksQ0FlWCxFQUFFLENBQUM7VUFNRCxTQUFTLEVBQUUsS0FBSyxHQUtqQjtNeEl0VEEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXdJb085QyxBQXVFSSxvQkF2RWdCLENBK0JuQixRQUFRLENBU1AsSUFBSSxDQWdCSCxZQUFZLENBZVgsRUFBRSxFQXZFTixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0RsRkYsWUFBWSxDQWVYLEVBQUUsRUM4Q04sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0MyR04sRUFBRSxDRGxGRixZQUFZLENBZVgsRUFBRSxFR3NDTiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIdklILFlBQVksQ0FlWCxFQUFFLENBQUM7VUFTRCxTQUFTLEVBQUUsR0FBRyxHQUVmOztBQU9MLEFBQUEseUJBQXlCLENBQUM7RUFDekIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUksR0FpT3BCO0VBbk9ELEFBSUMseUJBSndCLENBSXhCLGFBQWEsQ0FBQztJQUNiLFdBQVcsRUFBRSxJQUFJLEdBSWpCO0l4SXRVRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNd0k2VGxELEFBSUMseUJBSndCLENBSXhCLGFBQWEsQ0FBQztRQUdaLFdBQVcsRUFBRSxJQUFJLEdBRWxCO0VBVEYsQUFXQyx5QkFYd0IsQ0FXeEIsUUFBUSxDQUFDO0kvR3ZYVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0lHUG5ELGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tId2lCdEM7SXhJelpHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013STZUOUMsQUFXQyx5QkFYd0IsQ0FXeEIsUUFBUSxDQUFDO1FsSHJkUCxhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSHdpQnRDO0l4SXpaRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNd0k2VDlDLEFBV0MseUJBWHdCLENBV3hCLFFBQVEsQ0FBQztRL0d2WFQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSHdpQnRDO0V4SXpaRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXdJNlQ5QyxBQVdDLHlCQVh3QixDQVd4QixRQUFRLENBQUM7TWxIcmRQLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tId2lCdEM7SXhJelpHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO013STZUbEQsQUFXQyx5QkFYd0IsQ0FXeEIsUUFBUSxDQUFDO1EvR3ZYVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tId2lCdEM7RXhJelpHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7SXdJNlQ5QyxBQVdDLHlCQVh3QixDQVd4QixRQUFRLENBQUM7TWxIcmRQLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tId2lCdEM7SXhJelpHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO013STZUOUMsQUFXQyx5QkFYd0IsQ0FXeEIsUUFBUSxDQUFDO1EvR3ZYVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tId2lCdEM7RXhJelpHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJd0k2VDlDLEFBV0MseUJBWHdCLENBV3hCLFFBQVEsQ0FBQztNbEhyZFAsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHa0h3aUJ0QztJQTVGRixBQTJCRSx5QkEzQnVCLENBV3hCLFFBQVEsQUFnQk4sSUFBSyxDQUFBLGNBQWMsRUFBRTtNQUNyQixVQUFVLEVBQUUsSUFBSSxHQU9oQjtNeEloV0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXdJNlQ5QyxBQTJCRSx5QkEzQnVCLENBV3hCLFFBQVEsQUFnQk4sSUFBSyxDQUFBLGNBQWMsRUFBRTtVQUdwQixVQUFVLEVBQUUsSUFBSSxHQUtqQjtNeEloV0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UXdJNlRsRCxBQTJCRSx5QkEzQnVCLENBV3hCLFFBQVEsQUFnQk4sSUFBSyxDQUFBLGNBQWMsRUFBRTtVQU1wQixVQUFVLEVBQUUsQ0FBQyxHQUVkO0lBbkNILEFBeUNFLHlCQXpDdUIsQ0FXeEIsUUFBUSxDQThCUCxZQUFZLENBQUM7TS9HclpkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHa0gyZ0JyQztNeEk1WEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXdJNlQ5QyxBQXlDRSx5QkF6Q3VCLENBV3hCLFFBQVEsQ0E4QlAsWUFBWSxDQUFDO1VsSG5mWixhQUFhLEVBRkgsT0FBMkI7VUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSDJnQnJDO014STVYRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRd0k2VDlDLEFBeUNFLHlCQXpDdUIsQ0FXeEIsUUFBUSxDQThCUCxZQUFZLENBQUM7VS9HclpkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHa0gyZ0JyQztFeEk1WEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l3STZUOUMsQUF5Q0UseUJBekN1QixDQVd4QixRQUFRLENBOEJQLFlBQVksQ0FBQztNbEhuZlosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHa0gyZ0JyQztNeEk1WEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UXdJNlRsRCxBQXlDRSx5QkF6Q3VCLENBV3hCLFFBQVEsQ0E4QlAsWUFBWSxDQUFDO1UvR3JaZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkIsR2tIMmdCckM7RXhJNVhFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7SXdJNlQ5QyxBQXlDRSx5QkF6Q3VCLENBV3hCLFFBQVEsQ0E4QlAsWUFBWSxDQUFDO01sSG5mWixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdrSDJnQnJDO01BL0RILEFBdURHLHlCQXZEc0IsQ0FXeEIsUUFBUSxDQThCUCxZQUFZLENBY1gsU0FBUyxDQUFDO1FBQ1QsTUFBTSxFQUFFLElBQUksR0FNWjtReEkzWEMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7VXdJNlQ5QyxBQXVERyx5QkF2RHNCLENBV3hCLFFBQVEsQ0E4QlAsWUFBWSxDQWNYLFNBQVMsQ0FBQztZQUlSLE1BQU0sRUFBRSxJQUFJLEdBR2I7SUE5REosQUFpRUUseUJBakV1QixDQVd4QixRQUFRLENBc0RQLFlBQVksQ0FBQztNL0c3YWQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztNR1BuRCxhQUFhLEU1QnVFTCxDQUFDO000QnRFVCxZQUFZLEU1QnNFSixDQUFDO004SXNkVCxTQUFTLEVBQUUsSUFBSSxHQVFmO014SXhaRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRd0k2VDlDLEFBaUVFLHlCQWpFdUIsQ0FXeEIsUUFBUSxDQXNEUCxZQUFZLENBQUM7VS9HN2FkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHa0h1aUJyQztFeEl4WkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l3STZUOUMsQUFpRUUseUJBakV1QixDQVd4QixRQUFRLENBc0RQLFlBQVksQ0FBQztNbEgzZ0JaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIdWlCckM7TXhJeFpFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1F3STZUbEQsQUFpRUUseUJBakV1QixDQVd4QixRQUFRLENBc0RQLFlBQVksQ0FBQztVL0c3YWQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSHVpQnJDO0V4SXhaRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l3STZUOUMsQUFpRUUseUJBakV1QixDQVd4QixRQUFRLENBc0RQLFlBQVksQ0FBQztNbEgzZ0JaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIdWlCckM7TUEzRkgsQUFxRkcseUJBckZzQixDQVd4QixRQUFRLENBc0RQLFlBQVksQ0FvQlgsRUFBRSxDQUFDO1FBRUYsU0FBUyxFQUFFLE1BQU07UUFFakIsY0FBYyxFQUFFLE1BQU0sR0FDdEI7RUExRkosQUE4RkMseUJBOUZ3QixDQThGeEIsb0JBQW9CLENBQUM7SUFDcEIsV0FBVyxFQUFFLElBQUksR0E4Q2pCO0lBN0lGLEFBaUdFLHlCQWpHdUIsQ0E4RnhCLG9CQUFvQixDQUduQixRQUFRLENBQUM7TS9HN2NWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQjtNa0hvakJyQyxXQUFXLEVBQUUsTUFBTTtNQUNuQixjQUFjLEVBQUUsTUFBTTtNQUl0QixVQUFVLEVBQUUsT0FBMkI7TUFDdkMsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENqSjllQyxPQUFPLEdpSitlekI7TXhJNWFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1F3STZUOUMsQUFpR0UseUJBakd1QixDQThGeEIsb0JBQW9CLENBR25CLFFBQVEsQ0FBQztVbEgzaUJSLGFBQWEsRUFGSCxPQUEyQjtVQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIMmpCckM7TXhJNWFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1F3STZUOUMsQUFpR0UseUJBakd1QixDQThGeEIsb0JBQW9CLENBR25CLFFBQVEsQ0FBQztVL0c3Y1YsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdrSDJqQnJDO0V4STVhRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXdJNlQ5QyxBQWlHRSx5QkFqR3VCLENBOEZ4QixvQkFBb0IsQ0FHbkIsUUFBUSxDQUFDO01sSDNpQlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHa0gyakJyQztJQS9HSCxBQWlIRSx5QkFqSHVCLENBOEZ4QixvQkFBb0IsQ0FtQm5CLGVBQWUsQ0FBQztNL0c3ZGpCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHa0h1a0JyQztNeEl4YkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UXdJNlQ5QyxBQWlIRSx5QkFqSHVCLENBOEZ4QixvQkFBb0IsQ0FtQm5CLGVBQWUsQ0FBQztVbEgzakJmLGFBQWEsRUFGSCxPQUEyQjtVQUdyQyxZQUFZLEVBSEYsT0FBMkIsR2tIdWtCckM7TUEzSEgsQUFxSEcseUJBckhzQixDQThGeEIsb0JBQW9CLENBbUJuQixlQUFlLENBSWQsRUFBRSxDQUFDO1FBQ0YsU0FBUyxFQUFFLEtBQUssR0FDaEI7TUF2SEosQUF3SEcseUJBeEhzQixDQThGeEIsb0JBQW9CLENBbUJuQixlQUFlLENBT2QsQ0FBQyxFQXhISix5QkFBeUIsQ0E4RnhCLG9CQUFvQixDQW1CbkIsZUFBZSxDSm5WaEIsVUFBVSxFSWtPWCx5QkFBeUIsQ0E4RnhCLG9CQUFvQixDQW1CbkIsZUFBZSxDQU9aLENBQUMsQ0FBQztRQUNILFNBQVMsRUFBRSxJQUFJLEdBQ2Y7SUExSEosQUE2SEUseUJBN0h1QixDQThGeEIsb0JBQW9CLENBK0JuQixlQUFlLENBQUM7TS9HemVqQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsRzhJdWdCVDtNQXBJSCxBQWdJRyx5QkFoSXNCLENBOEZ4QixvQkFBb0IsQ0ErQm5CLGVBQWUsQ0FHZCxTQUFTLENBQUM7UUFDVCxNQUFNLEVBQUUsSUFBSSxHQUVaO0lBbklKLEFBc0lFLHlCQXRJdUIsQ0E4RnhCLG9CQUFvQixDQXdDbkIsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO01BQ3hCLE1BQU0sRUFBRSxHQUFHO01BQ1gsS0FBSyxFQUFFLEdBQUc7TUFHVixNQUFNLEVBQUUsR0FBRyxHQUNYO0VBNUlILEFBa0pFLHlCQWxKdUIsQ0FnSnhCLFlBQVksQ0FFWCxFQUFFLENBQUM7SUFDRixVQUFVLEVBQUUsTUFBTSxHQUNsQjtFQXBKSCxBQXNKRSx5QkF0SnVCLENBZ0p4QixZQUFZLENBTVgsSUFBSSxDQUFDO0lBQ0osTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixZQUFZLEVBQUUsV0FBVztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUksR0FRWDs7QXhJcGVFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBZ0MsTUFBcEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLFFBQVE7RXdJNlRsRCxBQWlLSSx5QkFqS3FCLENBZ0p4QixZQUFZLENBTVgsSUFBSSxDQVdGLEdBQUcsQ0FBQztJQUVGLE1BQU0sRUFBRSxJQUFJLEdBRWI7RXhJbGVBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0l3STZUbEQsQUEwS0UseUJBMUt1QixDQTBLdkIsYUFBYSxDQUFDO01BQ2IsWUFBWSxFQUFFLGtCQUFrQjtNQUNoQyxhQUFhLEVBQUUsT0FBTztNQUN0QixhQUFhLEVBQUUsSUFBSSxHQUNuQjtFQTlLSCxBQWdMQyx5QkFoTHdCLENBZ0x4QixZQUFZLEFBQUEsS0FBSyxDQUFDO0lBQ2pCLFVBQVUsRUFBRSxPQUFPLEdBQ25CO0VBbExGLEFBbUxDLHlCQW5Md0IsQ0FtTHhCLFlBQVksQ0FBQztJQUNaLGFBQWEsRUFBRSxNQUFNLENBQUMsR0FBRyxDako3akJiLE9BQU8sR2lKOGpCbkI7RUFyTEYsQUFzTEMseUJBdEx3QixDQXNMeEIsY0FBYyxDQUFDO0lBQ2QsY0FBYyxFQUFFLElBQUksR0FVcEI7SXhJemZHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7TXdJd1Q1QyxBQXNMQyx5QkF0THdCLENBc0x4QixjQUFjLENBQUM7UUFHYixjQUFjLEVBQUUsSUFBSSxHQVFyQjtJQWpNRixBQTJMRSx5QkEzTHVCLENBc0x4QixjQUFjLENBS2IsS0FBSyxDQUFDO01BQ0wsTUFBTSxFQUFFLElBQUksR0FDWjtJQTdMSCxBQThMRSx5QkE5THVCLENBc0x4QixjQUFjLENBUWIsWUFBWSxBQUFBLGVBQWUsQ0FBQztNQUMzQixVQUFVLEVBQUUsTUFBTSxHQUNsQjtFQWhNSCxBQW9NQyx5QkFwTXdCLENBb014QixvQkFBb0IsQ0FBQztJQUNwQixXQUFXLEVBQUUsSUFBSSxHQTJCakI7SXhJeGhCRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO013SXdUNUMsQUFvTUMseUJBcE13QixDQW9NeEIsb0JBQW9CLENBQUM7UUFHbkIsT0FBTyxFQUFFLElBQUksR0F5QmQ7SUFoT0YsQUF5TUUseUJBek11QixDQW9NeEIsb0JBQW9CLENBS25CLEtBQUssQ0FBQztNQUNMLE9BQU8sRUFBRSwyQkFBMkIsR0FxQnBDO014SXZoQkUsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztRd0l3VDVDLEFBeU1FLHlCQXpNdUIsQ0FvTXhCLG9CQUFvQixDQUtuQixLQUFLLENBQUM7VUFHSixPQUFPLEVBQUUsSUFBSSxDQUFBLFVBQVUsR0FtQnhCO01BL05ILEFBOE1HLHlCQTlNc0IsQ0FvTXhCLG9CQUFvQixDQUtuQixLQUFLLENBS0osY0FBYyxDQUFDO1FBQ2QsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixnQkFBZ0IsRUFBRSxJQUFJO1FBQ3RCLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsVUFBVSxFQUFFLFlBQVk7UUFDeEIsVUFBVSxFQUFFLE1BQU07UUFDbEIsY0FBYyxFQUFFLE1BQU07UUFDdEIsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixXQUFXLEVBQUUsSUFBSTtRQUNqQixPQUFPLEVBQUUsWUFBWTtRQUNyQixNQUFNLEVBQUUsVUFBVTtRQUNsQixVQUFVLEVBQUUsSUFBSTtRQUNoQixPQUFPLEVBQUUsWUFBWTtRQUNyQixrQkFBa0IsRUFBRSxJQUFJO1FBQ3hCLFVBQVUsRUFBRSxxREFBcUQsR0FDakU7O0F4SXRoQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztFd0k2aEI1QyxBQUNDLHFCQURvQixDQUNwQixZQUFZLENBQUM7SUFFWCxPQUFPLEVBQUUsSUFBSSxHQUVkOztBQUxGLEFBTUMscUJBTm9CLENBTXBCLFFBQVEsQ0FBQztFQUNSLFVBQVUsRUFBRSxNQUFNO0VBRWxCLFdBQVcsRUFBRSxJQUFJLEdBMEJqQjtFeElya0JHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l3SWtpQjlDLEFBTUMscUJBTm9CLENBTXBCLFFBQVEsQ0FBQztNQVVQLGFBQWEsRUFBQyxDQUFDLEdBbUJoQjtFQW5DRixBQW1CRSxxQkFuQm1CLENBTXBCLFFBQVEsQ0FhUCxpQkFBaUIsQ0FBQztJQUNqQixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsS0FBSyxHQVFiO0l4SS9qQkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXdJa2lCOUMsQUFtQkUscUJBbkJtQixDQU1wQixRQUFRLENBYVAsaUJBQWlCLENBQUM7UUFLaEIsTUFBTSxFQUFFLEtBQUssR0FLZDtJeEkvakJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO013SWtpQmxELEFBbUJFLHFCQW5CbUIsQ0FNcEIsUUFBUSxDQWFQLGlCQUFpQixDQUFDO1FBUWhCLE1BQU0sRUFBRSxLQUFLLEdBRWQ7RUE3QkgsQUErQkUscUJBL0JtQixDQU1wQixRQUFRLENBeUJQLGlCQUFpQixDQUFDLEdBQUcsQ0FBQztJQUNyQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1g7O0F4SXBrQkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXlJaEs5QyxBQUVDLGtCQUZpQixDQUVqQixVQUFVLEFBQUEsY0FBYyxDQUFDO0lBRXZCLGNBQWMsRUFBRSxJQUFJLEdBRXJCOztBQU5GLEFBUUMsa0JBUmlCLENBUWpCLGdCQUFnQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxjQUFjLEdBS3ZCO0VBZEYsQUFXRSxrQkFYZ0IsQ0FRakIsZ0JBQWdCLENBR2YsUUFBUSxDQUFDO0lBQ1IsV0FBVyxFQUFFLENBQUMsR0FDZDs7QUFiSCxBQWlCQyxrQkFqQmlCLENBaUJqQixhQUFhLENBQUM7RWhIZ0dkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7RU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7RUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztFNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0l0Q1Y7RXpJNEdHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SWhLOUMsQUFpQkMsa0JBakJpQixDQWlCakIsYUFBYSxDQUFDO01oSGdHZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLElBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IbUN0QztFekk0R0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SWhLOUMsQUFpQkMsa0JBakJpQixDQWlCakIsYUFBYSxDQUFDO01uSEVaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IbUN0QztFekk0R0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXlJaEtsRCxBQWlCQyxrQkFqQmlCLENBaUJqQixhQUFhLENBQUM7TWhIZ0dkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHbUhtQ3RDO0V6STRHRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SWhLOUMsQUFpQkMsa0JBakJpQixDQWlCakIsYUFBYSxDQUFDO01uSEVaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IbUN0QztFQXBERixBQStCSSxrQkEvQmMsQ0FpQmpCLGFBQWEsQ0FXWCxLQUFLLENBR0osSUFBSSxDQUFDLFlBQVksRUEvQnJCLGtCQUFrQixDQWlCakIsYUFBYSxDQVdYLEtBQUssQ0E2ZFIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0EvZUksWUFBWSxFQTBkckIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVnQlIsa0JBQWtCLENBaUJqQixhQUFhLENBV1gsS0FBSyxDQWtmTCxFQUFFLENBL2VJLFlBQVksRUVrZHJCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRi9pQmpCLGtCQUFrQixDQWlCakIsYUFBYSxDQVdYLEtBQUssQ0V1aUJKLEVBQUUsQ0ZwaUJHLFlBQVksQ0FBQztJaEhrRnJCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUMsR3NIV2pEO0l6SWdJQSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLE9BQU8sU0FBUyxFQUFFLFNBQVM7TXlJcktsRSxBQStCSSxrQkEvQmMsQ0FpQmpCLGFBQWEsQ0FXWCxLQUFLLENBR0osSUFBSSxDQUFDLFlBQVksRUEvQnJCLGtCQUFrQixDQWlCakIsYUFBYSxDQVdYLEtBQUssQ0E2ZFIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0EvZUksWUFBWSxFQTBkckIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVnQlIsa0JBQWtCLENBaUJqQixhQUFhLENBV1gsS0FBSyxDQWtmTCxFQUFFLENBL2VJLFlBQVksRUVrZHJCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRi9pQmpCLGtCQUFrQixDQWlCakIsYUFBYSxDQVdYLEtBQUssQ0V1aUJKLEVBQUUsQ0ZwaUJHLFlBQVksQ0FBQztRaEhrRnJCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUMsR3NIV2pEO0VBckNMLEFBdUNJLGtCQXZDYyxDQWlCakIsYUFBYSxDQVdYLEtBQUssQ0FXSixJQUFJLENBQUMsWUFBWSxFQXZDckIsa0JBQWtCLENBaUJqQixhQUFhLENBV1gsS0FBSyxDQTZkUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQXZlSSxZQUFZLEVBa2RyQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBNWdCUixrQkFBa0IsQ0FpQmpCLGFBQWEsQ0FXWCxLQUFLLENBa2ZMLEVBQUUsQ0F2ZUksWUFBWSxFRTBjckIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL2lCakIsa0JBQWtCLENBaUJqQixhQUFhLENBV1gsS0FBSyxDRXVpQkosRUFBRSxDRjVoQkcsWUFBWSxDQUFDO0loSDBFckIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QyxHc0htQmpEO0l6SXdIQSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLE9BQU8sU0FBUyxFQUFFLFNBQVM7TXlJcktsRSxBQXVDSSxrQkF2Q2MsQ0FpQmpCLGFBQWEsQ0FXWCxLQUFLLENBV0osSUFBSSxDQUFDLFlBQVksRUF2Q3JCLGtCQUFrQixDQWlCakIsYUFBYSxDQVdYLEtBQUssQ0E2ZFIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0F2ZUksWUFBWSxFQWtkckIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVnQlIsa0JBQWtCLENBaUJqQixhQUFhLENBV1gsS0FBSyxDQWtmTCxFQUFFLENBdmVJLFlBQVksRUUwY3JCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRi9pQmpCLGtCQUFrQixDQWlCakIsYUFBYSxDQVdYLEtBQUssQ0V1aUJKLEVBQUUsQ0Y1aEJHLFlBQVksQ0FBQztRaEgwRXJCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUMsR3NIbUJqRDs7QUE3Q0wsQUF3REcsa0JBeERlLENBc0RqQixZQUFZLENBQ1gsS0FBSyxDQUNKLFNBQVMsQ0FBQztFQUNULE1BQU0sRUFBRSxJQUFJLEdBQ1o7O0FBMURKLEFBZ0VHLGtCQWhFZSxDQThEakIsWUFBWSxDQUNYLEtBQUssQ0FDSixTQUFTLENBQUM7RUFDVCxNQUFNLEVBQUUsTUFBTTtFQUNkLGFBQWEsRUFBRSxLQUFLLEdBQ3BCOztBQWdCSixBQUFBLGlCQUFpQixDQUFDO0VBQ2pCLFdBQVcsRUFBQyxNQUFNO0VBQ2xCLGNBQWMsRUFBQyxNQUFNLEdBQ3JCOztBekkrRUksTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUSxPQUFPLFNBQVMsRUFBRSxTQUFTO0V5STVFdEUsQUFLRSxzQkFMb0IsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FBQTtJaEhtQmQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxTQUF5QyxHc0hzSm5EOztBQXZGSCxBQVdHLHNCQVhtQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQU1aLGFBQWEsQ0FBQztFQUNiLE9BQU8sRUFBRSxJQUFJLEdBUWI7RXpJbURDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0l5SXZFbEQsQUFXRyxzQkFYbUIsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FNWixhQUFhLENBQUM7TUFJWixPQUFPLEVBQUUsV0FBVyxHQUtyQjtFekltREMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJdkU5QyxBQVdHLHNCQVhtQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQU1aLGFBQWEsQ0FBQztNQU9aLE9BQU8sRUFBRSxTQUFTLEdBRW5COztBQXBCSixBQXVCRyxzQkF2Qm1CLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENBa0JaLGFBQWEsQ0FBQztFdkhsQmhCLFNBQVMsRXhCVEMsS0FBNkM7RStCbERyRCxZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUlqQixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxHQUFHLENBbEJDLElBQUksR2dINEhsQjtFQTFESixBQTZCSSxzQkE3QmtCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENBa0JaLGFBQWEsQ0FNWixZQUFZLENBQUM7SWhITGhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7SUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0l1Q1A7SXpJb0NBLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVEsT0FBTyxTQUFTLEVBQUUsU0FBUztNeUk1RXRFLEFBNkJJLHNCQTdCa0IsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FrQlosYUFBYSxDQU1aLFlBQVksQ0FBQztRaEhMaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCO1FtSDBHbEMsWUFBWSxFQUFFLEtBQUssR0FNcEI7RXpJK0JBLE1BQU0sQ0FBUSxNQUE0QixNQUt2QixTQUFTLEVBQUUsUUFBUSxPQUFPLFNBQVMsRUFBRSxTQUFTLE9BTHZDLFNBQVMsRUFBRSxJQUFJO0l5SXZFOUMsQUE2Qkksc0JBN0JrQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQWtCWixhQUFhLENBTVosWUFBWSxDQUFDO01uSG5HZCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGdIbkM7SXpJK0JBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015SXZFOUMsQUE2Qkksc0JBN0JrQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQWtCWixhQUFhLENBTVosWUFBWSxDQUFDO1FoSExoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1FHUG5ELGFBQWEsRTVCdUVMLENBQUM7UTRCdEVULFlBQVksRTVCc0VKLENBQUMsRytJdUNQO0VBeENMLEFBMENJLHNCQTFDa0IsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FrQlosYUFBYSxDQW1CWixZQUFZLENBQUM7SWhIbEJoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO0lHUG5ELGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IZ0luQztJekllQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUl2RTlDLEFBMENJLHNCQTFDa0IsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FrQlosYUFBYSxDQW1CWixZQUFZLENBQUM7UW5IaEhkLGFBQWEsRUFGSCxPQUEyQjtRQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IZ0luQztJeklvQkEsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztNeUk1RTVDLEFBMENJLHNCQTFDa0IsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FrQlosYUFBYSxDQW1CWixZQUFZLENBQUM7UUFJWCxhQUFhLEVBQUUsQ0FBQyxHQVVqQjtJeklvQkEsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUSxPQUFPLFNBQVMsRUFBRSxTQUFTO015STVFdEUsQUEwQ0ksc0JBMUNrQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQWtCWixhQUFhLENBbUJaLFlBQVksQ0FBQztRaEhsQmhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHbUhnSW5DO0V6SWVBLE1BQU0sQ0FBUSxNQUE0QixNQUt2QixTQUFTLEVBQUUsUUFBUSxPQUFPLFNBQVMsRUFBRSxTQUFTLE9BTHZDLFNBQVMsRUFBRSxJQUFJO0l5SXZFOUMsQUEwQ0ksc0JBMUNrQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQWtCWixhQUFhLENBbUJaLFlBQVksQ0FBQztNbkhoSGQsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhnSW5DO0l6SWVBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015SXZFOUMsQUEwQ0ksc0JBMUNrQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQWtCWixhQUFhLENBbUJaLFlBQVksQ0FBQztRaEhsQmhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7UU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7UUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztRNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0l1RFA7O0FBeERMLEFBdUJHLHNCQXZCbUIsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FrQlosYUFBYSxDQXNDQztFQUNiLFVBQVUsRUFBRSxJQUFJLEdBd0JoQjtFeklWQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRLE9BQU8sU0FBUyxFQUFFLFNBQVM7SXlJNUV0RSxBQTBDSSxzQkExQ2tCLENBR3JCLGVBQWUsQ0FFZCxhQUFhLENBa0JaLGFBQWEsQ0FtQlosWUFBWSxDQXNCQztNQUVYLFVBQVUsRUFBRSxJQUFJLEdBbUJqQjtFeklkQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUl2RTlDLEFBMENJLHNCQTFDa0IsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0FrQlosYUFBYSxDQW1CWixZQUFZLENBc0JDO01BTVgsVUFBVSxFQUFFLE1BQU0sR0FlbkI7RUFyRkwsQUE2RU0sc0JBN0VnQixDQUdyQixlQUFlLENBRWQsYUFBYSxDQXdEWixhQUFhLENBR1osWUFBWSxDQVNYLEVBQUUsR0FJRSxJQUFJLENBQUM7SUxpTVgsYUFBYSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEM3SWpTYixPQUFPO0lrSmtHZixTQUFTLEVBQUUsR0FBRztJQUNkLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRWxKcEdHLE9BQU8sR2tKcUdmO0lBbEZQLEFMK1FHLHNCSy9RbUIsQ0FHckIsZUFBZSxDQUVkLGFBQWEsQ0F3RFosYUFBYSxDQUdaLFlBQVksQ0FTWCxFQUFFLEdBSUUsSUFBSSxBTGtNVCxNQUFNLENBQUM7TUFDUCxtQkFBbUIsRTdJelNQLE9BQU8sRzZJMFNuQjs7QUtwTEosQUFHQyx1QkFIc0IsQ0FHdEIsWUFBWSxDQUFDO0VoSHhFYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21INEx0QztFekk3Q0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJc0I5QyxBQUdDLHVCQUhzQixDQUd0QixZQUFZLENBQUM7TW5IdEtYLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21INEx0QztFekk3Q0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXlJc0JsRCxBQUdDLHVCQUhzQixDQUd0QixZQUFZLENBQUM7TWhIeEViLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHbUg0THRDO0V6STdDRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUFHQyx1QkFIc0IsQ0FHdEIsWUFBWSxDQUFDO01uSHRLWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSDRMdEM7RXpJN0NHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUFHQyx1QkFIc0IsQ0FHdEIsWUFBWSxDQUFDO01oSHhFYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21INEx0QztFekk3Q0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUFHQyx1QkFIc0IsQ0FHdEIsWUFBWSxDQUFDO01uSHRLWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSDRMdEM7RXpJN0NHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUFHQyx1QkFIc0IsQ0FHdEIsWUFBWSxDQUFDO01oSHhFYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21INEx0QztFekk3Q0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUFHQyx1QkFIc0IsQ0FHdEIsWUFBWSxDQUFDO01uSHRLWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSDRMdEM7O0FBdkJGLEFBeUJDLHVCQXpCc0IsQ0F5QnRCLFFBQVEsQ0FBQztFaEg5RlQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGtOdEM7RXpJbkVHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUF5QkMsdUJBekJzQixDQXlCdEIsUUFBUSxDQUFDO01uSDVMUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtOdEM7RXpJOURHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7SXlJaUI1QyxBQXlCQyx1QkF6QnNCLENBeUJ0QixRQUFRLENBQUM7TUFLUCxjQUFjLEVBQUUsSUFBSSxHQWVyQjtFekluRUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXlJc0JsRCxBQXlCQyx1QkF6QnNCLENBeUJ0QixRQUFRLENBQUM7TWhIOUZULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHbUhrTnRDO0V6SW5FRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUF5QkMsdUJBekJzQixDQXlCdEIsUUFBUSxDQUFDO01uSDVMUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtOdEM7RXpJbkVHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUF5QkMsdUJBekJzQixDQXlCdEIsUUFBUSxDQUFDO01oSDlGVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ia050QztFekluRUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUF5QkMsdUJBekJzQixDQXlCdEIsUUFBUSxDQUFDO01uSDVMUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtOdEM7RXpJbkVHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUF5QkMsdUJBekJzQixDQXlCdEIsUUFBUSxDQUFDO01oSDlGVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ia050QztFekluRUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SXNCOUMsQUF5QkMsdUJBekJzQixDQXlCdEIsUUFBUSxDQUFDO01uSDVMUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtOdEM7O0F6SW5FRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFeUlzQjlDLEFBK0NDLHVCQS9Dc0IsQ0ErQ3RCLGtCQUFrQixDQUFDO0lBRWpCLFVBQVUsRUFBRSxLQUFLLEdBRWxCOztBQVNGLEFBQUEsMkJBQTJCLENBQUM7RUFDM0IsV0FBVyxFQUFFLENBQUMsR0EyQmQ7RUE1QkQsQUFHQywyQkFIMEIsQ0FHMUIsYUFBYSxDQUFDO0lBQ2IsT0FBTyxFQUFFLE1BQU0sR0FLZjtJekkzRkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXlJa0Y5QyxBQUdDLDJCQUgwQixDQUcxQixhQUFhLENBQUM7UUFJWixPQUFPLEVBQUUsTUFBTSxHQUVoQjtFQVRGLEFBYUUsMkJBYnlCLENBVzFCLFlBQVksQ0FFWCxhQUFhLENBQUM7SUFDYixNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxJQUFJLEdBS1g7SXpJdEdFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015SWtGOUMsQUFhRSwyQkFieUIsQ0FXMUIsWUFBWSxDQUVYLGFBQWEsQ0FBQztRQUtaLE1BQU0sRUFBRSxLQUFLLEdBRWQ7O0FBVUgsQUFDQyxtQkFEa0IsQ0FDbEIsUUFBUSxDQUFDO0VoSGhLVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkI7RW1Ia1F0QyxVQUFVLEVBQUUsSUFBSSxHQTJEaEI7RXpJOUtHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SWdIOUMsQUFDQyxtQkFEa0IsQ0FDbEIsUUFBUSxDQUFDO01uSDlQUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSDZUdEM7RXpJOUtHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SWdIOUMsQUFDQyxtQkFEa0IsQ0FDbEIsUUFBUSxDQUFDO01oSGhLVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkI7TW1Ic1FyQyxVQUFVLEVBQUUsSUFBSTtNQUNoQixhQUFhLEVBQUUsSUFBSSxHQXNEcEI7RXpJOUtHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJeUlnSDlDLEFBQ0MsbUJBRGtCLENBQ2xCLFFBQVEsQ0FBQztNbkg5UFAsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUg2VHRDO0V6SXpLRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5STJHdkMsQUFDQyxtQkFEa0IsQ0FDbEIsUUFBUSxDQUFDO01oSGhLVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21INlR0QztFekk5S0csTUFBTSxDQUFRLE1BQTRCLE1BS3ZCLFNBQVMsRUFBRSxJQUFJLE9BTFIsU0FBUyxFQUFFLElBQUk7SXlJZ0g5QyxBQUNDLG1CQURrQixDQUNsQixRQUFRLENBQUM7TW5IOVBQLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21INlR0QztFQTlERixBQTBCRyxtQkExQmdCLENBQ2xCLFFBQVEsQ0FlUCxJQUFJLENBVUgsWUFBWSxFQTFCZixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQXBPRixZQUFZLEVBK01mLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxDQXBPRixZQUFZLEVBMUJmLG1CQUFtQixDQUNsQixRQUFRLENFZ09ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENGelJILFlBQVksRUV1TWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLENGelJILFlBQVksQ0FBQztJaEh6TGYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEU1QnVFTCxDQUFDO0k0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEcrSWlPUjtJekkzSkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TXlJZ0hsRCxBQTBCRyxtQkExQmdCLENBQ2xCLFFBQVEsQ0FlUCxJQUFJLENBVUgsWUFBWSxFQTFCZixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQXBPRixZQUFZLEVBK01mLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxDQXBPRixZQUFZLEVBMUJmLG1CQUFtQixDQUNsQixRQUFRLENFZ09ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENGelJILFlBQVksRUV1TWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLENGelJILFlBQVksQ0FBQztRaEh6TGYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSDBTcEM7RXpJM0pDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7SXlJZ0g5QyxBQTBCRyxtQkExQmdCLENBQ2xCLFFBQVEsQ0FlUCxJQUFJLENBVUgsWUFBWSxFQTFCZixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQXBPRixZQUFZLEVBK01mLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxDQXBPRixZQUFZLEVBMUJmLG1CQUFtQixDQUNsQixRQUFRLENFZ09ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENGelJILFlBQVksRUV1TWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLENGelJILFlBQVksQ0FBQztNbkh2UmIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUgwU3BDO0l6STNKQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUlnSDlDLEFBMEJHLG1CQTFCZ0IsQ0FDbEIsUUFBUSxDQWVQLElBQUksQ0FVSCxZQUFZLEVBMUJmLG1CQUFtQixDQUNsQixRQUFRLENBd09ULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBcE9GLFlBQVksRUErTWYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVQUixtQkFBbUIsQ0FDbEIsUUFBUSxDQTZQTixFQUFFLENBcE9GLFlBQVksRUExQmYsbUJBQW1CLENBQ2xCLFFBQVEsQ0VnT1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0Z6UkgsWUFBWSxFRXVNZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YvUmpCLG1CQUFtQixDQUNsQixRQUFRLENFa1RMLEVBQUUsQ0Z6UkgsWUFBWSxDQUFDO1FoSHpMZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IMFNwQztFekkzSkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SWdIOUMsQUEwQkcsbUJBMUJnQixDQUNsQixRQUFRLENBZVAsSUFBSSxDQVVILFlBQVksRUExQmYsbUJBQW1CLENBQ2xCLFFBQVEsQ0F3T1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0FwT0YsWUFBWSxFQStNZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBNVBSLG1CQUFtQixDQUNsQixRQUFRLENBNlBOLEVBQUUsQ0FwT0YsWUFBWSxFQTFCZixtQkFBbUIsQ0FDbEIsUUFBUSxDRWdPVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDRnpSSCxZQUFZLEVFdU1mLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRi9SakIsbUJBQW1CLENBQ2xCLFFBQVEsQ0VrVEwsRUFBRSxDRnpSSCxZQUFZLENBQUM7TW5IdlJiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IMFNwQztFQTNDSixBQTZDRyxtQkE3Q2dCLENBQ2xCLFFBQVEsQ0FlUCxJQUFJLENBNkJILFlBQVksRUE3Q2YsbUJBQW1CLENBQ2xCLFFBQVEsQ0F3T1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0FqTkYsWUFBWSxFQTRMZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBNVBSLG1CQUFtQixDQUNsQixRQUFRLENBNlBOLEVBQUUsQ0FqTkYsWUFBWSxFQTdDZixtQkFBbUIsQ0FDbEIsUUFBUSxDRWdPVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDRnRRSCxZQUFZLEVFb0xmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRi9SakIsbUJBQW1CLENBQ2xCLFFBQVEsQ0VrVEwsRUFBRSxDRnRRSCxZQUFZLENBQUM7SWhINU1mLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0lrUFI7SXpJNUtDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO015SWdIbEQsQUE2Q0csbUJBN0NnQixDQUNsQixRQUFRLENBZVAsSUFBSSxDQTZCSCxZQUFZLEVBN0NmLG1CQUFtQixDQUNsQixRQUFRLENBd09ULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBak5GLFlBQVksRUE0TGYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQTVQUixtQkFBbUIsQ0FDbEIsUUFBUSxDQTZQTixFQUFFLENBak5GLFlBQVksRUE3Q2YsbUJBQW1CLENBQ2xCLFFBQVEsQ0VnT1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0Z0UUgsWUFBWSxFRW9MZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YvUmpCLG1CQUFtQixDQUNsQixRQUFRLENFa1RMLEVBQUUsQ0Z0UUgsWUFBWSxDQUFDO1FoSDVNZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IMlRwQztFekk1S0MsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJeUlnSDlDLEFBNkNHLG1CQTdDZ0IsQ0FDbEIsUUFBUSxDQWVQLElBQUksQ0E2QkgsWUFBWSxFQTdDZixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWpORixZQUFZLEVBNExmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxDQWpORixZQUFZLEVBN0NmLG1CQUFtQixDQUNsQixRQUFRLENFZ09ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENGdFFILFlBQVksRUVvTGYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLENGdFFILFlBQVksQ0FBQztNbkgxU2IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUgyVHBDO0l6STVLQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUlnSDlDLEFBNkNHLG1CQTdDZ0IsQ0FDbEIsUUFBUSxDQWVQLElBQUksQ0E2QkgsWUFBWSxFQTdDZixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWpORixZQUFZLEVBNExmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxDQWpORixZQUFZLEVBN0NmLG1CQUFtQixDQUNsQixRQUFRLENFZ09ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENGdFFILFlBQVksRUVvTGYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLENGdFFILFlBQVksQ0FBQztRaEg1TWYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSDJUcEM7RXpJNUtDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJeUlnSDlDLEFBNkNHLG1CQTdDZ0IsQ0FDbEIsUUFBUSxDQWVQLElBQUksQ0E2QkgsWUFBWSxFQTdDZixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWpORixZQUFZLEVBNExmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0E1UFIsbUJBQW1CLENBQ2xCLFFBQVEsQ0E2UE4sRUFBRSxDQWpORixZQUFZLEVBN0NmLG1CQUFtQixDQUNsQixRQUFRLENFZ09ULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENGdFFILFlBQVksRUVvTGYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLENGdFFILFlBQVksQ0FBQztNbkgxU2IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUgyVHBDO0lBNURKLEFBd0RJLG1CQXhEZSxDQUNsQixRQUFRLENBZVAsSUFBSSxDQTZCSCxZQUFZLENBV1gsV0FBVyxFQXhEZixtQkFBbUIsQ0FDbEIsUUFBUSxDQXdPVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWpORixZQUFZLENBV1gsV0FBVyxFQWlMZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBNVBSLG1CQUFtQixDQUNsQixRQUFRLENBNlBOLEVBQUUsQ0FqTkYsWUFBWSxDQVdYLFdBQVcsRUV5S2YsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGL1JqQixtQkFBbUIsQ0FDbEIsUUFBUSxDRWtUTCxFQUFFLENGdFFILFlBQVksQ0FXWCxXQUFXLENBQUM7TUFDWCxLQUFLLEVBQUUsT0FBTztNQUNkLFNBQVMsRUFBRSxNQUFNLEdBQ2pCOztBQVFMLEFBS0UsMEJBTHdCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBQUM7RWhIdk9WLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQixHbUhvWXJDO0V6SXJQRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUltTDlDLEFBS0UsMEJBTHdCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBQUM7TW5IclVSLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21Ib1lyQztFeklyUEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJbUw5QyxBQUtFLDBCQUx3QixDQUd6QixZQUFZLENBRVgsUUFBUSxDQUFDO01oSHZPVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ib1lyQztFeklyUEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SW1MOUMsQUFLRSwwQkFMd0IsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FBQztNbkhyVVIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhvWXJDO0V6SXJQRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUltTDlDLEFBS0UsMEJBTHdCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBQUM7TWhIdk9WLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHbUhvWXJDO0V6SXJQRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXlJbUw5QyxBQUtFLDBCQUx3QixDQUd6QixZQUFZLENBRVgsUUFBUSxDQUFDO01uSHJVUixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSG9ZckM7RUFsRUgsQUFvQkksMEJBcEJzQixDQUd6QixZQUFZLENBRVgsUUFBUSxDQVdQLFNBQVMsQ0FJUixZQUFZLENBQUM7SWhIdFBoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO0lHUG5ELGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ic1huQztJekl2T0EsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXlJbUw5QyxBQW9CSSwwQkFwQnNCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBV1AsU0FBUyxDQUlSLFlBQVksQ0FBQztRbkhwVmQsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHbUhzWG5DO0l6SXZPQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNeUltTGxELEFBb0JJLDBCQXBCc0IsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBSVIsWUFBWSxDQUFDO1FoSHRQaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEcrSTZTUDtJekl2T0EsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXlJbUw5QyxBQW9CSSwwQkFwQnNCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBV1AsU0FBUyxDQUlSLFlBQVksQ0FBQztRaEh0UGhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7UU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHbUhzWG5DO0V6SXZPQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXlJbUw5QyxBQW9CSSwwQkFwQnNCLENBR3pCLFlBQVksQ0FFWCxRQUFRLENBV1AsU0FBUyxDQUlSLFlBQVksQ0FBQztNbkhwVmQsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhzWG5DO0lBcERMLEFBK0JLLDBCQS9CcUIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBSVIsWUFBWSxDQVdYLGFBQWEsQ0FBQztNQUNiLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsSUFBSTtNQUNiLE1BQU0sRUFBRSxTQUFTLEdBZWpCO01BbEROLEFBcUNPLDBCQXJDbUIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBSVIsWUFBWSxDQVdYLGFBQWEsQ0FNWCxHQUFHLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxHQUNaO016STFOSCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtReUltTDlDLEFBK0JLLDBCQS9CcUIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBSVIsWUFBWSxDQVdYLGFBQWEsQ0FBQztVQVdaLE1BQU0sRUFBRyxNQUFNO1VBQ2YsS0FBSyxFQUFFLE1BQU07VUFDYixPQUFPLEVBQUUsSUFBSSxHQU1kO1VBbEROLEFBcUNPLDBCQXJDbUIsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBSVIsWUFBWSxDQVdYLGFBQWEsQ0FNWCxHQUFHLENBU0M7WUFDSCxNQUFNLEVBQUUsSUFBSSxHQUNaO0VBaERSLEFBc0RJLDBCQXREc0IsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBc0NSLFlBQVksQ0FBQztJaEh4UmhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQixHbUhrWW5DO0l6SW5QQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUltTDlDLEFBc0RJLDBCQXREc0IsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBc0NSLFlBQVksQ0FBQztRbkh0WGQsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHbUhrWW5DO0l6SW5QQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNeUltTGxELEFBc0RJLDBCQXREc0IsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBc0NSLFlBQVksQ0FBQztRaEh4UmhCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHbUhrWW5DO0V6SW5QQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SW1MOUMsQUFzREksMEJBdERzQixDQUd6QixZQUFZLENBRVgsUUFBUSxDQVdQLFNBQVMsQ0FzQ1IsWUFBWSxDQUFDO01uSHRYZCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtZbkM7SXpJblBBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015SW1MOUMsQUFzREksMEJBdERzQixDQUd6QixZQUFZLENBRVgsUUFBUSxDQVdQLFNBQVMsQ0FzQ1IsWUFBWSxDQUFDO1FoSHhSaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGtZbkM7RXpJblBBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJeUltTDlDLEFBc0RJLDBCQXREc0IsQ0FHekIsWUFBWSxDQUVYLFFBQVEsQ0FXUCxTQUFTLENBc0NSLFlBQVksQ0FBQztNbkh0WGQsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhrWW5DOztBQWhFTCxBQXdFRSwwQkF4RXdCLENBc0V6QixZQUFZLENBRVgsYUFBYSxDQUFDO0VBQ2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBNkIsR0FHL0M7O0FBOUVILEFBaUZDLDBCQWpGeUIsQ0FpRnpCLFlBQVksQ0FBQztFQUNaLFVBQVUsRUFBRSxJQUFJLEdBUWhCO0V6STdRRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUltTDlDLEFBaUZDLDBCQWpGeUIsQ0FpRnpCLFlBQVksQ0FBQztNQUdYLFVBQVUsRUFBRSxNQUFNLEdBTW5CO0VBMUZGLEFBdUZFLDBCQXZGd0IsQ0FpRnpCLFlBQVksQ0FNWCxFQUFFLENBQUM7SUFDRixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QXpJNVFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0V5SXFSOUMsQUFFQyxxQkFGb0IsQ0FFcEIsYUFBYSxDQUFDO0lBRVosV0FBVyxFQUFFLENBQUMsR0FFZjs7QUFORixBQVFDLHFCQVJvQixDQVFwQixRQUFRLENBQUM7RWhINVVULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQjtFbUgrYXRDLFVBQVUsRUFBRSxJQUFJLEdBcURoQjtFeklyVkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJcVI5QyxBQVFDLHFCQVJvQixDQVFwQixRQUFRLENBQUM7TW5IMWFQLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21Ib2V0QztFekloVkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJeUlnUjVDLEFBYUUscUJBYm1CLENBUXBCLFFBQVEsQUFLTixjQUFjLENBQUM7TUFFZCxVQUFVLEVBQUUsQ0FBQyxHQUtkO0V6SXBTRSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRLE9BQU8sU0FBUyxFQUFFLFNBQVM7SXlJZ1J0RSxBQWFFLHFCQWJtQixDQVFwQixRQUFRLEFBS04sY0FBYyxDQUFDO01BS2QsVUFBVSxFQUFFLENBQUMsR0FFZDtFekl6U0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJcVI5QyxBQVFDLHFCQVJvQixDQVFwQixRQUFRLENBQUM7TWhINVVULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQjtNbUg4YnJDLFVBQVUsRUFBRSxJQUFJLEdBc0NqQjtFeklyVkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SXFSOUMsQUFRQyxxQkFSb0IsQ0FRcEIsUUFBUSxDQUFDO01uSDFhUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSG9ldEM7RUFoRUYsQUFnQ0cscUJBaENrQixDQVFwQixRQUFRLENBcUJQLFNBQVMsQ0FHUixZQUFZLENBQUE7SWhIcFdkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQixHbUhrZHBDO0l6SW5VQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUlxUjlDLEFBZ0NHLHFCQWhDa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBR1IsWUFBWSxDQUFBO1FuSGxjWixhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtkcEM7SXpJblVDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO015SXFSbEQsQUFnQ0cscUJBaENrQixDQVFwQixRQUFRLENBcUJQLFNBQVMsQ0FHUixZQUFZLENBQUE7UWhIcFdkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHbUhrZHBDO0V6SW5VQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SXFSOUMsQUFnQ0cscUJBaENrQixDQVFwQixRQUFRLENBcUJQLFNBQVMsQ0FHUixZQUFZLENBQUE7TW5IbGNaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21Ia2RwQztJekluVUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXlJcVI5QyxBQWdDRyxxQkFoQ2tCLENBUXBCLFFBQVEsQ0FxQlAsU0FBUyxDQUdSLFlBQVksQ0FBQTtRaEhwV2QsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGtkcEM7RXpJblVDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJeUlxUjlDLEFBZ0NHLHFCQWhDa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBR1IsWUFBWSxDQUFBO01uSGxjWixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtkcEM7SXpJblVDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015SXFSOUMsQUFnQ0cscUJBaENrQixDQVFwQixRQUFRLENBcUJQLFNBQVMsQ0FHUixZQUFZLENBQUE7UWhIcFdkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHbUhrZHBDO0V6SW5VQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXlJcVI5QyxBQWdDRyxxQkFoQ2tCLENBUXBCLFFBQVEsQ0FxQlAsU0FBUyxDQUdSLFlBQVksQ0FBQTtNbkhsY1osYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhrZHBDO0VBOUNKLEFBZ0RHLHFCQWhEa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBbUJSLFlBQVksQ0FBQTtJaEhwWGQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGtlcEM7SXpJblZDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO015SXFSOUMsQUFnREcscUJBaERrQixDQVFwQixRQUFRLENBcUJQLFNBQVMsQ0FtQlIsWUFBWSxDQUFBO1FuSGxkWixhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGtlcEM7SXpJblZDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO015SXFSbEQsQUFnREcscUJBaERrQixDQVFwQixRQUFRLENBcUJQLFNBQVMsQ0FtQlIsWUFBWSxDQUFBO1FoSHBYZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ia2VwQztFekluVkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJeUlxUjlDLEFBZ0RHLHFCQWhEa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBbUJSLFlBQVksQ0FBQTtNbkhsZFosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhrZXBDO0l6SW5WQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUlxUjlDLEFBZ0RHLHFCQWhEa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBbUJSLFlBQVksQ0FBQTtRaEhwWGQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGtlcEM7RXpJblZDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJeUlxUjlDLEFBZ0RHLHFCQWhEa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBbUJSLFlBQVksQ0FBQTtNbkhsZFosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhrZXBDO0l6SW5WQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUlxUjlDLEFBZ0RHLHFCQWhEa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBbUJSLFlBQVksQ0FBQTtRaEhwWGQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGtlcEM7RXpJblZDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJeUlxUjlDLEFBZ0RHLHFCQWhEa0IsQ0FRcEIsUUFBUSxDQXFCUCxTQUFTLENBbUJSLFlBQVksQ0FBQTtNbkhsZFosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhrZXBDOztBQU1KLEFBR0UsOEJBSDRCLENBQzdCLFFBQVEsQ0FFUCxhQUFhLENBQUM7RWhIM1lmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQixHbUhpZnJDO0V6SWxXRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUl5VjlDLEFBR0UsOEJBSDRCLENBQzdCLFFBQVEsQ0FFUCxhQUFhLENBQUM7TW5IemViLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IaWZyQztFeklsV0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJeVY5QyxBQUdFLDhCQUg0QixDQUM3QixRQUFRLENBRVAsYUFBYSxDQUFDO01oSDNZZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IaWZyQztFeklsV0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SXlWOUMsQUFHRSw4QkFINEIsQ0FDN0IsUUFBUSxDQUVQLGFBQWEsQ0FBQztNbkh6ZWIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhpZnJDOztBQVRILEFBYUcsOEJBYjJCLENBQzdCLFFBQVEsQ0FVUCxZQUFZLENBRVgsUUFBUSxDQUFDO0VBQ1IsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFbEpqYk0sT0FBTyxHa0prYmxCOztBQWhCSixBQW1CRSw4QkFuQjRCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLElBQUksR0F5QmhCO0VBN0NILEFBcUJHLDhCQXJCMkIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQUFDO0lBQ0YsVUFBVSxFQUFFLElBQUksR0FzQmhCO0lBNUNKLEFBaUNLLDhCQWpDeUIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQVNELEVBQUUsQ0FHRCxHQUFHLENBQUM7TUFDSCxNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLElBQUksR0FNaEI7TXpJbllELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1F5SXlWOUMsQUFpQ0ssOEJBakN5QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBU0QsRUFBRSxDQUdELEdBQUcsQ0FBQztVQU9GLFVBQVUsRUFBRSxNQUFNLEdBRW5COztBQVFOLEFBRUUsd0JBRnNCLENBQ3ZCLHNCQUFzQixDQUNyQixDQUFDLEVBRkgsd0JBQXdCLENBQ3ZCLHNCQUFzQixDTGpUdEIsVUFBVSxDS2tUUDtFQUNELFNBQVMsRUFBRSxpQkFBaUI7RUFDNUIsS0FBSyxFQUFFLE9BQU87RUFDZCxXQUFXLEVBQUUsT0FBTyxHQUNwQjs7QUFOSCxBQVFDLHdCQVJ1QixDQVF2QixnQkFBZ0IsQ0FBQztFQUNoQixNQUFNLEVBQUUsS0FBSztFQUNiLEtBQUssRUFBRSxJQUFJLEdBQ1g7O0FBWEYsQUFtQkUsd0JBbkJzQixDQWtCdkIsWUFBWSxDQUNYLENBQUMsRUFuQkgsd0JBQXdCLENBa0J2QixZQUFZLENMbFVaLFVBQVUsQ0ttVVA7RUFDRCxTQUFTLEVBQUUsS0FBSyxHQUNoQjs7QUFJSCxBQUFBLCtCQUErQixDQUFDO0VBQy9CLFVBQVUsRUFBRSxrQkFBa0I7RUFDOUIsK0JBQStCO0VBQy9CLFVBQVUsRUFBRSxtREFBbUQsQ0FBQyxVQUFVO0VBQzFFLGdDQUFnQztFQUNoQyxVQUFVLEVBQUUsMkNBQTJDLENBQUMsVUFBVTtFQUNsRSxzRUFBc0UsRUE2QnRFO0VBbkNELEFBUUMsK0JBUjhCLENBUTlCLGFBQWEsQUFBQSxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxJQUFJO0lBQ1osa0JBQWtCLEVBQUUsZUFBZTtJQUNuQyxhQUFhLEVBQUUsZUFBZTtJQUM5QixVQUFVLEVBQUUsZUFBZSxHQUMzQjtFQWJGLEFBY0MsK0JBZDhCLENBYzlCLGFBQWEsQUFBQSxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ2pDLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGtCQUFrQixFQUFFLGVBQWU7SUFDbkMsYUFBYSxFQUFFLGVBQWU7SUFDOUIsVUFBVSxFQUFFLGVBQWUsR0FDM0I7RUFuQkYsQUFvQkMsK0JBcEI4QixDQW9COUIsYUFBYSxDQUFDO0lBQ2IsVUFBVSxFQUFFLEtBQUs7SUFDakIsZ0JBQWdCLEVBQUUsSUFBSSxHQVl0QjtJQWxDRixBQXVCRSwrQkF2QjZCLENBb0I5QixhQUFhLENBR1osYUFBYSxDQUFDO01BQ2IsV0FBVyxFQUFFLE1BQU0sR0FTbkI7TUFqQ0gsQUEwQkksK0JBMUIyQixDQW9COUIsYUFBYSxDQUdaLGFBQWEsQ0FFWixFQUFFLENBQ0QsQ0FBQyxDQUFDO1FBQ0QsU0FBUyxFQUFFLE1BQU07UUx4UG5CLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxDN0lqU2IsT0FBTztRa0oyaEJqQixXQUFXLEVBQUUsR0FBRztRQUNoQixLQUFLLEVBQUUsT0FBTyxHQUNkO1FBL0JMLEFMNU5HLCtCSzRONEIsQ0FvQjlCLGFBQWEsQ0FHWixhQUFhLENBRVosRUFBRSxDQUNELENBQUMsQUx0UEQsTUFBTSxDQUFDO1VBQ1AsbUJBQW1CLEU3SXpTUCxPQUFPLEc2STBTbkI7O0FLb1FKLEFBT0UsMEJBUHdCLENBRXpCLGVBQWUsQ0FLZCxjQUFjLENBQUM7RWhIcGdCaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSDBtQnJDO0V6STNkRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUk4YzlDLEFBT0UsMEJBUHdCLENBRXpCLGVBQWUsQ0FLZCxjQUFjLENBQUM7TW5IbG1CZCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSDBtQnJDO0V6STNkRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJeUk4Y2xELEFBT0UsMEJBUHdCLENBRXpCLGVBQWUsQ0FLZCxjQUFjLENBQUM7TWhIcGdCaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSDBtQnJDO0V6STNkRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SThjOUMsQUFPRSwwQkFQd0IsQ0FFekIsZUFBZSxDQUtkLGNBQWMsQ0FBQztNbkhsbUJkLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IMG1CckM7O0FBYkgsQUEyQkUsMEJBM0J3QixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FBQztFaEh4aEJWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztFNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0k4bEJUO0V6SW5oQkUsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJeUl5YzVDLEFBK0JJLDBCQS9Cc0IsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLEFBSUwsSUFBSyxDRHJKRixjQUFjLEVDcUpJO01BQ3JCLFVBQVUsRUFBRSxJQUFJLEdBQ2hCO0V6SS9lQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUk4YzlDLEFBMkJFLDBCQTNCd0IsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBQUM7TWhIeGhCVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IdXFCckM7RXpJeGhCRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXlJOGM5QyxBQTJCRSwwQkEzQndCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQUFDO01uSHRuQlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUh1cUJyQztFekl4aEJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0l5SThjbEQsQUEyQkUsMEJBM0J3QixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FBQztNaEh4aEJWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHbUh1cUJyQztFekl4aEJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7SXlJOGM5QyxBQTJCRSwwQkEzQndCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQUFDO01uSHRuQlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUh1cUJyQztFQTFFSCxBQWdESSwwQkFoRHNCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWlCUCxJQUFJLENBSUgsWUFBWSxFQWhEaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWdKRCxZQUFZLEVBcktoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxDQWdKRCxZQUFZLEVFN0toQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxDRjJGRixZQUFZLENBQUM7SWhIN2lCaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSHdwQm5DO0l6SXpnQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXlJOGM5QyxBQWdESSwwQkFoRHNCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWlCUCxJQUFJLENBSUgsWUFBWSxFQWhEaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWdKRCxZQUFZLEVBcktoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxDQWdKRCxZQUFZLEVFN0toQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxDRjJGRixZQUFZLENBQUM7UW5IM29CZCxhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSHdwQm5DO0l6SXpnQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TXlJOGNsRCxBQWdESSwwQkFoRHNCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWlCUCxJQUFJLENBSUgsWUFBWSxFQWhEaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWdKRCxZQUFZLEVBcktoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxDQWdKRCxZQUFZLEVFN0toQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxDRjJGRixZQUFZLENBQUM7UWhIN2lCaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSHdwQm5DO0V6SXpnQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJeUk4YzlDLEFBZ0RJLDBCQWhEc0IsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaUJQLElBQUksQ0FJSCxZQUFZLEVBaERoQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBZ0pELFlBQVksRUFyS2hCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FrR1IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQTNIUCxFQUFFLENBZ0pELFlBQVksRUU3S2hCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLENGMkZGLFlBQVksQ0FBQztNbkgzb0JkLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21Id3BCbkM7SXpJemdCQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUk4YzlDLEFBZ0RJLDBCQWhEc0IsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaUJQLElBQUksQ0FJSCxZQUFZLEVBaERoQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBZ0pELFlBQVksRUFyS2hCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FrR1IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQTNIUCxFQUFFLENBZ0pELFlBQVksRUU3S2hCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLENGMkZGLFlBQVksQ0FBQztRaEg3aUJoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Id3BCbkM7RXpJemdCQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SXlJOGM5QyxBQWdESSwwQkFoRHNCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWlCUCxJQUFJLENBSUgsWUFBWSxFQWhEaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQWdKRCxZQUFZLEVBcktoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxDQWdKRCxZQUFZLEVFN0toQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxDRjJGRixZQUFZLENBQUM7TW5IM29CZCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSHdwQm5DO0VBM0RMLEFBNkRJLDBCQTdEc0IsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaUJQLElBQUksQ0FpQkgsWUFBWSxFQTdEaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQTZKRCxZQUFZLEVBbExoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxDQTZKRCxZQUFZLEVFMUxoQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxDRndHRixZQUFZLENBQUM7SWhIMWpCaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSHFxQm5DO0l6SXRoQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TXlJOGM5QyxBQTZESSwwQkE3RHNCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWlCUCxJQUFJLENBaUJILFlBQVksRUE3RGhCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FoSlYsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0E2SkQsWUFBWSxFQWxMaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQWtHUiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBM0hQLEVBQUUsQ0E2SkQsWUFBWSxFRTFMaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENGK0RqQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENFdEVOLEVBQUUsQ0Z3R0YsWUFBWSxDQUFDO1FuSHhwQmQsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHbUhxcUJuQztJekl0aEJBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO015SThjbEQsQUE2REksMEJBN0RzQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FpQlAsSUFBSSxDQWlCSCxZQUFZLEVBN0RoQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBNkpELFlBQVksRUFsTGhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FrR1IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQTNIUCxFQUFFLENBNkpELFlBQVksRUUxTGhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLENGd0dGLFlBQVksQ0FBQztRaEgxakJoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IcXFCbkM7RXpJdGhCQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SThjOUMsQUE2REksMEJBN0RzQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FpQlAsSUFBSSxDQWlCSCxZQUFZLEVBN0RoQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBNkpELFlBQVksRUFsTGhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FrR1IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQTNIUCxFQUFFLENBNkpELFlBQVksRUUxTGhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLENGd0dGLFlBQVksQ0FBQztNbkh4cEJkLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IcXFCbkM7SXpJdGhCQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNeUk4YzlDLEFBNkRJLDBCQTdEc0IsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaUJQLElBQUksQ0FpQkgsWUFBWSxFQTdEaEIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQWhKViw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQTZKRCxZQUFZLEVBbExoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBa0dSLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0EzSFAsRUFBRSxDQTZKRCxZQUFZLEVFMUxoQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0YrRGpCLDBCQUEwQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0V0RU4sRUFBRSxDRndHRixZQUFZLENBQUM7UWhIMWpCaEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSHFxQm5DO0V6SXRoQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SThjOUMsQUE2REksMEJBN0RzQixDQWlCekIsYUFBYSxDQVVaLFFBQVEsQ0FpQlAsSUFBSSxDQWlCSCxZQUFZLEVBN0RoQiwwQkFBMEIsQ0FpQnpCLGFBQWEsQ0FVWixRQUFRLENBaEpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENBNkpELFlBQVksRUFsTGhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FrR1IsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDQTNIUCxFQUFFLENBNkpELFlBQVksRUUxTGhCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDRitEakIsMEJBQTBCLENBaUJ6QixhQUFhLENBVVosUUFBUSxDRXRFTixFQUFFLENGd0dGLFlBQVksQ0FBQztNbkh4cEJkLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IcXFCbkM7O0FBa0JMLEFBRUMsbUNBRmtDLENBRWxDLE9BQU8sQ0FBQztFaEh6bEJSLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQixHbUhrc0J0QztFekluakJHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SXdpQjlDLEFBRUMsbUNBRmtDLENBRWxDLE9BQU8sQ0FBQztNbkh2ckJOLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21Ia3NCdEM7RXpJbmpCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJeUl3aUJsRCxBQUVDLG1DQUZrQyxDQUVsQyxPQUFPLENBQUM7TWhIemxCUixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLElBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ia3NCdEM7RXpJbmpCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SXdpQjlDLEFBRUMsbUNBRmtDLENBRWxDLE9BQU8sQ0FBQztNbkh2ckJOLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21Ia3NCdEM7RXpJbmpCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJeUl3aUJsRCxBQUVDLG1DQUZrQyxDQUVsQyxPQUFPLENBQUM7TWhIemxCUixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ia3NCdEM7RXpJbmpCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0l5SXdpQjlDLEFBRUMsbUNBRmtDLENBRWxDLE9BQU8sQ0FBQztNbkh2ckJOLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21Ia3NCdEM7O0FBWEYsQUFjQyxtQ0Fka0MsQ0FjbEMsWUFBWSxDQUFDO0VoSHJtQmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSG90QnRDO0V6SXJrQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJd2lCOUMsQUFjQyxtQ0Fka0MsQ0FjbEMsWUFBWSxDQUFDO01uSG5zQlgsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhvdEJ0QztFeklya0JHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0l5SXdpQmxELEFBY0MsbUNBZGtDLENBY2xDLFlBQVksQ0FBQztNaEhybUJiLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztNNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHK0kyb0JWO0V6SXJrQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXlJd2lCbEQsQUFjQyxtQ0Fka0MsQ0FjbEMsWUFBWSxDQUFDO01oSHJtQmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSG90QnRDO0V6SXJrQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJeUl3aUI5QyxBQWNDLG1DQWRrQyxDQWNsQyxZQUFZLENBQUM7TW5IbnNCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSG90QnRDOztBQTdCRixBQStCQyxtQ0EvQmtDLENBK0JsQyxZQUFZLENBQUM7RWhIdG5CYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21Ia3VCdEM7RXpJbmxCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUl3aUI5QyxBQStCQyxtQ0EvQmtDLENBK0JsQyxZQUFZLENBQUM7TW5IcHRCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGt1QnRDO0V6SW5sQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXlJd2lCbEQsQUErQkMsbUNBL0JrQyxDQStCbEMsWUFBWSxDQUFDO01oSHRuQmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGt1QnRDO0V6SW5sQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJeUl3aUI5QyxBQStCQyxtQ0EvQmtDLENBK0JsQyxZQUFZLENBQUM7TW5IcHRCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGt1QnRDO0V6SW5sQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SXlJd2lCbEQsQUErQkMsbUNBL0JrQyxDQStCbEMsWUFBWSxDQUFDO01oSHRuQmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGt1QnRDO0V6SW5sQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJeUl3aUI5QyxBQStCQyxtQ0EvQmtDLENBK0JsQyxZQUFZLENBQUM7TW5IcHRCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGt1QnRDOztBQTNDRixBQTZDQyxtQ0E3Q2tDLENBNkNsQyxZQUFZLENBQUMsS0FBSyxDQUFDO0VBR2xCLE1BQU0sRUFBRSxJQUFJLEdBSVo7RXpJNWxCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUl3aUI5QyxBQTZDQyxtQ0E3Q2tDLENBNkNsQyxZQUFZLENBQUMsS0FBSyxDQUFDO01BS2pCLE1BQU0sRUFBQyxLQUFLLEdBRWI7O0FBR0YsQUFFQywwQkFGeUIsQ0FFekIsWUFBWSxDQUFDO0VBSVosVUFBVSxFQUFFLEtBQUs7RWhIcHBCbEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSGd3QnRDO0V6SWpuQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJK2xCOUMsQUFFQywwQkFGeUIsQ0FFekIsWUFBWSxDQUFDO01uSDl1QlgsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHbUhnd0J0QztFeklqbkJHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0l5SStsQjlDLEFBRUMsMEJBRnlCLENBRXpCLFlBQVksQ0FBQztNaEhocEJiLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHbUhnd0J0QztFeklqbkJHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJeUkrbEI5QyxBQUVDLDBCQUZ5QixDQUV6QixZQUFZLENBQUM7TW5IOXVCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSGd3QnRDOztBQWxCRixBQW9CQywwQkFwQnlCLENBb0J6QixZQUFZLENBQUM7RWhIbHFCYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR21IMndCdEM7RXpJNW5CRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJeUkrbEI5QyxBQW9CQywwQkFwQnlCLENBb0J6QixZQUFZLENBQUM7TW5IaHdCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdtSDJ3QnRDO0V6STVuQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXlJK2xCOUMsQUFvQkMsMEJBcEJ5QixDQW9CekIsWUFBWSxDQUFDO01oSGxxQmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdtSDJ3QnRDO0V6STVuQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0l5SStsQjlDLEFBb0JDLDBCQXBCeUIsQ0FvQnpCLFlBQVksQ0FBQztNbkhod0JYLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR21IMndCdEM7O0FDMXhCRixBQUFBLFFBQVEsQ0FBQztFQUNSLGNBQWMsRUFBRSxTQUFTO0VBRXpCLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDbkp3RkosT0FBTztFbUpwRjNCLFFBQVEsRUFBRSxNQUFNLEdBc0RoQjtFQTdERCxBQW9CRyxRQXBCSyxDQWlCUCxLQUFLLENBQ0osRUFBRSxDQUVELENBQUMsQ0FBQztJQUNELFNBQVMsRUFBRSxJQUFJO0lBRWYsTUFBTSxFUmZhLElBQUk7SVFnQnZCLFdBQVcsRUFBRSxNQUEyQixHQU14QztJQTlCSixBQTJCSSxRQTNCSSxDQWlCUCxLQUFLLENBQ0osRUFBRSxDQUVELENBQUMsQUFPQyxNQUFNLENBQUE7TUFDTixLQUFLLEVuSmtDTSxPQUFPLEdtSmpDbEI7RUE3QkwsQUFzQ0UsUUF0Q00sQ0FpQlAsS0FBSyxDQXFCSixFQUFFLEFBQUEsVUFBVSxDQUFDO0lBRVosTUFBTSxFQUFFLElBQTRCLEdBbUJwQztJQTNESCxBQTZDRyxRQTdDSyxDQWlCUCxLQUFLLENBcUJKLEVBQUUsQUFBQSxVQUFVLENBT1gsQ0FBQyxDQUFDO01BQ0QsVUFBVSxFQUFFLElBQUk7TUFJaEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLENuSllaLE9BQU87TW1KVm5CLEtBQUssRUFBRSxPQUFzQixHQU03QjtNQTFESixBQXVESSxRQXZESSxDQWlCUCxLQUFLLENBcUJKLEVBQUUsQUFBQSxVQUFVLENBT1gsQ0FBQyxBQVVDLE1BQU0sQ0FBQztRQUNQLEtBQUssRUFBRSxPQUFzQixHQUM3Qjs7QUFPTCxBQUFBLGdCQUFnQixDQUFDO0VBbUZoQjs7Ozs7O0lBTUUsRUE4QkY7RUF2SEQsQUFRQyxnQkFSZSxDQVFmLGFBQWEsQ0FBQztJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEdBQUcsR0FDWjtFQVpGLEFBZUMsZ0JBZmUsQ0FlZixLQUFLLENBQUM7SUFFTCxNQUFNLEVBQUUsSUFBSSxHQVVaO0lBM0JGLEFBbUJFLGdCQW5CYyxDQWVmLEtBQUssQ0FJSixDQUFDLENBQUMsR0FBRyxDQUFDO01BRUwsTUFBTSxFQUFFLElBQTBCO01BRWhDLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxHQUFHO01BQ1IsU0FBUyxFQUFFLGdCQUFnQixHQUM3QjtFQTFCSCxBQWtDQyxnQkFsQ2UsQ0FrQ2YsVUFBVSxDQUFDO0lBQ1YsVUFBVSxFQUFFLEtBQUssR0FzQmpCO0lBekRGLEFBcUNFLGdCQXJDYyxDQWtDZixVQUFVLENBR1QsWUFBWSxDQUFDO01wRmpCZCxPQUFPLEVBQUUsWUFBWTtNQUNyQixjQUFjLEVBQUUsTUFBTTtNQUN0QixNQUFNLEUvRHNPUSxDQUFDLENBQUMsQ0FBQyxDQTNNSCxJQUFJLENBMk1lLENBQUM7TStEck9sQyxXQUFXLEVBbEZRLE9BQU87TUE0RnhCLE9BQU8sRS9EME5NLEdBQUcsQ0FBQyxLQUFLO00rRHZOeEIsa0JBQWtCLEVBQUUsSUFBSTtNQUN4QixNQUFNLEVBQUUscUJBQXFCO01BQzdCLGFBQWEsRS9EZUMsR0FBRztNK0RkakIsVUFBVSxFL0R1T1EsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVE7TStEdE92RSxTQUFTLEUvRCtOQSxNQUFNO00rRDlOZixXQUFXLEVBQUUsQ0FBQztNQUNkLFVBQVUsRUFBRSxNQUFNO01BQ2xCLE1BQU0sRUFBRSxPQUFPO01BcUNmLGdCQUFnQixFL0R0RUYsT0FBTztNK0R1RXJCLEtBQUssRS9EdkZDLE9BQU87TW1Kb0RYLEtBQUssRW5KcERELE9BQU87TW1KcURYLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFNBQVMsRUFBQyxNQUFNO01BS2QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLEdBQUc7TUFDUixTQUFTLEVBQUUsZ0JBQWdCLEdBQzdCO096STRFRixBQUFBLEFBQUEsY0FBQyxDQUFlLE9BQU8sQUFBdEIsRXlJcElGLGdCQUFnQixDQWtDZixVQUFVLENBR1QsWUFBWSxDekkrRmM7UUFDekIsT0FBTyxFQUFFLENBQUMsR0FDWDtNeUl0SUYsQXBGbUZDLGdCb0ZuRmUsQ0FrQ2YsVUFBVSxDQUdULFlBQVksQXBGOENaLE1BQU0sRW9GbkZSLGdCQUFnQixDQWtDZixVQUFVLENBR1QsWUFBWSxBcEY4Q0gsTUFBTSxDQUFDO1FBQ2YsZ0JBQWdCLEVBUEcsT0FBaUU7UUFRcEYsS0FBSyxFL0QzRkQsT0FBTyxHK0Q0Rlo7TXREYUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtRMEluRzNDLEFBcUNFLGdCQXJDYyxDQWtDZixVQUFVLENBR1QsWUFBWSxDQUFDO1VBR1gsT0FBTyxFQUFFLElBQUksR0FnQmQ7TTFJMkNFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTBJbkczQyxBQXFDRSxnQkFyQ2MsQ0FrQ2YsVUFBVSxDQUdULFlBQVksQ0FBQztVQU1YLFlBQVksRUFBRSxDQUFDLEdBYWhCO0VBeERILEFBNERDLGdCQTVEZSxDQTREZixPQUFPLEFBQUEsU0FBUyxDQUFDO0lBQ2hCLE9BQU8sRUFBRSxlQUFlLEdBZXhCO0kxSXVCRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO00wSW5HNUMsQUE0REMsZ0JBNURlLENBNERmLE9BQU8sQUFBQSxTQUFTLENBQUM7UUFHZixTQUFTLEVBQUUsSUFBSSxHQWFoQjtJQTVFRixBQWtFRSxnQkFsRWMsQ0E0RGYsT0FBTyxBQUFBLFNBQVMsQ0FNZixhQUFhLENBQUM7TUFDYixPQUFPLEVBQUUsS0FBSyxHQUNkO0VBcEVILEFBOEVDLGdCQTlFZSxDQThFZixPQUFPLEFBQUEsU0FBUyxBQUFBLFVBQVUsQ0FBQztJQUMxQixnQkFBZ0IsRUFBRSxJQUFJLEdBQ3RCOztBQXFFRixBQUFBLGFBQWEsQ0FBQztFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxDQUFDLEdBeUJqQjtFQTNCRCxBQUlDLGFBSlksQ0FJWixPQUFPLENBQUM7SWpIMUdSLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQixHb0g0TXRDO0kxSTdERyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMEl1RDlDLEFBSUMsYUFKWSxDQUlaLE9BQU8sQ0FBQztRcEh4TU4sYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHb0g0TXRDO0VBTkYsQUFRQyxhQVJZLENBUVosUUFBUSxDQUFDO0lqSDlHVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0lHUG5ELGFBQWEsRTVCdUVMLENBQUM7STRCdEVULFlBQVksRTVCc0VKLENBQUM7SWdKd0lWLFVBQVUsRUFBRSxNQUFNO0lBRWpCLGNBQWMsRUFBRSxDQUFDLEdBYWxCO0lBMUJGLEFBY0UsYUFkVyxDQVFaLFFBQVEsQ0FNUCxHQUFHLENBQUM7TUFDSCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxLQUFLLEdBU2I7TTFJaEZFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1EwSXVEbEQsQUFjRSxhQWRXLENBUVosUUFBUSxDQU1QLEdBQUcsQ0FBQztVQUtGLE1BQU0sRUFBRSxLQUFLLEdBTWQ7TTFJaEZFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EwSXVEOUMsQUFjRSxhQWRXLENBUVosUUFBUSxDQU1QLEdBQUcsQ0FBQztVQVNGLE1BQU0sRUFBRSxLQUFLLEdBRWQ7O0ExSWhGRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFMElxRjlDLEFBRUMsYUFGWSxDQUVaLE9BQU8sQ0FBQztJakh0SVIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDBPdEM7RTFJM0ZHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMElxRjlDLEFBRUMsYUFGWSxDQUVaLE9BQU8sQ0FBQztNcEhwT04sYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0gwT3RDOztBQU5GLEFBUUMsYUFSWSxDQVFaLFVBQVUsQ0FBQztFQUNWLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBZ0RwQjtFMUkxSUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztJMElnRjVDLEFBUUMsYUFSWSxDQVFaLFVBQVUsQ0FBQztNQUlULFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxJQUFJLEdBNkNyQjtFQTFERixBQWdCRSxhQWhCVyxDQVFaLFVBQVUsQ0FRVCxZQUFZLENBQUM7SWpIcEpkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQixHb0g2UnJDO0kxSTlJRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMElxRjlDLEFBZ0JFLGFBaEJXLENBUVosVUFBVSxDQVFULFlBQVksQ0FBQztRcEhsUFosYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHb0g2UnJDO0kxSTlJRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMElxRjlDLEFBZ0JFLGFBaEJXLENBUVosVUFBVSxDQVFULFlBQVksQ0FBQztRakhwSmQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDZSckM7RTFJOUlFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMElxRjlDLEFBZ0JFLGFBaEJXLENBUVosVUFBVSxDQVFULFlBQVksQ0FBQztNcEhsUFosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0g2UnJDO0kxSTlJRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNMElxRmxELEFBZ0JFLGFBaEJXLENBUVosVUFBVSxDQVFULFlBQVksQ0FBQztRakhwSmQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDZSckM7RTFJOUlFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STBJcUY5QyxBQWdCRSxhQWhCVyxDQVFaLFVBQVUsQ0FRVCxZQUFZLENBQUM7TXBIbFBaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29INlJyQztJMUk5SUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTBJcUY5QyxBQWdCRSxhQWhCVyxDQVFaLFVBQVUsQ0FRVCxZQUFZLENBQUM7UWpIcEpkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHb0g2UnJDO0UxSTlJRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STBJcUY5QyxBQWdCRSxhQWhCVyxDQVFaLFVBQVUsQ0FRVCxZQUFZLENBQUM7TXBIbFBaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29INlJyQztJQXpESCxBQTZCRyxhQTdCVSxDQVFaLFVBQVUsQ0FRVCxZQUFZLENBYVgsWUFBWSxDQUFDO01qSGpLZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLElBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2dKd01SO00xSWxJQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMElxRjlDLEFBNkJHLGFBN0JVLENBUVosVUFBVSxDQVFULFlBQVksQ0FhWCxZQUFZLENBQUM7VWpIaktmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7VUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztVNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHZ0p3TVI7TTFJbElDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1EwSXFGbEQsQUE2QkcsYUE3QlUsQ0FRWixVQUFVLENBUVQsWUFBWSxDQWFYLFlBQVksQ0FBQztVakhqS2YsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztVR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1U0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdnSndNUjtNQTdDSixBQTBDSSxhQTFDUyxDQVFaLFVBQVUsQ0FRVCxZQUFZLENBYVgsWUFBWSxDQWFYLGFBQWEsQ0FBQztRQUNiLE9BQU8sRUFBRSxLQUFLLEdBQ2Q7SUE1Q0wsQUE4Q0csYUE5Q1UsQ0FRWixVQUFVLENBUVQsWUFBWSxDQThCWCxZQUFZLENBQUM7TWpIbExmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztNNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHZ0ptTlI7TTFJN0lDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EwSXFGOUMsQUE4Q0csYUE5Q1UsQ0FRWixVQUFVLENBUVQsWUFBWSxDQThCWCxZQUFZLENBQUM7VWpIbExmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHb0g0UnBDO0UxSTdJQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STBJcUY5QyxBQThDRyxhQTlDVSxDQVFaLFVBQVUsQ0FRVCxZQUFZLENBOEJYLFlBQVksQ0FBQztNcEhoUmIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0g0UnBDO00xSTdJQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtRMElxRmxELEFBOENHLGFBOUNVLENBUVosVUFBVSxDQVFULFlBQVksQ0E4QlgsWUFBWSxDQUFDO1VqSGxMZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1VHUG5ELGFBQWEsRTVCdUVMLENBQUM7VTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2dKbU5SOztBQXhESixBQTREQyxhQTVEWSxDQTREWixtQkFBbUIsQ0FBQztFQUNuQixXQUFXLEVBQUUsQ0FBQyxHQUNkOztBMUluSkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7RTBJdUpsRCxBQUNDLHFCQURvQixDQUNwQixPQUFPLENBQUM7SWpIdk1SLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQixHb0gyU3RDO0UxSTVKRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0kwSXVKOUMsQUFDQyxxQkFEb0IsQ0FDcEIsT0FBTyxDQUFDO01wSHJTTixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSDJTdEM7O0FBTEYsQUFRQyxxQkFSb0IsQ0FRcEIsaUJBQWlCLENBQUM7RUFDakIsV0FBVyxFQUFFLElBQUksR0EwR2pCO0VBbkhGLEFBWUUscUJBWm1CLENBUXBCLGlCQUFpQixDQUloQixhQUFhLENBQUM7SWpIbE5mLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHZ0owUFQ7STFJcExFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO00wSXVKbEQsQUFZRSxxQkFabUIsQ0FRcEIsaUJBQWlCLENBSWhCLGFBQWEsQ0FBQztRakhsTmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdnSjBQVDtJMUlwTEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TTBJdUpsRCxBQVlFLHFCQVptQixDQVFwQixpQkFBaUIsQ0FJaEIsYUFBYSxDQUFDO1FqSGxOZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IbVVyQztFMUlwTEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMEl1SjlDLEFBWUUscUJBWm1CLENBUXBCLGlCQUFpQixDQUloQixhQUFhLENBQUM7TXBIaFRiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IbVVyQztJMUlwTEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTBJdUo5QyxBQVlFLHFCQVptQixDQVFwQixpQkFBaUIsQ0FJaEIsYUFBYSxDQUFDO1FqSGxOZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IbVVyQztFMUlwTEUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0kwSXVKOUMsQUFZRSxxQkFabUIsQ0FRcEIsaUJBQWlCLENBSWhCLGFBQWEsQ0FBQztNcEhoVGIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0htVXJDO0VBN0JILEFBK0JFLHFCQS9CbUIsQ0FRcEIsaUJBQWlCLENBdUJoQixRQUFRLENBQUM7SWpIck9WLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQjtJb0hxVnJDLFVBQVUsRUFBRSxJQUFJLEdBbUVoQjtJMUl6UUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTBJdUo5QyxBQStCRSxxQkEvQm1CLENBUXBCLGlCQUFpQixDQXVCaEIsUUFBUSxDQUFDO1FwSG5VUixhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSHdackM7STFJelFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00wSXVKOUMsQUErQkUscUJBL0JtQixDQVFwQixpQkFBaUIsQ0F1QmhCLFFBQVEsQ0FBQztRakhyT1YsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSHdackM7RTFJelFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMEl1SjlDLEFBK0JFLHFCQS9CbUIsQ0FRcEIsaUJBQWlCLENBdUJoQixRQUFRLENBQUM7TXBIblVSLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29Id1pyQztJMUl6UUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TTBJdUpsRCxBQStCRSxxQkEvQm1CLENBUXBCLGlCQUFpQixDQXVCaEIsUUFBUSxDQUFDO1FqSHJPVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29Id1pyQztFMUl6UUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMEl1SjlDLEFBK0JFLHFCQS9CbUIsQ0FRcEIsaUJBQWlCLENBdUJoQixRQUFRLENBQUM7TXBIblVSLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29Id1pyQztJMUl6UUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTBJdUo5QyxBQStCRSxxQkEvQm1CLENBUXBCLGlCQUFpQixDQXVCaEIsUUFBUSxDQUFDO1FBa0JQLFVBQVUsRUFBRSxJQUFJLEdBaUVqQjtJQWxISCxBQW9ERyxxQkFwRGtCLENBUXBCLGlCQUFpQixDQXVCaEIsUUFBUSxDQXFCUCxZQUFZLENBQUM7TWpIMVBmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHb0hvV3BDO00xSXJOQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMEl1SjlDLEFBb0RHLHFCQXBEa0IsQ0FRcEIsaUJBQWlCLENBdUJoQixRQUFRLENBcUJQLFlBQVksQ0FBQztVcEh4VmIsYUFBYSxFQUZILE9BQTJCO1VBR3JDLFlBQVksRUFIRixPQUEyQixHb0hvV3BDO01BOURKLEFBc0RJLHFCQXREaUIsQ0FRcEIsaUJBQWlCLENBdUJoQixRQUFRLENBcUJQLFlBQVksQ0FFWCxTQUFTLENBQUM7UUFDVCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJLEdBS1o7UTFJcE5BLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1UwSXVKOUMsQUFzREkscUJBdERpQixDQVFwQixpQkFBaUIsQ0F1QmhCLFFBQVEsQ0FxQlAsWUFBWSxDQUVYLFNBQVMsQ0FBQztZQUtSLE1BQU0sRUFBRSxJQUFJLEdBRWI7SUE3REwsQUFnRUcscUJBaEVrQixDQVFwQixpQkFBaUIsQ0F1QmhCLFFBQVEsQ0FpQ1AsWUFBWSxDQUFDO01qSHRRZixJQUFJLEVBeERHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztNSHRDWixhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCO01HcUVyQyxTQUFTLEVBQUUsQ0FBQztNaUhvU1gsVUFBVSxFQUFFLE1BQU0sR0FXbEI7TTFJck9DLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EwSXVKOUMsQUFnRUcscUJBaEVrQixDQVFwQixpQkFBaUIsQ0F1QmhCLFFBQVEsQ0FpQ1AsWUFBWSxDQUFDO1VwSHBXYixhQUFhLEVBRkgsT0FBMkI7VUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSG9YcEM7TUE5RUosQUFxRUkscUJBckVpQixDQVFwQixpQkFBaUIsQ0F1QmhCLFFBQVEsQ0FpQ1AsWUFBWSxDQUtYLEVBQUUsQ0FBQztRQUVGLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLEdBQUcsR0FDaEI7TUF6RUwsQUEyRUkscUJBM0VpQixDQVFwQixpQkFBaUIsQ0F1QmhCLFFBQVEsQ0FpQ1AsWUFBWSxDQVdYLFlBQVksQ0FBQztRQUNaLFVBQVUsRUFBRSxDQUFDLEdBQ2I7O0FBN0VMLEFBcUhDLHFCQXJIb0IsQ0FxSHBCLG1CQUFtQixDQUFDO0VBS25CLFVBQVUsRUFBRSxNQUFNLEdBQ2xCO0UxSTdRRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0kwSWtKNUMsQUFxSEMscUJBckhvQixDQXFIcEIsbUJBQW1CLENBQUM7TUFFbEIsV0FBVyxFQUFFLElBQUksR0FJbEI7O0FBU0YsQUFBQSxzQkFBc0IsQ0FBQztFQUN0QixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSSxHQXFIcEI7RUF2SEQsQUFPQyxzQkFQcUIsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FBQztJakhqVmQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEU1QnVFTCxDQUFDO0k0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdnSnFkVjtJMUkvWUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TTBJMlJsRCxBQU9DLHNCQVBxQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDQUFDO1FqSGpWZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1FHUG5ELGFBQWEsRTVCdUVMLENBQUM7UTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2dKcWRWO0kxSS9ZRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMEkyUjlDLEFBT0Msc0JBUHFCLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBQUM7UWpIalZkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7UU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7UUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztRNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHZ0pxZFY7STFJL1lHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO00wSTJSbEQsQUFPQyxzQkFQcUIsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FBQztRakhqVmQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDhoQnRDO0UxSS9ZRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0kwSTJSOUMsQUFPQyxzQkFQcUIsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FBQztNcEgvYVosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0g4aEJ0QztJQXBIRixBQTJCRSxzQkEzQm9CLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FBQztNakhyV1YsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDRoQnJDO00xSTdZRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMEkyUjlDLEFBMkJFLHNCQTNCb0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQUFDO1VwSG5jUixhQUFhLEVBRkgsT0FBMkI7VUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSDRoQnJDO00xSTdZRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtRMEkyUmxELEFBMkJFLHNCQTNCb0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQUFDO1VqSHJXVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29INGhCckM7RTFJN1lFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STBJMlI5QyxBQTJCRSxzQkEzQm9CLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FBQztNcEhuY1IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0g0aEJyQztNMUk3WUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTBJMlI5QyxBQTJCRSxzQkEzQm9CLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FBQztVakhyV1YsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDRoQnJDO0UxSTdZRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STBJMlI5QyxBQTJCRSxzQkEzQm9CLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FBQztNcEhuY1IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0g0aEJyQztNQWxISCxBQXNDRyxzQkF0Q21CLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FXUCxLQUFLLENBQUM7UUFDTCxPQUFPLEVBQUUsVUFBVTtRQVNuQixRQUFRLEVBQUUsUUFBUTtRQUNsQixrQkFBa0IsRUFBRSxlQUFlO1FBQ25DLGFBQWEsRUFBRSxlQUFlO1FBQzlCLFVBQVUsRUFBRSxlQUFlLEdBdUIxQjtRQTFFTCxBQXFESSxzQkFyRGtCLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FXUCxLQUFLLEFBZUgsTUFBTSxDQUFDO1VBQ04sVUFBVSxFQUFFLE9BQU87VUFDbkIsWUFBWSxFQUFFLE9BQU8sR0FLdEI7VUE1REwsQUF5RE0sc0JBekRnQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDQW9CWixRQUFRLENBV1AsS0FBSyxBQWVILE1BQU0sQ0FJTCxhQUFhLENBQUM7WUFDYixXQUFXLEVBQUUsTUFBTSxHQUNuQjtRQTNEUCxBQWtFSyxzQkFsRWlCLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FXUCxLQUFLLENBNEJILFVBQVUsQ0FBQztVQUNULFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixHQUFHLEVBQUUsQ0FBQztVQUNOLElBQUksRUFBRSxDQUFDO1VBQ1AsT0FBTyxFQUFFLEtBQUssR0FDZjtNQXpFTixBQTZFRyxzQkE3RW1CLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FrRFAsWUFBWSxDQUFBO1FqSHZaZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRTVCdUVMLENBQUM7UTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2dKMmJSO1ExSXJYQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtVMEkyUjlDLEFBNkVHLHNCQTdFbUIsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQWtEUCxZQUFZLENBQUE7WWpIdlpkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7WU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7WUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztZNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQztZZ0pvYlAsWUFBWSxFQUFFLElBQUksR0FPbkI7UUExRkosQUFzRkksc0JBdEZrQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDQW9CWixRQUFRLENBa0RQLFlBQVksQ0FTWCxTQUFTLENBQUM7VUFDVCxLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxNQUFNLEdBQ2Q7TUF6RkwsQUE0Rkcsc0JBNUZtQixDQUtyQixpQkFBaUIsQ0FFakIsYUFBYSxDQW9CWixRQUFRLENBaUVQLFlBQVksQ0FBQTtRakh0YWQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdnSmtkUjtRMUk1WUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7VTBJMlI5QyxBQTRGRyxzQkE1Rm1CLENBS3JCLGlCQUFpQixDQUVqQixhQUFhLENBb0JaLFFBQVEsQ0FpRVAsWUFBWSxDQUFBO1lqSHRhZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1lNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1lHUG5ELGFBQWEsRUFGSCxTQUEyQjtZQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IMmhCcEM7RTFJNVlDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMEkyUjlDLEFBNEZHLHNCQTVGbUIsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQWlFUCxZQUFZLENBQUE7TXBIcGdCWixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSDJoQnBDO1FBakhKLEFBcUdJLHNCQXJHa0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQWlFUCxZQUFZLENBU1gsRUFBRSxDQUFDO1VBRUYsU0FBUyxFQUFFLElBQUk7VUFDZixNQUFNLEVBQUUsQ0FBQztVQUNULFVBQVUsRUFBRSxNQUFNO1VBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBS2hCO1UxSTFZQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtZMEkyUjlDLEFBcUdJLHNCQXJHa0IsQ0FLckIsaUJBQWlCLENBRWpCLGFBQWEsQ0FvQlosUUFBUSxDQWlFUCxZQUFZLENBU1gsRUFBRSxDQUFDO2NBUUQsU0FBUyxFQUFFLElBQUksR0FFaEI7O0FBV0wsQUFHRSx1QkFIcUIsQ0FFdEIsZUFBZSxDQUNkLFFBQVEsQ0FBQztFakh2Y1YsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDhpQnJDO0UxSS9aRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJMElxWjlDLEFBR0UsdUJBSHFCLENBRXRCLGVBQWUsQ0FDZCxRQUFRLENBQUM7TXBIcmlCUixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSDhpQnJDO0UxSS9aRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJMElxWmxELEFBR0UsdUJBSHFCLENBRXRCLGVBQWUsQ0FDZCxRQUFRLENBQUM7TWpIdmNWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHb0g4aUJyQztFMUkvWkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMElxWjlDLEFBR0UsdUJBSHFCLENBRXRCLGVBQWUsQ0FDZCxRQUFRLENBQUM7TXBIcmlCUixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSDhpQnJDOztBQUtILEFBUUMsc0JBUnFCLENBUXJCLGdCQUFnQixDQUFDO0VBRWhCLFdBQVcsRUFBRSxLQUFLLEdBK0RsQjtFMUk3ZUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STBJb2E5QyxBQVFDLHNCQVJxQixDQVFyQixnQkFBZ0IsQ0FBQztNQUtmLFdBQVcsRUFBRSxJQUFJLEdBNERsQjtFQXpFRixBQWlCRSxzQkFqQm9CLENBUXJCLGdCQUFnQixDQVNmLFFBQVEsQ0FBQztJakhwZVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztJR1BuRCxhQUFhLEU1QnVFTCxDQUFDO0k0QnRFVCxZQUFZLEU1QnNFSixDQUFDO0lnSmtnQlQsZ0JBQWdCLEVBQUUsd0NBQXdDO0lBRTFELGVBQWUsRUFBRSxVQUFVO0lBSzNCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE1BQU07SUFFbEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsdUJBQTRDO0lBQ3JFLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQThCLEdBcUNoRDtJMUk1ZUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTBJb2E5QyxBQWlCRSxzQkFqQm9CLENBUXJCLGdCQUFnQixDQVNmLFFBQVEsQ0FBQztRakhwZVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdnSmtqQlQ7STFJNWVFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00wSW9hOUMsQUFpQkUsc0JBakJvQixDQVFyQixnQkFBZ0IsQ0FTZixRQUFRLENBQUM7UUFXUCxlQUFlLEVBQUUsVUFBVSxHQTRDNUI7SUF4RUgsQUFzQ0csc0JBdENtQixDQVFyQixnQkFBZ0IsQ0FTZixRQUFRLENBcUJQLFdBQVcsQ0FBQztNQUNYLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFHWixPQUFPLEVBQUUsY0FBYztNQUd2QixVQUFVLEVBQUUsd0JBQTRDLEdBRXhEO0lBaERKLEFBa0RHLHNCQWxEbUIsQ0FRckIsZ0JBQWdCLENBU2YsUUFBUSxDQWlDUCxlQUFlLENBQUE7TUFDZCxXQUFXLEVBQUUsSUFBSTtNQUNqQixZQUFZLEVBQUUsSUFBSTtNQUVsQixNQUFNLEVBQUUsSUFBSSxHQVlaO00xSXRlQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMElvYTlDLEFBa0RHLHNCQWxEbUIsQ0FRckIsZ0JBQWdCLENBU2YsUUFBUSxDQWlDUCxlQUFlLENBQUE7VUFPYixNQUFNLEVBQUUsS0FBSyxHQVNkO0lBbEVKLEFBb0VHLHNCQXBFbUIsQ0FRckIsZ0JBQWdCLENBU2YsUUFBUSxDQW1EUCxHQUFHLENBQUM7TUFDSCxNQUFNLEVBQUMsSUFBSTtNQUNYLEtBQUssRUFBRSxJQUFJLEdBQ1g7O0FBdkVKLEFBMkVDLHNCQTNFcUIsQ0EyRXJCLGlCQUFpQixDQUFDO0VBTWpCLFVBQVUsRUFBRSxJQUFJLEdBdUVoQjtFMUk1akJHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0kwSW9hOUMsQUEyRUMsc0JBM0VxQixDQTJFckIsaUJBQWlCLENBQUM7TUFHaEIsV0FBVyxFQUFFLElBQUksR0EwRWxCO0VBeEpGLEFBbUZFLHNCQW5Gb0IsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENBQUM7SWpIdGlCVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0lHUG5ELGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkI7SW9INm9CckMsVUFBVSxFQUFFLElBQUksR0E0RGhCO0kxSTFqQkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTBJb2E5QyxBQW1GRSxzQkFuRm9CLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQUFDO1FwSHBvQlIsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHb0h5c0JyQztJMUkxakJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00wSW9hOUMsQUFtRkUsc0JBbkZvQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0FBQztRakh0aUJWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHb0h5c0JyQztFMUkxakJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMElvYTlDLEFBbUZFLHNCQW5Gb0IsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENBQUM7TXBIcG9CUixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSHlzQnJDO0kxSXJqQkUsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztNMEkrWjVDLEFBNEZHLHNCQTVGbUIsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLEFBU04sY0FBYyxDQUFDO1FBRWQsVUFBVSxFQUFFLE1BQU0sR0FFbkI7SUFoR0osQUF1R0csc0JBdkdtQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0FvQlAsWUFBWSxDQUFDO01qSDFqQmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxRQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxRQUF5QztNR1BuRCxhQUFhLEU1QnVFTCxDQUFDO000QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdnSjhtQlI7TTFJeGlCQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMElvYTlDLEFBdUdHLHNCQXZHbUIsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENBb0JQLFlBQVksQ0FBQztVakgxakJmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsUUFBeUM7VU0yRm5ELFNBQVMsRU4zRkMsUUFBeUM7VUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztVNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHZ0o4bUJSO01BcElKLEFBOEdJLHNCQTlHa0IsQ0EyRXJCLGlCQUFpQixDQVFoQixRQUFRLENBb0JQLFlBQVksQ0FPWCxTQUFTLENBQUM7UUFPVCxNQUFNLEVBQUUsTUFBTSxHQU9kO1ExSWhpQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7VTBJb2E5QyxBQThHSSxzQkE5R2tCLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQW9CUCxZQUFZLENBT1gsU0FBUyxDQUFDO1lBV1IsTUFBTSxFQUFFLE1BQU07WUFDZCxhQUFhLEVBQUUsS0FBSyxHQUVyQjtNQTVITCxBQThISSxzQkE5SGtCLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQW9CUCxZQUFZLENBdUJYLEdBQUcsQUFBQSxVQUFVLENBQUM7UUFFYixLQUFLLEVBQUUsT0FBd0IsR0FFL0I7SUFsSUwsQUFzSUcsc0JBdEltQixDQTJFckIsaUJBQWlCLENBUWhCLFFBQVEsQ0FtRFAsWUFBWSxDQUFDO01qSHpsQmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCO01vSDJyQnBDLFNBQVMsRUFBRSxLQUFLLEdBWWhCO00xSXhqQkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTBJb2E5QyxBQXNJRyxzQkF0SW1CLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQW1EUCxZQUFZLENBQUM7VXBIdnJCYixhQUFhLEVBRkgsT0FBMkI7VUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSHVzQnBDO00xSXhqQkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTBJb2E5QyxBQXNJRyxzQkF0SW1CLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQW1EUCxZQUFZLENBQUM7VWpIemxCZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1VHUG5ELGFBQWEsRTVCdUVMLENBQUM7VTRCdEVULFlBQVksRTVCc0VKLENBQUM7VWdKc25CUCxTQUFTLEVBQUUsSUFBSSxHQVFoQjtNQXBKSixBQWdKSSxzQkFoSmtCLENBMkVyQixpQkFBaUIsQ0FRaEIsUUFBUSxDQW1EUCxZQUFZLENBVVgsRUFBRSxDQUFDO1FBQ0YsU0FBUyxFQUFFLEdBQUcsR0FFZDs7QUF1RUwsQUFHRSxjQUhZLENBRWIsZUFBZSxDQUNkLE9BQU8sQ0FBQztFakhockJULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQixHb0hzeEJyQztFMUl2b0JFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0kwSThuQjlDLEFBR0UsY0FIWSxDQUViLGVBQWUsQ0FDZCxPQUFPLENBQUM7TXBIOXdCUCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSHN4QnJDO0UxSXZvQkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STBJOG5COUMsQUFHRSxjQUhZLENBRWIsZUFBZSxDQUNkLE9BQU8sQ0FBQztNakhockJULElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHb0hzeEJyQztFMUl2b0JFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMEk4bkI5QyxBQUdFLGNBSFksQ0FFYixlQUFlLENBQ2QsT0FBTyxDQUFDO01wSDl3QlAsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0hzeEJyQzs7QTFJdm9CRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFMEk4bkI5QyxBQVlDLGNBWmEsQ0FZYixpQkFBaUIsQ0FBQztJQUVoQixXQUFXLEVBQUUsSUFBSSxHQUVsQjs7QUFoQkYsQUFrQkMsY0FsQmEsQ0FrQmIsYUFBYSxDQUFDO0VqSC9yQmQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSG0yQnRDO0UxSXB0QkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STBJOG5COUMsQUFrQkMsY0FsQmEsQ0FrQmIsYUFBYSxDQUFDO01wSDd4QlosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0htMkJ0QztFMUlwdEJHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0kwSThuQjlDLEFBa0JDLGNBbEJhLENBa0JiLGFBQWEsQ0FBQztNakgvckJkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHb0htMkJ0QztFMUlwdEJHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMEk4bkI5QyxBQWtCQyxjQWxCYSxDQWtCYixhQUFhLENBQUM7TXBIN3hCWixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSG0yQnRDO0VBdEZGLEFBK0JFLGNBL0JZLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBQUM7SWpINXNCVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0lHUG5ELGFBQWEsRTVCdUVMLENBQUM7STRCdEVULFlBQVksRTVCc0VKLENBQUM7SWdKcXVCVCxVQUFVLEVBQUUsTUFBTTtJQUNsQixVQUFVLEVBQUUsSUFBSSxHQW1EaEI7SUFyRkgsQUF5Q0csY0F6Q1csQ0FrQmIsYUFBYSxDQWFaLFFBQVEsQ0FVUCxZQUFZLENBQUM7TWpIdHRCZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2dKa3dCUjtNMUk1ckJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EwSThuQjlDLEFBeUNHLGNBekNXLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBVVAsWUFBWSxDQUFDO1VqSHR0QmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDIwQnBDO0UxSTVyQkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0kwSThuQjlDLEFBeUNHLGNBekNXLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBVVAsWUFBWSxDQUFDO01wSHB6QmIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0gyMEJwQztNMUk1ckJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1EwSThuQmxELEFBeUNHLGNBekNXLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBVVAsWUFBWSxDQUFDO1VqSHR0QmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDIwQnBDO0UxSTVyQkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMEk4bkI5QyxBQXlDRyxjQXpDVyxDQWtCYixhQUFhLENBYVosUUFBUSxDQVVQLFlBQVksQ0FBQztNcEhwekJiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IMjBCcEM7TUE5REosQUFxREksY0FyRFUsQ0FrQmIsYUFBYSxDQWFaLFFBQVEsQ0FVUCxZQUFZLENBWVgsU0FBUyxDQUFDO1FBQ1QsTUFBTSxFQUFFLElBQUksR0FNWjtRMUkxckJBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1UwSThuQjlDLEFBcURJLGNBckRVLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBVVAsWUFBWSxDQVlYLFNBQVMsQ0FBQztZQUlSLE1BQU0sRUFBRSxJQUFJLEdBR2I7SUE1REwsQUFnRUcsY0FoRVcsQ0FrQmIsYUFBYSxDQWFaLFFBQVEsQ0FpQ1AsWUFBWSxDQUFDO01qSDd1QmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCO01vSCswQnBDLFNBQVMsRUFBRSxLQUFLLEdBaUJoQjtNMUlqdEJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EwSThuQjlDLEFBZ0VHLGNBaEVXLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBaUNQLFlBQVksQ0FBQztVcEgzMEJiLGFBQWEsRUFGSCxPQUEyQjtVQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IZzJCcEM7TTFJanRCQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMEk4bkI5QyxBQWdFRyxjQWhFVyxDQWtCYixhQUFhLENBYVosUUFBUSxDQWlDUCxZQUFZLENBQUM7VUFLWCxTQUFTLEVBQUUsSUFBSTtVakhsdkJuQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IZzJCcEM7RTFJanRCQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STBJOG5COUMsQUFnRUcsY0FoRVcsQ0FrQmIsYUFBYSxDQWFaLFFBQVEsQ0FpQ1AsWUFBWSxDQUFDO01wSDMwQmIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0hnMkJwQztNMUlqdEJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1EwSThuQmxELEFBZ0VHLGNBaEVXLENBa0JiLGFBQWEsQ0FhWixRQUFRLENBaUNQLFlBQVksQ0FBQztVakg3dUJmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHb0hnMkJwQztFMUlqdEJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STBJOG5COUMsQUFnRUcsY0FoRVcsQ0FrQmIsYUFBYSxDQWFaLFFBQVEsQ0FpQ1AsWUFBWSxDQUFDO01wSDMwQmIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0hnMkJwQztNQW5GSixBQThFSSxjQTlFVSxDQWtCYixhQUFhLENBYVosUUFBUSxDQWlDUCxZQUFZLENBY1gsRUFBRSxDQUFDO1FBQ0YsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QUFTTCxBQUVDLGNBRmEsQ0FFYixZQUFZLENBQUM7RWpIendCYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29INDNCdEM7RTFJN3VCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJMEl3dEI5QyxBQUVDLGNBRmEsQ0FFYixZQUFZLENBQUM7TXBIdjJCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSDQzQnRDO0UxSTd1QkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STBJd3RCOUMsQUFFQyxjQUZhLENBRWIsWUFBWSxDQUFDO01qSHp3QmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEU1QnVFTCxDQUFDO000QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdnSm16QlY7RTFJN3VCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJMEl3dEJsRCxBQUVDLGNBRmEsQ0FFYixZQUFZLENBQUM7TWpIendCYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2dKbXpCVjtFMUk3dUJHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0kwSXd0QjlDLEFBZUUsY0FmWSxDQUViLFlBQVksQ0FhWCxTQUFTLENBQUM7TUFHUixNQUFNLEVBQUUsS0FBSyxHQUVkOztBQXBCSCxBQXVCQyxjQXZCYSxDQXVCYixZQUFZLENBQUM7RWpIOXhCYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IMDRCdEM7RTFJM3ZCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJMEl3dEI5QyxBQXVCQyxjQXZCYSxDQXVCYixZQUFZLENBQUM7TXBINTNCWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSDA0QnRDO0UxSTN2QkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STBJd3RCOUMsQUF1QkMsY0F2QmEsQ0F1QmIsWUFBWSxDQUFDO01qSDl4QmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDA0QnRDO0UxSTN2QkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0kwSXd0QjlDLEFBdUJDLGNBdkJhLENBdUJiLFlBQVksQ0FBQztNcEg1M0JYLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IMDRCdEM7RTFJM3ZCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJMEl3dEI5QyxBQXVCQyxjQXZCYSxDQXVCYixZQUFZLENBQUM7TWpIOXhCYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IMDRCdEM7RTFJM3ZCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STBJd3RCOUMsQUF1QkMsY0F2QmEsQ0F1QmIsWUFBWSxDQUFDO01wSDUzQlgsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0gwNEJ0Qzs7QUFuQ0YsQUF3Q0UsY0F4Q1ksQ0FzQ2IsVUFBVSxDQUVULFVBQVUsRUF4Q1osY0FBYyxDQXNDYixVQUFVLENGMWhCWCxvQkFBb0IsQ0ErQm5CLFFBQVEsQ0FTUCxJQUFJLENBZ0JILFlBQVksRUF4RGYsb0JBQW9CLENBK0JuQixRQUFRLENBU1AsSUFBSSxDRTRjTixjQUFjLENBc0NiLFVBQVUsQ0ZsZVIsWUFBWSxFRTRiZixjQUFjLENBc0NiLFVBQVUsQ0YxaEJYLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRGxGRixZQUFZLEVBeERmLG9CQUFvQixDQStCbkIsUUFBUSxDQ3NGVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDQzBXTCxjQUFjLENBc0NiLFVBQVUsQ0ZsZVIsWUFBWSxFRTRiZixjQUFjLENBc0NiLFVBQVUsQ0RyYVgsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRHhJUixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0MyR04sRUFBRSxDRGxGRixZQUFZLEVDNkRmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsQ0MwV0wsY0FBYyxDQXNDYixVQUFVLENGbGVSLFlBQVksRUU0YmYsY0FBYyxDQXNDYixVQUFVLENDN2FYLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDSDNLakIsb0JBQW9CLENBK0JuQixRQUFRLENHZ0tMLEVBQUUsQ0h2SUgsWUFBWSxFR3FEZiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENEcVROLGNBQWMsQ0FzQ2IsVUFBVSxDRmxlUixZQUFZLENFb2VGO0VBQ1YsV0FBVyxFQUFFLElBQUksR0FJakI7RTFJaHdCRSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0kwSW10QjVDLEFBd0NFLGNBeENZLENBc0NiLFVBQVUsQ0FFVCxVQUFVLEVBeENaLGNBQWMsQ0FzQ2IsVUFBVSxDRjFoQlgsb0JBQW9CLENBK0JuQixRQUFRLENBU1AsSUFBSSxDQWdCSCxZQUFZLEVBeERmLG9CQUFvQixDQStCbkIsUUFBUSxDQVNQLElBQUksQ0U0Y04sY0FBYyxDQXNDYixVQUFVLENGbGVSLFlBQVksRUU0YmYsY0FBYyxDQXNDYixVQUFVLENGMWhCWCxvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0RsRkYsWUFBWSxFQXhEZixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0NzRlQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0MwV0wsY0FBYyxDQXNDYixVQUFVLENGbGVSLFlBQVksRUU0YmYsY0FBYyxDQXNDYixVQUFVLENEcmFYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0R4SVIsb0JBQW9CLENBK0JuQixRQUFRLENDMkdOLEVBQUUsQ0RsRkYsWUFBWSxFQzZEZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENEeElSLG9CQUFvQixDQStCbkIsUUFBUSxDQzJHTixFQUFFLENDMFdMLGNBQWMsQ0FzQ2IsVUFBVSxDRmxlUixZQUFZLEVFNGJmLGNBQWMsQ0FzQ2IsVUFBVSxDQzdhWCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0gzS2pCLG9CQUFvQixDQStCbkIsUUFBUSxDR2dLTCxFQUFFLENIdklILFlBQVksRUdxRGYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENIM0tqQixvQkFBb0IsQ0ErQm5CLFFBQVEsQ0dnS0wsRUFBRSxDRHFUTixjQUFjLENBc0NiLFVBQVUsQ0ZsZVIsWUFBWSxDRW9lRjtNQUdULFdBQVcsRUFBRSxJQUFJLEdBRWxCOztBQTdDSCxBQThDRSxjQTlDWSxDQXNDYixVQUFVLENBUVQsWUFBWSxDQUFDO0VBRVgsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUksR0FLckI7RTFJOXdCRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJMEl3dEI5QyxBQThDRSxjQTlDWSxDQXNDYixVQUFVLENBUVQsWUFBWSxDQUFDO01BTVgsY0FBYyxFQUFFLElBQUksR0FFckI7O0ExSTl3QkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RTBJd3RCOUMsQUEyREUsY0EzRFksQ0EwRGIsa0JBQWtCLENBQ2pCLFlBQVksQ0FBQztJQUVYLGNBQWMsRUFBRSxJQUFJLEdBRXJCOztBQUtILEFBSUUsWUFKVSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENBQUM7RWpILzBCZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRTVCdUVMLENBQUM7RTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2dKaTNCVDtFMUkzeUJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0kwSTR4QjlDLEFBSUUsWUFKVSxDQUVYLGlCQUFpQixDQUVoQixhQUFhLENBQUM7TWpILzBCZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IMDdCckM7RTFJM3lCRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STBJNHhCOUMsQUFJRSxZQUpVLENBRVgsaUJBQWlCLENBRWhCLGFBQWEsQ0FBQztNcEg3NkJiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IMDdCckM7O0FBZkgsQUFpQkUsWUFqQlUsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQUFDO0VqSDUxQlYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSHFqQ3JDO0UxSXQ2QkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STBJNHhCOUMsQUFpQkUsWUFqQlUsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQUFDO01wSDE3QlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0hxakNyQztFMUlqNkJFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7STBJdXhCNUMsQUFpQkUsWUFqQlUsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQUFDO01BSVAsVUFBVSxFQUFFLElBQUksR0FxSGpCO01BMUlILEFBdUJJLFlBdkJRLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQUFNTCxJQUFLLENGM2RGLGNBQWMsRUUyZEc7UUFDcEIsVUFBVSxFQUFFLE1BQU0sR0FDbEI7RTFJcnpCQSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJMEk0eEI5QyxBQWlCRSxZQWpCVSxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENBQUM7TWpINTFCVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IcWpDckM7RTFJdDZCRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STBJNHhCOUMsQUFpQkUsWUFqQlUsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQUFDO01wSDE3QlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0hxakNyQztFMUl0NkJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0kwSTR4QmxELEFBaUJFLFlBakJVLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FBQztNakg1MUJWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHb0hxakNyQztFMUl0NkJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STBJNHhCOUMsQUFpQkUsWUFqQlUsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQUFDO01wSDE3QlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0hxakNyQztFQTFJSCxBQXdDRyxZQXhDUyxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENBdUJQLFlBQVksQ0FBQztJakhuM0JmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7SU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7SUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztJNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHZ0prOUJSO0kxSTU0QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TTBJNHhCbEQsQUF3Q0csWUF4Q1MsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBQUM7UWpIbjNCZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IMmhDcEM7RTFJNTRCQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0kwSTR4QjlDLEFBd0NHLFlBeENTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0F1QlAsWUFBWSxDQUFDO01wSGo5QmIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0gyaENwQztJMUk1NEJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00wSTR4QjlDLEFBd0NHLFlBeENTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0F1QlAsWUFBWSxDQUFDO1FqSG4zQmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDJoQ3BDO0UxSTU0QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0kwSTR4QjlDLEFBd0NHLFlBeENTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0F1QlAsWUFBWSxDQUFDO01wSGo5QmIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0gyaENwQztJMUk1NEJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO00wSTR4QmxELEFBd0NHLFlBeENTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0F1QlAsWUFBWSxDQUFDO1FqSG4zQmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSDJoQ3BDO0UxSTU0QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMEk0eEI5QyxBQXdDRyxZQXhDUyxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENBdUJQLFlBQVksQ0FBQztNcEhqOUJiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IMmhDcEM7SUFoSEosQUErREksWUEvRFEsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBdUJYLGVBQWUsQ0FBQztNQUNmLFVBQVUsRUFBRSxPQUEwQjtNQUN0QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUEyQjtNVHgrQmpELGFBQWEsRUFBQyxLQUFDO01BQ2YscUJBQXFCLEVBQUMsS0FBQztNQUN2QixrQkFBa0IsRUFBQyxLQUFDO01BQ3BCLGlCQUFpQixFQUFDLEtBQUM7TUFDbkIsZ0JBQWdCLEVBQUMsS0FBQztNU3crQmQsV0FBVyxFQUFFLElBQUk7TUFDakIsWUFBWSxFQUFFLElBQUk7TUFFbEIsTUFBTSxFQUFFLE9BQXVDO01BQy9DLEtBQUssRUFBRSxPQUF1QztNQUM5QyxXQUFXLEVBQUUsUUFBb0MsR0FtQmpEO00xSXozQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTBJNHhCbEQsQUErREksWUEvRFEsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBdUJYLGVBQWUsQ0FBQztVQWNkLE1BQU0sRUFBRSxRQUE0QztVQUNwRCxLQUFLLEVBQUUsUUFBNEM7VUFDbkQsV0FBVyxFQUFFLFNBQXlDLEdBY3ZEO00xSXozQkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTBJNHhCOUMsQUErREksWUEvRFEsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBdUJYLGVBQWUsQ0FBQztVQW9CZCxNQUFNLEVBQUUsSUFBd0M7VUFDaEQsS0FBSyxFQUFFLElBQXdDO1VBQy9DLFdBQVcsRUFBRSxNQUFxQyxHQVFuRDtNMUl6M0JBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1EwSTR4QmxELEFBK0RJLFlBL0RRLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0F1QlAsWUFBWSxDQXVCWCxlQUFlLENBQUM7VUEwQmQsTUFBTSxFQUFFLE9BQTZDO1VBQ3JELEtBQUssRUFBRSxPQUE2QztVQUNwRCxXQUFXLEVBQUUsUUFBMEMsR0FFeEQ7SUE3RkwsQUErRkksWUEvRlEsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBdURYLFNBQVMsQ0FBQztNQUNULE1BQU0sRUF0QzJCLElBQUksR0FvRHJDO00xSTE0QkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTBJNHhCbEQsQUErRkksWUEvRlEsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBdURYLFNBQVMsQ0FBQztVQUtSLE1BQU0sRUF6QytCLE1BQU0sR0FtRDVDO00xSTE0QkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTBJNHhCOUMsQUErRkksWUEvRlEsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBdURYLFNBQVMsQ0FBQztVQVNSLE1BQU0sRUE1QzJCLElBQUksR0FrRHRDO00xSTE0QkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTBJNHhCbEQsQUErRkksWUEvRlEsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQXVCUCxZQUFZLENBdURYLFNBQVMsQ0FBQztVQWFSLE1BQU0sRUEvQ2dDLElBQUksR0FpRDNDO0VBOUdMLEFBa0hHLFlBbEhTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FpR1AsWUFBWSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUk7SWpIOTdCbEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSG1qQ3BDO0kxSXA2QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTBJNHhCOUMsQUFrSEcsWUFsSFMsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQWlHUCxZQUFZLENBQUM7UXBIM2hDYixhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdvSG1qQ3BDO0kxSXA2QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TTBJNHhCbEQsQUFrSEcsWUFsSFMsQ0FFWCxpQkFBaUIsQ0FlaEIsUUFBUSxDQWlHUCxZQUFZLENBQUM7UWpINzdCZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR29IbWpDcEM7RTFJcDZCQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0kwSTR4QjlDLEFBa0hHLFlBbEhTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FpR1AsWUFBWSxDQUFDO01wSDNoQ2IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0htakNwQztJMUlwNkJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00wSTR4QjlDLEFBa0hHLFlBbEhTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FpR1AsWUFBWSxDQUFDO1FqSDc3QmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdvSG1qQ3BDO0UxSXA2QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0kwSTR4QjlDLEFBa0hHLFlBbEhTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FpR1AsWUFBWSxDQUFDO01wSDNoQ2IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHb0htakNwQztJMUlwNkJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO00wSTR4QmxELEFBa0hHLFlBbEhTLENBRVgsaUJBQWlCLENBZWhCLFFBQVEsQ0FpR1AsWUFBWSxDQUFDO1FqSDc3QmYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCO1FvSDZpQ25DLFVBQVUsRUFBRSxNQUFNLEdBTW5CO0UxSXA2QkMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMEk0eEI5QyxBQWtIRyxZQWxIUyxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENBaUdQLFlBQVksQ0FBQztNcEgzaENiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IbWpDcEM7STFJcDZCQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMEk0eEI5QyxBQWtIRyxZQWxIUyxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENBaUdQLFlBQVksQ0FBQztRakg3N0JmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHb0htakNwQztFMUlwNkJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMEk0eEI5QyxBQWtIRyxZQWxIUyxDQUVYLGlCQUFpQixDQWVoQixRQUFRLENBaUdQLFlBQVksQ0FBQztNcEgzaENiLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR29IbWpDcEM7O0FBWUosQUFDQyxZQURXLENBQ1gsY0FBYyxDQUFDO0VBQ2QsZ0JBQWdCLEVuSnRoQ1gsT0FBTztFbUp1aENaLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDbkoxaENOLE9BQU87RW1KMmhDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixlQUFlLEVBQUUsSUFBSSxHQTRCckI7RTFJNzhCRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0kwSTI2QjVDLEFBQ0MsWUFEVyxDQUNYLGNBQWMsQ0FBQztNQU9aLE1BQU0sRUFBRSxDQUFDLEdBMEJYO0VBbENGLEFBVUUsWUFWVSxDQUNYLGNBQWMsQ0FTYixFQUFFLENBQUM7SUFDRixhQUFhLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ25KbGlDZixPQUFPO0ltSm1pQ2pCLE9BQU8sRUFBRSxpQkFBaUIsR0FJMUI7SUFoQkgsQUFhRyxZQWJTLENBQ1gsY0FBYyxDQVNiLEVBQUUsQUFHQSxXQUFXLENBQUM7TUFDWixhQUFhLEVBQUUsQ0FBQyxHQUNoQjtFQWZKLEFBaUJFLFlBakJVLENBQ1gsY0FBYyxDQWdCYixNQUFNLENBQUM7SUFDTixnQkFBZ0IsRW5KdmlDWixPQUFPO0ltSndpQ1gsS0FBSyxFbkp2aUNELE9BQU87SW1Kd2lDWCxhQUFhLEVBQUUsQ0FBQyxHQUNoQjtFQXJCSCxBQXNCRSxZQXRCVSxDQUNYLGNBQWMsQ0FxQmIsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEVuSi9pQ1AsT0FBTztJbUpnakNoQixTQUFTLEVBQUUsSUFBSTtJQUNmLGFBQWEsRUFBRSxDQUFDLEdBQ2hCO0VBMUJILEFBMkJFLFlBM0JVLENBQ1gsY0FBYyxDQTBCYixZQUFZLENBQUM7SUFDWixLQUFLLEVuSmxqQ0csT0FBTztJbUptakNmLFNBQVMsRW5KaDZCSyxHQUFHLEdtSmk2QmpCO0VBOUJILEFBK0JFLFlBL0JVLENBQ1gsY0FBYyxDQThCYixXQUFXLENBQUM7SUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNoQjs7QUNubkNILEFBQ0MsaUJBRGdCLENBQ2hCLGFBQWEsQ0FBQztFQUNiLGNBQWMsRUFBRSxJQUFJLEdBQ3BCOztBQUdGLEFBQUEsb0JBQW9CLENBQUM7RUFDcEIsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsSUFBSSxHQXlPcEI7RUEzT0QsQUFLQyxvQkFMbUIsQ0FLbkIsT0FBTyxDQUFBO0lBRU4sY0FBYyxFQUFFLElBQUksR0FvQnBCO0lBM0JGLEFBY0Usb0JBZGtCLENBS25CLE9BQU8sQ0FTTixFQUFFLENBQUM7TUFDRixXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsSUFBSTtNQUNmLEtBQUssRUFBRSxPQUFnQjtNQUN2QixVQUFVLEVBQUUsTUFBTSxHQVFsQjtNQTFCSCxBQW9CRyxvQkFwQmlCLENBS25CLE9BQU8sQ0FTTixFQUFFLEFBTUEsTUFBTSxDQUFDO1FBRVAsT0FBTyxFQUFDLEtBQUs7UUFDYixNQUFNLEVBQUMsR0FBRztRQUNWLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcEpnQ3JCLE9BQU8sR29KL0JWO0VBekJKLEFBZ0NFLG9CQWhDa0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FBQztJbEg2RVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdxSHlKckM7STNJVkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTJJNUo5QyxBQWdDRSxvQkFoQ2tCLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBQUM7UXJIakJSLGFBQWEsRUFGSCxPQUEyQjtRQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIeUpyQztJM0lWRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNMkk1SmxELEFBZ0NFLG9CQWhDa0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FBQztRbEg2RVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdxSHlKckM7RTNJVkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMkk1SjlDLEFBZ0NFLG9CQWhDa0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FBQztNckhqQlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHcUh5SnJDO0kzSVZFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00ySTVKOUMsQUFnQ0Usb0JBaENrQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQUFDO1FsSDZFVixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIeUpyQztFM0lWRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STJJNUo5QyxBQWdDRSxvQkFoQ2tCLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBQUM7TXJIakJSLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIeUpyQztJM0lWRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNMkk1SmxELEFBZ0NFLG9CQWhDa0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FBQztRbEg2RVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdxSHlKckM7RTNJVkUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMkk1SjlDLEFBZ0NFLG9CQWhDa0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FBQztNckhqQlIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHcUh5SnJDO0kzSUxFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTJJakt2QyxBQWdDRSxvQkFoQ2tCLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBQUM7UWxINkVWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHcUh5SnJDO0UzSVZFLE1BQU0sQ0FBUSxNQUE0QixNQUt2QixTQUFTLEVBQUUsSUFBSSxPQUxSLFNBQVMsRUFBRSxJQUFJO0kySTVKOUMsQUFnQ0Usb0JBaENrQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQUFDO01ySGpCUixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdxSHlKckM7SUF0S0gsQUE0REssb0JBNURlLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0FFSixJQUFJLENBSUgsWUFBWSxFQTVEakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0U5Y0EsWUFBWSxFRnliakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRTljQSxZQUFZLEVBaWJqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQW5nQkQsWUFBWSxDQUFDO01sSGlEakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEdxSDBEbEM7TTNJcUZELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EySTVKOUMsQUE0REssb0JBNURlLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0FFSixJQUFJLENBSUgsWUFBWSxFQTVEakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0U5Y0EsWUFBWSxFRnliakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRTljQSxZQUFZLEVBaWJqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQW5nQkQsWUFBWSxDQUFDO1VySDdDZixhQUFhLEVBRkgsT0FBMkI7VUFHckMsWUFBWSxFQUhGLE9BQTJCLEdxSDBEbEM7TTNJcUZELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1EySTVKbEQsQUE0REssb0JBNURlLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0FFSixJQUFJLENBSUgsWUFBWSxFQTVEakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0U5Y0EsWUFBWSxFRnliakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRTljQSxZQUFZLEVBaWJqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQW5nQkQsWUFBWSxDQUFDO1VsSGlEakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdxSDBEbEM7RTNJcUZELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STJJNUo5QyxBQTRESyxvQkE1RGUsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksQ0FJSCxZQUFZLEVBNURqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRTljQSxZQUFZLEVGeWJqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLENFOWNBLFlBQVksRUFpYmpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLENBbmdCRCxZQUFZLENBQUM7TXJIN0NmLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIMERsQztNM0lxRkQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTJJNUpsRCxBQTRESyxvQkE1RGUsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksQ0FJSCxZQUFZLEVBNURqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRTljQSxZQUFZLEVGeWJqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLENFOWNBLFlBQVksRUFpYmpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLENBbmdCRCxZQUFZLENBQUM7VWxIaURqQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkI7VUdnR3ZDLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHcUgwRGxDO0UzSXFGRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0kySTVKOUMsQUE0REssb0JBNURlLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0FFSixJQUFJLENBSUgsWUFBWSxFQTVEakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0U5Y0EsWUFBWSxFRnliakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRTljQSxZQUFZLEVBaWJqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQW5nQkQsWUFBWSxDQUFDO01ySDdDZixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdxSDBEbEM7RTNJcUZELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STJJNUo5QyxBQTRESyxvQkE1RGUsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksQ0FJSCxZQUFZLEVBNURqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRTljQSxZQUFZLEVGeWJqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLENFOWNBLFlBQVksRUFpYmpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLENBbmdCRCxZQUFZLENBQUM7TXJIN0NmLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIMERsQztJQXZFTixBQXlFSyxvQkF6RWUsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksQ0FpQkgsWUFBWSxFQXpFakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VqY0EsWUFBWSxFRjRhakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRWpjQSxZQUFZLEVBb2FqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQXRmRCxZQUFZLENBQUM7TWxIb0NqQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIeUVsQztNM0lzRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTJJNUo5QyxBQXlFSyxvQkF6RWUsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksQ0FpQkgsWUFBWSxFQXpFakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VqY0EsWUFBWSxFRjRhakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRWpjQSxZQUFZLEVBb2FqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQXRmRCxZQUFZLENBQUM7VXJIMURmLGFBQWEsRUFGSCxPQUEyQjtVQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIeUVsQztNM0lzRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTJJNUpsRCxBQXlFSyxvQkF6RWUsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksQ0FpQkgsWUFBWSxFQXpFakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VqY0EsWUFBWSxFRjRhakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRWpjQSxZQUFZLEVBb2FqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQXRmRCxZQUFZLENBQUM7VWxIb0NqQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkI7VXFIaUVqQyxVQUFVLEVBQUUsTUFBTSxHQVFuQjtFM0lzRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMkk1SjlDLEFBeUVLLG9CQXpFZSxDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBRUosSUFBSSxDQWlCSCxZQUFZLEVBekVqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWpjQSxZQUFZLEVGNGFqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLENFamNBLFlBQVksRUFvYWpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLENBdGZELFlBQVksQ0FBQztNckgxRGYsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHcUh5RWxDO00zSXNFRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtRMkk1SmxELEFBeUVLLG9CQXpFZSxDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBRUosSUFBSSxDQWlCSCxZQUFZLEVBekVqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWpjQSxZQUFZLEVGNGFqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLENFamNBLFlBQVksRUFvYWpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLENBdGZELFlBQVksQ0FBQztVbEhvQ2pCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7VU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQjtVcUhxRWpDLFVBQVUsRUFBRSxNQUFNO1VsSDJCeEIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCO1VxSHVFakMsVUFBVSxFQUFFLElBQUksR0FFakI7RTNJc0VELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STJJNUo5QyxBQXlFSyxvQkF6RWUsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQUVKLElBQUksQ0FpQkgsWUFBWSxFQXpFakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0YrYlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VqY0EsWUFBWSxFRjRhakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBc0JQLEtBQUssQ0ZvZEwsRUFBRSxDRWpjQSxZQUFZLEVBb2FqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDQXlnQkosRUFBRSxDQXRmRCxZQUFZLENBQUM7TXJIMURmLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIeUVsQztFM0lzRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMkk1SjlDLEFBeUVLLG9CQXpFZSxDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBRUosSUFBSSxDQWlCSCxZQUFZLEVBekVqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRitiUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWpjQSxZQUFZLEVGNGFqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0FzQlAsS0FBSyxDRm9kTCxFQUFFLENFamNBLFlBQVksRUFvYWpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQXNCUCxLQUFLLENBeWdCSixFQUFFLENBdGZELFlBQVksQ0FBQztNckgxRGYsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHcUh5RWxDO0lBdEZOLEFBNEZHLG9CQTVGaUIsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDQUFDO01BQ0wsUUFBUSxFQUFFLFFBQVE7TUFDbEIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsWUFBWSxFcEpuQ0EsT0FBTztNb0pvQ25CLFlBQVksRUFBRSxHQUFHO01BRWpCLGtCQUFrQixFQUFFLGVBQWU7TUFDbkMsYUFBYSxFQUFFLGVBQWU7TUFDOUIsVUFBVSxFQUFFLGVBQWUsR0ErRDNCO01BbktKLEFBc0dJLG9CQXRHZ0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDQVVKLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsRUF0RzFCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGeVpSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFcGFJLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFRitZMUIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0Y4YUwsRUFBRSxDRXBhSSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsRUF1WTFCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQTNpQmpCLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENBbWVKLEVBQUUsQ0F6ZEcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFdEIsV0FBVyxFQUFFLEdBQUcsR0FDaEI7TUF6R0wsQUEyR0ksb0JBM0dnQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLEFBZUgsTUFBTSxDQUFDO1FBQ1AsVUFBVSxFcEpwRFIsT0FBTztRb0pxRFQsWUFBWSxFQUFFLE9BQXdCO1FWOUd4QyxrQkFBa0IsRVUrR0ssR0FBRyxDQUFFLEdBQUcsQ0FBRSxJQUFJLENBQUUsbUJBQWU7UVY5R3RELGVBQWUsRVU4R1EsR0FBRyxDQUFFLEdBQUcsQ0FBRSxJQUFJLENBQUUsbUJBQWU7UVY3R3RELFVBQVUsRVU2R2EsR0FBRyxDQUFFLEdBQUcsQ0FBRSxJQUFJLENBQUUsbUJBQWUsR0FrQnBEO1FBaElMLEFBZ0hLLG9CQWhIZSxDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLEFBZUgsTUFBTSxDQUtOLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQWhIeEIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQUFlSCxNQUFNLENGMFlYLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFMVpLLFlBQVksQ0FBQyxDQUFDLEVGcVl4Qiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFeGdCUixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxBQWVILE1BQU0sQ0YrWlIsRUFBRSxDRTFaSyxZQUFZLENBQUMsQ0FBQyxFQTZYeEIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQUFlSCxNQUFNLENBb2RQLEVBQUUsQ0EvY0ksWUFBWSxDQUFDLENBQUMsQ0FBQztVQUNuQixLQUFLLEVBQUUsT0FBc0IsR0FFN0I7TUFuSE4sQUFzSU0sb0JBdEljLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0FzQ0osSUFBSSxDQUVILFlBQVksQ0FFWCxHQUFHLEVBdElULG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGeVpSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFdFlBLFlBQVksQ0FFWCxHQUFHLEVGK1dULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGOGFMLEVBQUUsQ0V0WUEsWUFBWSxDQUVYLEdBQUcsRUF1V1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0FtZUosRUFBRSxDQTNiRCxZQUFZLENBRVgsR0FBRyxDQUFDO1FBQ0gsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUVaLGtCQUFrQixFQUFFLGVBQWU7UUFDbkMsYUFBYSxFQUFFLGVBQWU7UUFDOUIsVUFBVSxFQUFFLGVBQWUsR0FTM0I7UTNJT0YsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7VTJJNUpsRCxBQXNJTSxvQkF0SWMsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDQXNDSixJQUFJLENBRUgsWUFBWSxDQUVYLEdBQUcsRUF0SVQsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0Z5WlIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0V0WUEsWUFBWSxDQUVYLEdBQUcsRUYrV1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRXhnQlIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0Y4YUwsRUFBRSxDRXRZQSxZQUFZLENBRVgsR0FBRyxFQXVXVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDQW1lSixFQUFFLENBM2JELFlBQVksQ0FFWCxHQUFHLENBQUM7WUFTRixNQUFNLEVBQUUsSUFBSSxHQU1iO1EzSU9GLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1UySTVKOUMsQUFzSU0sb0JBdEljLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0FzQ0osSUFBSSxDQUVILFlBQVksQ0FFWCxHQUFHLEVBdElULG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGeVpSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFdFlBLFlBQVksQ0FFWCxHQUFHLEVGK1dULDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGOGFMLEVBQUUsQ0V0WUEsWUFBWSxDQUVYLEdBQUcsRUF1V1QsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0FtZUosRUFBRSxDQTNiRCxZQUFZLENBRVgsR0FBRyxDQUFDO1lBYUYsTUFBTSxFQUFFLElBQUksR0FFYjtNQXJKUCxBQTBKTSxvQkExSmMsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDQXNDSixJQUFJLENBc0JILFlBQVksQ0FFWCxDQUFDLEVBMUpQLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGeVpSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFbFhBLFlBQVksQ0FFWCxDQUFDLEVGMlZQLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGOGFMLEVBQUUsQ0VsWEEsWUFBWSxDQUVYLENBQUMsRUFtVlAsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBM2lCakIsb0JBQW9CLENBNkJuQixnQkFBZ0IsQ0FHZixRQUFRLENBNERQLEtBQUssQ0FtZUosRUFBRSxDQXZhRCxZQUFZLENBRVgsQ0FBQyxDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUc7UVB3TWxCLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxDN0lqU2IsT0FBTztRb0oyRmYsV0FBVyxFQUFFLEdBQUc7UUFDaEIsS0FBSyxFcEo1RkcsT0FBTyxHb0o2RmY7UUEvSlAsQVBvV0csb0JPcFdpQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENBc0NKLElBQUksQ0FzQkgsWUFBWSxDQUVYLENBQUMsQVAwTUgsTUFBTSxFT3BXVixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDRnlaUiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWxYQSxZQUFZLENBRVgsQ0FBQyxBUDBNSCxNQUFNLEVLaUpWLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0V4Z0JSLG9CQUFvQixDQTZCbkIsZ0JBQWdCLENBR2YsUUFBUSxDQTREUCxLQUFLLENGOGFMLEVBQUUsQ0VsWEEsWUFBWSxDQUVYLENBQUMsQVAwTUgsTUFBTSxFT3lJViw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0EzaUJqQixvQkFBb0IsQ0E2Qm5CLGdCQUFnQixDQUdmLFFBQVEsQ0E0RFAsS0FBSyxDQW1lSixFQUFFLENBdmFELFlBQVksQ0FFWCxDQUFDLEFQME1ILE1BQU0sQ0FBQztVQUNQLG1CQUFtQixFN0l6U1AsT0FBTyxHNkkwU25CO0VPdFdKLEFBeUtFLG9CQXpLa0IsQ0E2Qm5CLGdCQUFnQixDQTRJZixlQUFlLENBQUM7SUFFZixPQUFPLEVBQUUsSUFBSSxHQUViO0VBN0tILEFBd0xHLG9CQXhMaUIsQ0E2Qm5CLGdCQUFnQixDQWlKZixhQUFhLEFBVVgsTUFBTSxDQUFDO0lBQ1AsVUFBVSxFQUFFLE9BQU87SUFDbkIsWUFBWSxFQUFFLE9BQU8sR0FjckI7SUF4TUosQUEyTEksb0JBM0xnQixDQTZCbkIsZ0JBQWdCLENBaUpmLGFBQWEsQUFVWCxNQUFNLENBR04sYUFBYSxDQUFDO01BQ2IsV0FBVyxFQUFFLE1BQU07TUFDbkIsa0JBQWtCLEVBQUUsZUFBZTtNQUNuQyxhQUFhLEVBQUUsZUFBZTtNQUM5QixVQUFVLEVBQUUsZUFBZSxHQUMzQjtJQWhNTCxBQWtNSSxvQkFsTWdCLENBNkJuQixnQkFBZ0IsQ0FpSmYsYUFBYSxBQVVYLE1BQU0sQ0FVTixHQUFHLENBQUM7TUFDSixNQUFNLEVBQUUsTUFBTTtNQUNkLGtCQUFrQixFQUFFLGVBQWU7TUFDbkMsYUFBYSxFQUFFLGVBQWU7TUFDOUIsVUFBVSxFQUFFLGVBQWUsR0FDMUI7RUF2TUwsQUFpTkcsb0JBak5pQixDQTZCbkIsZ0JBQWdCLENBaUpmLGFBQWEsQ0FtQ1osYUFBYSxDQUFDO0lBQ2IsV0FBVyxFQUFFLE1BQU0sR0FhbkI7STNJOURDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7TTJJaks1QyxBQWlORyxvQkFqTmlCLENBNkJuQixnQkFBZ0IsQ0FpSmYsYUFBYSxDQW1DWixhQUFhLENBQUM7UUFHWixPQUFPLEVBQUUsSUFBSSxHQVdkO0VBL05KLEFBa09FLG9CQWxPa0IsQ0E2Qm5CLGdCQUFnQixDQXFNZixVQUFVLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxLQUFLLEdBQ2Q7O0FBSUgsQUFBQSxvQkFBb0IsQ0FBQztFQUNwQixXQUFXLEVBQUUsSUFBSSxHQXFDakI7RUF0Q0QsQUFHQyxvQkFIbUIsQ0FHbkIsUUFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLElBQUksR0FRYjtJM0k3RkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTJJaUY5QyxBQUdDLG9CQUhtQixDQUduQixRQUFRLENBQUM7UUFJUCxPQUFPLEVBQUUsT0FBTyxHQUtqQjtFQVpGLEFBY0Msb0JBZG1CLENBY25CLFdBQVcsQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJLEdBS25CO0kzSXJHRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMklpRjlDLEFBY0Msb0JBZG1CLENBY25CLFdBQVcsQ0FBQztRQUlWLGFBQWEsRUFBRSxpQkFBaUIsR0FFakM7RUFwQkYsQUFzQkMsb0JBdEJtQixDQXNCbkIsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsS0FBSztJQUNqQixhQUFhLEVBQUUsSUFBSSxHQVduQjtJM0l0SEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTJJaUY5QyxBQXNCQyxvQkF0Qm1CLENBc0JuQixRQUFRLENBQUMsR0FBRyxDQUFDO1FBT1gsVUFBVSxFQUFFLGdCQUFnQixHQVE3QjtJM0l0SEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTJJaUY5QyxBQXNCQyxvQkF0Qm1CLENBc0JuQixRQUFRLENBQUMsR0FBRyxDQUFDO1FBV1gsVUFBVSxFQUFFLElBQUk7UUFFaEIsYUFBYSxFQUFFLENBQUMsR0FFakI7O0FBR0YsQUFFQyw0QkFGMkIsQ0FFM0IsUUFBUTtBQURULDRCQUE0QixDQUMzQixRQUFRLENBQUM7RUFFUixNQUFNLEVBQUUsZ0JBQWdCLEdBRXhCOztBQU5GLEFBT0MsNEJBUDJCLENBTzNCLFNBQVM7QUFOViw0QkFBNEIsQ0FNM0IsU0FBUyxDQUFDO0VBRVQsTUFBTSxFQUFFLGdCQUFnQixHQUV4Qjs7QUFYRixBQWFFLDRCQWIwQixDQVkzQixXQUFXLENBQ1YsR0FBRztBQVpMLDRCQUE0QixDQVczQixXQUFXLENBQ1YsR0FBRyxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxjQUFjLEdBSXRCO0UzSXhJRSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0kySW9INUMsQUFhRSw0QkFiMEIsQ0FZM0IsV0FBVyxDQUNWLEdBQUc7SUFaTCw0QkFBNEIsQ0FXM0IsV0FBVyxDQUNWLEdBQUcsQ0FBQztNQUtGLEtBQUssRUFBRSxJQUFJLEdBRVo7O0FBcEJILEFBcUJFLDRCQXJCMEIsQ0FZM0IsV0FBVyxDQVNWLEVBQUU7QUFwQkosNEJBQTRCLENBVzNCLFdBQVcsQ0FTVixFQUFFLENBQUM7RUFDRixXQUFXLEVBQUUsY0FBYztFQUMzQixTQUFTLEVBQUUsZUFBZTtFQUMxQixNQUFNLEVBQUUsZ0JBQWdCLEdBTXhCO0UzSWxKRSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO0kySW9INUMsQUFxQkUsNEJBckIwQixDQVkzQixXQUFXLENBU1YsRUFBRTtJQXBCSiw0QkFBNEIsQ0FXM0IsV0FBVyxDQVNWLEVBQUUsQ0FBQztNQUtELEtBQUssRUFBRSxLQUFLO01BQ1osVUFBVSxFQUFFLEdBQUc7TUFDZixhQUFhLEVBQUUsSUFBSSxHQUVwQjs7QTNJbEpFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7RTJJb0g1QyxBQStCRSw0QkEvQjBCLENBWTNCLFdBQVcsQ0FtQlYsS0FBSztFQTlCUCw0QkFBNEIsQ0FXM0IsV0FBVyxDQW1CVixLQUFLLENBQUM7SUFFSixVQUFVLEVBQUUsSUFBSTtJQUNoQixZQUFZLEVBQUUsSUFBSSxHQUVuQjs7QUFJSCxBQVNDLGlDQVRnQyxDQVNoQyxlQUFlLENBQUM7RWxIek5oQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIeVV0QztFM0kxTEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STJJaUs5QyxBQVNDLGlDQVRnQyxDQVNoQyxlQUFlLENBQUM7TXJIdlRkLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIeVV0QztFM0kxTEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STJJaUs5QyxBQVNDLGlDQVRnQyxDQVNoQyxlQUFlLENBQUM7TWxIek5oQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIeVV0QztFM0kxTEcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0kySWlLOUMsQUFTQyxpQ0FUZ0MsQ0FTaEMsZUFBZSxDQUFDO01ySHZUZCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdxSHlVdEM7RTNJMUxHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0kySWlLOUMsQUFnQkUsaUNBaEIrQixDQVNoQyxlQUFlLENBT2QsS0FBSyxDQUFDO01BSUosTUFBTSxFQUFFLElBQUksR0FJYjs7QUF4QkgsQUEyQkMsaUNBM0JnQyxDQTJCaEMsWUFBWSxDQUFDO0VsSDNPYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIaVZ0QztFM0lsTUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STJJaUs5QyxBQTJCQyxpQ0EzQmdDLENBMkJoQyxZQUFZLENBQUM7TXJIelVYLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIaVZ0QztFM0lsTUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STJJaUs5QyxBQTJCQyxpQ0EzQmdDLENBMkJoQyxZQUFZLENBQUM7TWxIM09iLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHcUhpVnRDO0UzSWxNRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STJJaUs5QyxBQTJCQyxpQ0EzQmdDLENBMkJoQyxZQUFZLENBQUM7TXJIelVYLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIaVZ0Qzs7QTNJbE1HLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0UySThPOUMsQUFDQyw0QkFEMkIsQ0FDM0IsYUFBYSxDQUFDO0lBSVosV0FBVyxFQUFFLElBQUksR0FFbEI7O0FBUEYsQUFVQyw0QkFWMkIsQ0FVM0IsUUFBUSxDQUFBO0VsSHZTUixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FId2F0QztFM0l6UkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STJJOE85QyxBQVVDLDRCQVYyQixDQVUzQixRQUFRLENBQUE7TXJIcllOLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FId2F0QztFM0l6UkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STJJOE85QyxBQVVDLDRCQVYyQixDQVUzQixRQUFRLENBQUE7TWxIdlNSLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHcUh3YXRDO0UzSXpSRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STJJOE85QyxBQVVDLDRCQVYyQixDQVUzQixRQUFRLENBQUE7TXJIcllOLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FId2F0QztFQTNDRixBQXFCRyw0QkFyQnlCLENBVTNCLFFBQVEsQ0FPUCxJQUFJLENBSUgsWUFBWSxFQXJCZiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRTNHRixZQUFZLEVGc0ZmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxDRTNHRixZQUFZLEVBckJmLDRCQUE0QixDQVUzQixRQUFRLENBeUZULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBaEtILFlBQVksRUE4RWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLENBaEtILFlBQVksQ0FBQTtJbEhsVGQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztJR1BuRCxhQUFhLEU1QnVFTCxDQUFDO0k0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdpSm1WUjtJM0k3UUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TTJJOE9sRCxBQXFCRyw0QkFyQnlCLENBVTNCLFFBQVEsQ0FPUCxJQUFJLENBSUgsWUFBWSxFQXJCZiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRTNHRixZQUFZLEVGc0ZmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxDRTNHRixZQUFZLEVBckJmLDRCQUE0QixDQVUzQixRQUFRLENBeUZULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBaEtILFlBQVksRUE4RWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLENBaEtILFlBQVksQ0FBQTtRbEhsVGQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdpSm1WUjtJM0k3UUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTJJOE85QyxBQXFCRyw0QkFyQnlCLENBVTNCLFFBQVEsQ0FPUCxJQUFJLENBSUgsWUFBWSxFQXJCZiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRTNHRixZQUFZLEVGc0ZmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxDRTNHRixZQUFZLEVBckJmLDRCQUE0QixDQVUzQixRQUFRLENBeUZULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBaEtILFlBQVksRUE4RWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLENBaEtILFlBQVksQ0FBQTtRbEhsVGQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1E0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdpSm1WUjtFQS9CSixBQWlDRyw0QkFqQ3lCLENBVTNCLFFBQVEsQ0FPUCxJQUFJLENBZ0JILFlBQVksRUFqQ2YsNEJBQTRCLENBVTNCLFFBQVEsQ0ZpR1QsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0UvRkYsWUFBWSxFRjBFZiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQVUzQixRQUFRLENGc0hOLEVBQUUsQ0UvRkYsWUFBWSxFQWpDZiw0QkFBNEIsQ0FVM0IsUUFBUSxDQXlGVCw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQXBKSCxZQUFZLEVBa0VmLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBVTNCLFFBQVEsQ0EyS0wsRUFBRSxDQXBKSCxZQUFZLENBQUE7SWxIOVRkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7SU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQixHcUhxYXBDO0kzSXRSQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMkk4TzlDLEFBaUNHLDRCQWpDeUIsQ0FVM0IsUUFBUSxDQU9QLElBQUksQ0FnQkgsWUFBWSxFQWpDZiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRS9GRixZQUFZLEVGMEVmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxDRS9GRixZQUFZLEVBakNmLDRCQUE0QixDQVUzQixRQUFRLENBeUZULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEpILFlBQVksRUFrRWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLENBcEpILFlBQVksQ0FBQTtRckg1WlosYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHcUhxYXBDO0kzSXRSQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNMkk4TzlDLEFBaUNHLDRCQWpDeUIsQ0FVM0IsUUFBUSxDQU9QLElBQUksQ0FnQkgsWUFBWSxFQWpDZiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRS9GRixZQUFZLEVGMEVmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxDRS9GRixZQUFZLEVBakNmLDRCQUE0QixDQVUzQixRQUFRLENBeUZULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEpILFlBQVksRUFrRWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLENBcEpILFlBQVksQ0FBQTtRbEg5VGQsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdxSHFhcEM7RTNJdFJDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMkk4TzlDLEFBaUNHLDRCQWpDeUIsQ0FVM0IsUUFBUSxDQU9QLElBQUksQ0FnQkgsWUFBWSxFQWpDZiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRS9GRixZQUFZLEVGMEVmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxDRS9GRixZQUFZLEVBakNmLDRCQUE0QixDQVUzQixRQUFRLENBeUZULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEpILFlBQVksRUFrRWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLENBcEpILFlBQVksQ0FBQTtNckg1WlosYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHcUhxYXBDOztBQXhDSixBQVVDLDRCQVYyQixDQVUzQixRQUFRLENBb0NBO0VBQ1AsVUFBVSxFQUFFLElBQUksR0FxQ2hCO0VBcEZGLEFBZ0RFLDRCQWhEMEIsQ0E4QzNCLFFBQVEsQUFFTixjQUFjLENBQUE7SUFDZCxVQUFVLEVBQUUsSUFBSSxHQUNoQjtFM0loU0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7STJJOE85QyxBQVVDLDRCQVYyQixDQVUzQixRQUFRLENBb0NBO01BT04sVUFBVSxFQUFFLElBQUksR0ErQmpCO01BcEZGLEFBZ0RFLDRCQWhEMEIsQ0E4QzNCLFFBQVEsQUFFTixjQUFjLENBT0M7UUFDZCxVQUFVLEVBQUUsSUFBSSxHQUNoQjtFQXpESixBQStESSw0QkEvRHdCLENBOEMzQixRQUFRLENBY1AsSUFBSSxDQUNILFlBQVksQ0FFWCxTQUFTLEVBL0RiLDRCQUE0QixDQThDM0IsUUFBUSxDRjZEVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRW5FRixZQUFZLENBRVgsU0FBUyxFRjRDYiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQThDM0IsUUFBUSxDRmtGTixFQUFFLENFbkVGLFlBQVksQ0FFWCxTQUFTLEVBb0NiLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBOEMzQixRQUFRLENBdUlMLEVBQUUsQ0F4SEgsWUFBWSxDQUVYLFNBQVMsQ0FBQztJQUVULE1BQU0sRUFBRSxJQUFJLEdBS1o7STNJcFRBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00ySThPOUMsQUErREksNEJBL0R3QixDQThDM0IsUUFBUSxDQWNQLElBQUksQ0FDSCxZQUFZLENBRVgsU0FBUyxFQS9EYiw0QkFBNEIsQ0E4QzNCLFFBQVEsQ0Y2RFQsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VuRUYsWUFBWSxDQUVYLFNBQVMsRUY0Q2IsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTlIUiw0QkFBNEIsQ0E4QzNCLFFBQVEsQ0ZrRk4sRUFBRSxDRW5FRixZQUFZLENBRVgsU0FBUyxFQW9DYiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FqS2pCLDRCQUE0QixDQThDM0IsUUFBUSxDQXVJTCxFQUFFLENBeEhILFlBQVksQ0FFWCxTQUFTLENBQUM7UUFLUixNQUFNLEVBQUUsSUFBSSxHQUViO0VBdEVMLEFBaUNHLDRCQWpDeUIsQ0FVM0IsUUFBUSxDQU9QLElBQUksQ0FnQkgsWUFBWSxFQWpDZiw0QkFBNEIsQ0FVM0IsUUFBUSxDRmlHVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRS9GRixZQUFZLEVGMEVmLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0U5SFIsNEJBQTRCLENBVTNCLFFBQVEsQ0ZzSE4sRUFBRSxDRS9GRixZQUFZLEVBakNmLDRCQUE0QixDQVUzQixRQUFRLENBeUZULDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEpILFlBQVksRUFrRWYsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBaktqQiw0QkFBNEIsQ0FVM0IsUUFBUSxDQTJLTCxFQUFFLENBcEpILFlBQVksQ0F3Q0E7SUFFWCxVQUFVLEVBQUUsSUFBSSxHQU9oQjtJQWxGSixBQTZFSSw0QkE3RXdCLENBOEMzQixRQUFRLENBY1AsSUFBSSxDQWFILFlBQVksQ0FJWCxFQUFFLEVBN0VOLDRCQUE0QixDQThDM0IsUUFBUSxDRjZEVCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRXZERixZQUFZLENBSVgsRUFBRSxFRjhCTiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFOUhSLDRCQUE0QixDQThDM0IsUUFBUSxDRmtGTixFQUFFLENFdkRGLFlBQVksQ0FJWCxFQUFFLEVBc0JOLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQWpLakIsNEJBQTRCLENBOEMzQixRQUFRLENBdUlMLEVBQUUsQ0E1R0gsWUFBWSxDQUlYLEVBQUUsQ0FBQztNQUdGLFNBQVMsRUFBRSxHQUFHLEdBQ2Q7O0FBakZMLEFBeUZFLDRCQXpGMEIsQ0F3RjNCLFlBQVksQ0FDWCxDQUFDLEVBekZILDRCQUE0QixDQXdGM0IsWUFBWSxDUDNPWixVQUFVLENPNE9QO0VBQ0QsWUFBWSxFQUFFLEdBQUc7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFFakIsT0FBTyxFQUFFLElBQUksR0FFZDs7QUFJSCxBQUFBLDRCQUE0QixDQUFDO0VBQzVCLFVBQVUsRUFBRSxJQUFJLEdBMEloQjtFQTNJRCxBQUdDLDRCQUgyQixDQUczQixDQUFDLEFBQUEsY0FBYyxFQUhoQiw0QkFBNEIsQ0FHMUIsY0FBYyxBUHpQZixVQUFVLENPeVBNO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsaUJBQWlCO0lsSHJZOUIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCO0lxSHVldEMsVUFBVSxFQUFFLEtBQUssR0FDakI7STNJelZHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00ySWlWOUMsQUFHQyw0QkFIMkIsQ0FHM0IsQ0FBQyxBQUFBLGNBQWMsRUFIaEIsNEJBQTRCLENBRzFCLGNBQWMsQVB6UGYsVUFBVSxDT3lQTTtRckhqZWQsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHcUh3ZXRDO0VBUkYsQUFVQyw0QkFWMkIsQ0FVM0IsZUFBZSxDQUFBO0lBQ2QsVUFBVSxFQUFFLElBQUksR0E4R2hCO0lBekhGLEFBYUUsNEJBYjBCLENBVTNCLGVBQWUsQ0FHZCxRQUFRLENBQUM7TWxIN1lWLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztNNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHaUorYVQ7TTNJeldFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EySWlWOUMsQUFhRSw0QkFiMEIsQ0FVM0IsZUFBZSxDQUdkLFFBQVEsQ0FBQztVbEg3WVYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztVR1BuRCxhQUFhLEU1QnVFTCxDQUFDO1U0QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdpSithVDtJQXhCSCxBQTBCRSw0QkExQjBCLENBVTNCLGVBQWUsQ0FnQmQsVUFBVSxDQUFDO01sSDFaWixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLElBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2lKdWJUO00zSWpYRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMklpVjlDLEFBMEJFLDRCQTFCMEIsQ0FVM0IsZUFBZSxDQWdCZCxVQUFVLENBQUM7VWxIMVpaLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7VU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7VUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztVNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHaUp1YlQ7SUFoQ0gsQUFxQ0csNEJBckN5QixDQVUzQixlQUFlLENBd0JkLElBQUksQUFHRixJQUFLLENIOUJELGNBQWMsR0dQdEIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQUVRRCxJQUFLLENIOUJELGNBQWMsR0NDdEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLEFFUUQsSUFBSyxDSDlCRCxjQUFjLEdHUHRCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLEFBN0NGLElBQUssQ0g5QkQsY0FBYyxFRzhCRztNQUNyQixVQUFVLEVBQUUsSUFBSSxHQUNoQjtJQXZDSixBQThDRyw0QkE5Q3lCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQVlILGNBQWMsRUE5Q2pCLDRCQUE0QixDQVUzQixlQUFlLENGRmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFaUJGLGNBQWMsRUZ0Q2pCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlCRixjQUFjLEVBOUNqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQXBDSCxjQUFjLENBQUM7TWxIOWFqQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2lKbWRSO00zSTdZQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMklpVjlDLEFBOENHLDRCQTlDeUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBWUgsY0FBYyxFQTlDakIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQkYsY0FBYyxFRnRDakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUJGLGNBQWMsRUE5Q2pCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcENILGNBQWMsQ0FBQztVbEg5YWpCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7VUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztVNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHaUptZFI7TTNJN1lDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EySWlWOUMsQUFxREksNEJBckR3QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0FZSCxjQUFjLENBT2IsU0FBUyxFQXJEYiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlCRixjQUFjLENBT2IsU0FBUyxFRjdDYiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsQ0VpQkYsY0FBYyxDQU9iLFNBQVMsQ0FBQztVQUlSLE1BQU0sRUFBRSxJQUFJLEdBRWI7SUEzREwsQUE4REcsNEJBOUR5QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxFQTlEakIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxFRnREakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUNGLGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEJILGNBQWMsQ0FBQztNbEg5YmpCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHcUhxbEJwQztNM0l0Y0MsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTJJaVY5QyxBQThERyw0QkE5RHlCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLEVBOURqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlDRixjQUFjLEVGdERqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsQ0VpQ0YsY0FBYyxFQTlEakIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0FwQkgsY0FBYyxDQUFDO1VySDVoQmYsYUFBYSxFQUZILE9BQTJCO1VBR3JDLFlBQVksRUFIRixPQUEyQixHcUhxbEJwQztNM0l0Y0MsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTJJaVZsRCxBQThERyw0QkE5RHlCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLEVBOURqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlDRixjQUFjLEVGdERqQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsQ0VpQ0YsY0FBYyxFQTlEakIsNEJBQTRCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0FwQkgsY0FBYyxDQUFDO1VsSDliakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdxSHFsQnBDO0UzSXRjQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0kySWlWOUMsQUE4REcsNEJBOUR5QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxFQTlEakIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxFRnREakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUNGLGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEJILGNBQWMsQ0FBQztNckg1aEJmLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIcWxCcEM7TTNJdGNDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1EySWlWOUMsQUE4REcsNEJBOUR5QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxFQTlEakIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxFRnREakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUNGLGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEJILGNBQWMsQ0FBQztVbEg5YmpCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHcUhxbEJwQztFM0l0Y0MsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0kySWlWOUMsQUE4REcsNEJBOUR5QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxFQTlEakIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxFRnREakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUNGLGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEJILGNBQWMsQ0FBQztNckg1aEJmLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIcWxCcEM7TTNJdGNDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO1EySWlWbEQsQUE4REcsNEJBOUR5QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxFQTlEakIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxFRnREakIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUNGLGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBcEJILGNBQWMsQ0FBQztVbEg5YmpCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7VU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHcUhxbEJwQztFM0l0Y0MsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJMklpVjlDLEFBOERHLDRCQTlEeUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENGRmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFaUNGLGNBQWMsRUZ0RGpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlDRixjQUFjLEVBOURqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQXBCSCxjQUFjLENBQUM7TXJINWhCZixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdxSHFsQnBDO00zSXRjQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRMklpVjlDLEFBOERHLDRCQTlEeUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENGRmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFaUNGLGNBQWMsRUZ0RGpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlDRixjQUFjLEVBOURqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQXBCSCxjQUFjLENBQUM7VWxIOWJqQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIcWxCcEM7RTNJdGNDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMklpVjlDLEFBOERHLDRCQTlEeUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsRUE5RGpCLDRCQUE0QixDQVUzQixlQUFlLENGRmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFaUNGLGNBQWMsRUZ0RGpCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlDRixjQUFjLEVBOURqQiw0QkFBNEIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQXBCSCxjQUFjLENBQUM7TXJINWhCZixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdxSHFsQnBDO01BckhKLEFBa0ZJLDRCQWxGd0IsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxFQWxGTiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsRUYxRU4sOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUNGLGNBQWMsQ0FvQmIsRUFBRSxDQUFDO1FBR0YsVUFBVSxFQUFFLElBQUksR0ErQmhCO1FBcEhMLEFBdUZLLDRCQXZGdUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQUtELEVBQUUsRUF2RlAsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBS0QsRUFBRSxFRi9FUCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBS0QsRUFBRSxDQUFDO1VsSHZkUCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkI7VXFIOGpCbEMsU0FBUyxFQUFFLE1BQU0sR0FLakI7VTNJcGJELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1kySWlWOUMsQUF1RkssNEJBdkZ1QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBS0QsRUFBRSxFQXZGUCw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FLRCxFQUFFLEVGL0VQLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FLRCxFQUFFLENBQUM7Y3JIcmpCTCxhQUFhLEVBRkgsT0FBMkI7Y0FHckMsWUFBWSxFQUhGLE9BQTJCLEdxSG1rQmxDO1UzSXBiRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtZMklpVjlDLEFBdUZLLDRCQXZGdUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQUtELEVBQUUsRUF2RlAsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBS0QsRUFBRSxFRi9FUCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBS0QsRUFBRSxDQUFDO2NsSHZkUCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO2NNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO2NHUG5ELGFBQWEsRUFGSCxTQUEyQjtjQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIbWtCbEM7RTNJcGJELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJMklpVjlDLEFBdUZLLDRCQXZGdUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQUtELEVBQUUsRUF2RlAsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBS0QsRUFBRSxFRi9FUCw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBS0QsRUFBRSxDQUFDO01ySHJqQkwsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHcUhta0JsQztVM0lwYkQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7WTJJaVY5QyxBQXVGSyw0QkF2RnVCLENBVTNCLGVBQWUsQ0F3QmQsSUFBSSxDQTRCSCxjQUFjLENBb0JiLEVBQUUsQ0FLRCxFQUFFLEVBdkZQLDRCQUE0QixDQVUzQixlQUFlLENGRmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0FFTCxFQUFFLENFaUNGLGNBQWMsQ0FvQmIsRUFBRSxDQUtELEVBQUUsRUYvRVAsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDRTNCUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRm1CYixFQUFFLENFaUNGLGNBQWMsQ0FvQmIsRUFBRSxDQUtELEVBQUUsQ0FBQztjQVNELFNBQVMsRUFBRSxLQUFLLEdBR2pCO1FBbkdOLEFBcUdLLDRCQXJHdUIsQ0FVM0IsZUFBZSxDQXdCZCxJQUFJLENBNEJILGNBQWMsQ0FvQmIsRUFBRSxDQW1CRCxFQUFFLEFBQUEsU0FBUyxFQXJHaEIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZGaEIsOEJBQThCLENBQzdCLFFBQVEsQ0FrQlAsTUFBTSxDQUVMLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBbUJELEVBQUUsQUFBQSxTQUFTLEVGN0ZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENFM0JSLDRCQUE0QixDQVUzQixlQUFlLENGbUJiLEVBQUUsQ0VpQ0YsY0FBYyxDQW9CYixFQUFFLENBbUJELEVBQUUsQUFBQSxTQUFTLENBQUM7VWxIcmVoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkI7VXFId2tCbEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLENwSjVmVCxPQUFPO1VvSjZmdEIsYUFBYSxFQUFFLEtBQUssR0FTcEI7VTNJbmNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1kySWlWOUMsQUFxR0ssNEJBckd1QixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBbUJELEVBQUUsQUFBQSxTQUFTLEVBckdoQiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FtQkQsRUFBRSxBQUFBLFNBQVMsRUY3RmhCLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FtQkQsRUFBRSxBQUFBLFNBQVMsQ0FBQztjckhua0JkLGFBQWEsRUFGSCxPQUEyQjtjQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIa2xCbEM7VUFsSE4sQUEyR00sNEJBM0dzQixDQVUzQixlQUFlLENBd0JkLElBQUksQ0E0QkgsY0FBYyxDQW9CYixFQUFFLENBbUJELEVBQUUsQUFBQSxTQUFTLENBTVYsRUFBRSxFQTNHUiw0QkFBNEIsQ0FVM0IsZUFBZSxDRkZoQiw4QkFBOEIsQ0FDN0IsUUFBUSxDQWtCUCxNQUFNLENBRUwsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FtQkQsRUFBRSxBQUFBLFNBQVMsQ0FNVixFQUFFLEVGbkdSLDhCQUE4QixDQUM3QixRQUFRLENBa0JQLE1BQU0sQ0UzQlIsNEJBQTRCLENBVTNCLGVBQWUsQ0ZtQmIsRUFBRSxDRWlDRixjQUFjLENBb0JiLEVBQUUsQ0FtQkQsRUFBRSxBQUFBLFNBQVMsQ0FNVixFQUFFLENBQUE7WUFFRCxTQUFTLEVBQUMsTUFBTTtZQUVoQixjQUFjLEVBQUUsS0FBSztZQUNyQixhQUFhLEVBQUUsQ0FBQyxHQUNoQjtFQWpIUCxBQThIRSw0QkE5SDBCLENBNEgzQixlQUFlLENBRWQsU0FBUyxDQUFDO0lsSDlmWCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0lHUG5ELGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3FIeW1CckM7STNJMWRFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00ySWlWOUMsQUE4SEUsNEJBOUgwQixDQTRIM0IsZUFBZSxDQUVkLFNBQVMsQ0FBQztRckg1bEJULGFBQWEsRUFGSCxPQUEyQjtRQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FIeW1CckM7SUF6SUgsQUFpSUcsNEJBakl5QixDQTRIM0IsZUFBZSxDQUVkLFNBQVMsQ0FHUixPQUFPLENBQUE7TWxIamdCVCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLElBQXlDO01HUG5ELGFBQWEsRTVCdUVMLENBQUM7TTRCdEVULFlBQVksRTVCc0VKLENBQUMsR2lKMGhCUjtJQW5JSixBQXFJRyw0QkFySXlCLENBNEgzQixlQUFlLENBRWQsU0FBUyxDQU9SLFFBQVEsQ0FBQztNbEhyZ0JYLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHcUh3bUJwQztNM0l6ZEMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTJJaVY5QyxBQXFJRyw0QkFySXlCLENBNEgzQixlQUFlLENBRWQsU0FBUyxDQU9SLFFBQVEsQ0FBQztVckhubUJULGFBQWEsRUFGSCxPQUEyQjtVQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3FId21CcEM7O0FDMW5CTCxBQUNDLGFBRFksQ0FDWixVQUFVLENBQUM7RVJvSVQsVUFBVSxFQUFFLHdDQUEwRjtFUWhJdkcsY0FBYyxFQUFFLElBQUksR0FRcEI7RTVJb0pJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0k0SWpLbkQsQUFDQyxhQURZLENBQ1osVUFBVSxDQUFDO01BT1QsY0FBYyxFQUFFLElBQUksR0FLckI7O0FBSUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN2QixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSTtFQUNwQixLQUFLLEVySnlDQyxPQUFPLEdxSmNiO0VBMURELEFBZUMsdUJBZnNCLENBZXRCLENBQUMsRUFmRix1QkFBdUIsQ1IyT3RCLFVBQVUsRVEzT1gsdUJBQXVCLENSbWhCdkIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsRUE1RUgsUUFBUSxDQWdEUCxRQUFRLENRbmtCVCx1QkFBdUIsQ1IrbEJyQixDQUFDLEVRL2xCSCx1QkFBdUIsQ1BuQnhCLElBQUksQ0RzbEJGLFFBQVEsQ0E0QlAsQ0FBQyxFQ2xuQkosSUFBSSxDRHNsQkYsUUFBUSxDUW5rQlQsdUJBQXVCLENSK2xCckIsQ0FBQyxFUS9sQkgsdUJBQXVCLENQeUV4QixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxFQ3RoQkosa0JBQWtCLENEMGZoQixRQUFRLENRbmtCVCx1QkFBdUIsQ1IrbEJyQixDQUFDLEVRL2xCSCx1QkFBdUIsQ0xGdkIsVUFBVSxDSHFrQlQsUUFBUSxDQTRCUCxDQUFDLEVHam1CSCxVQUFVLENIcWtCVCxRQUFRLENRbmtCVCx1QkFBdUIsQ1IrbEJyQixDQUFDLENRaGxCQTtJQUNELFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBNkJoQjtJQS9DRixBQXFCRSx1QkFyQnFCLENBZXRCLENBQUMsQ0FNQSxTQUFTLEVBckJYLHVCQUF1QixDUjJPdEIsVUFBVSxDUXROVCxTQUFTLENBQUM7TUFDVCxXQUFXLEVBQUUsTUFBTTtNQUNuQixTQUFTLEVBQUUsS0FBSztNQUNoQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsR0FBRyxHQUVoQjtJQTNCSCxBQTZCRSx1QkE3QnFCLENBZXRCLENBQUMsQ0FjQSxjQUFjLEVBN0JoQix1QkFBdUIsQ1IyT3RCLFVBQVUsQ1E5TVQsY0FBYyxDQUFDO01BQ2QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsU0FBUyxFQUFFLElBQUk7TUFDZixHQUFHLEVBQUUsS0FBSztNQUNWLFdBQVcsRUFBRSxDQUFDO01BQ2QsY0FBYyxFQUFFLFFBQVEsR0FDeEI7SUFuQ0gsQUFxQ0UsdUJBckNxQixDQWV0QixDQUFDLENBc0JBLENBQUMsRUFyQ0gsdUJBQXVCLENSMk90QixVQUFVLENRdE1ULENBQUMsRUFyQ0gsdUJBQXVCLENSbWhCdkIsUUFBUSxDQWdEUCxRQUFRLENBNEJQLENBQUMsQ1ExakJELENBQUMsRVI4ZUgsUUFBUSxDQWdEUCxRQUFRLENRbmtCVCx1QkFBdUIsQ1IrbEJyQixDQUFDLENRMWpCRCxDQUFDLEVBckNILHVCQUF1QixDUG5CeEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLENRMWpCRCxDQUFDLEVQeERKLElBQUksQ0RzbEJGLFFBQVEsQ1Fua0JULHVCQUF1QixDUitsQnJCLENBQUMsQ1ExakJELENBQUMsRUFyQ0gsdUJBQXVCLENQeUV4QixrQkFBa0IsQ0QwZmhCLFFBQVEsQ0E0QlAsQ0FBQyxDUTFqQkQsQ0FBQyxFUG9DSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ1Fua0JULHVCQUF1QixDUitsQnJCLENBQUMsQ1ExakJELENBQUMsRUFyQ0gsdUJBQXVCLENMRnZCLFVBQVUsQ0hxa0JULFFBQVEsQ0E0QlAsQ0FBQyxDUTFqQkQsQ0FBQyxFTHZDSCxVQUFVLENIcWtCVCxRQUFRLENRbmtCVCx1QkFBdUIsQ1IrbEJyQixDQUFDLENRMWpCRCxDQUFDLENBQUM7TUFDRCxLQUFLLEVBQUUsT0FBeUI7TUFDaEMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBeUIsR0FPbkQ7TUE5Q0gsQUF5Q0csdUJBekNvQixDQWV0QixDQUFDLENBc0JBLENBQUMsQUFJQyxNQUFNLEVBekNWLHVCQUF1QixDUjJPdEIsVUFBVSxDUXRNVCxDQUFDLEFBSUMsTUFBTSxDQUFDO1FBRVAsS0FBSyxFckprQkssT0FBdUI7UXFKakJqQyxtQkFBbUIsRXJKaUJULE9BQXVCLEdxSmhCakM7RUE3Q0osQUFpREMsdUJBakRzQixDQWlEdEIsRUFBRSxFQWpESCx1QkFBdUIsQ0FldEIsQ0FBQyxFQWZGLHVCQUF1QixDUjJPdEIsVUFBVSxFUTNPWCx1QkFBdUIsQ1JtaEJ2QixRQUFRLENBZ0RQLFFBQVEsQ0E0QlAsQ0FBQyxFQTVFSCxRQUFRLENBZ0RQLFFBQVEsQ1Fua0JULHVCQUF1QixDUitsQnJCLENBQUMsRVEvbEJILHVCQUF1QixDUG5CeEIsSUFBSSxDRHNsQkYsUUFBUSxDQTRCUCxDQUFDLEVDbG5CSixJQUFJLENEc2xCRixRQUFRLENRbmtCVCx1QkFBdUIsQ1IrbEJyQixDQUFDLEVRL2xCSCx1QkFBdUIsQ1B5RXhCLGtCQUFrQixDRDBmaEIsUUFBUSxDQTRCUCxDQUFDLEVDdGhCSixrQkFBa0IsQ0QwZmhCLFFBQVEsQ1Fua0JULHVCQUF1QixDUitsQnJCLENBQUMsRVEvbEJILHVCQUF1QixDTEZ2QixVQUFVLENIcWtCVCxRQUFRLENBNEJQLENBQUMsRUdqbUJILFVBQVUsQ0hxa0JULFFBQVEsQ1Fua0JULHVCQUF1QixDUitsQnJCLENBQUMsQ1E5aUJJO0lBQ0wsVUFBVSxFQUFFLE1BQU0sR0FDbEI7RUFuREYsQUFxREMsdUJBckRzQixDQXFEdEIsQ0FBQyxBQUFBLHVCQUF1QixDQUFDO0lScVB2QixLQUFLLEVRcFBlLE9BQWlCO0lSaVJyQyxhQUFhLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ1FoUk0sT0FBaUI7SUFDakQsU0FBUyxFQUFFLElBQUksR0FDZjtJQXpERixBUjhTSSx1QlE5U21CLENBcUR0QixDQUFDLEFBQUEsdUJBQXVCLEFSeVBwQixNQUFNLENBQUM7TUFDUCxLQUFLLEVRelBnQyxPQUEwQixHUjBQL0Q7SVFoVEwsQVI4U0ksdUJROVNtQixDQXFEdEIsQ0FBQyxBQUFBLHVCQUF1QixBUnlQcEIsTUFBTSxDQTBCQTtNQUdOLG1CQUFtQixFUXBSNkIsT0FBMEIsR1IyUjNFOztBUWpSTCxBQUNDLGlCQURnQixDQUNoQixRQUFRLENBQUM7RUFHUixVQUFVLEVBQUUsTUFBTSxHQTBIbEI7RTVJL0NJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0k0SS9FbkQsQUFDQyxpQkFEZ0IsQ0FDaEIsUUFBUSxDQUFDO01BTVAsVUFBVSxFQUFFLE1BQU0sR0F1SG5CO0U1SS9DSSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJNEkvRS9DLEFBQ0MsaUJBRGdCLENBQ2hCLFFBQVEsQ0FBQztNQVVQLFVBQVUsRUFBRSxNQUFNLEdBbUhuQjtFQTlIRixBQWdCRSxpQkFoQmUsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FBQTtJbkhnQlosSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCO0lzSHVGdEMsVUFBVSxFQUFFLGtEQUErRDtJQUMzRSxXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUVwQixTQUFTLEVBQUUsSUFBSSxHQStFZjtJNUkzQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTRJL0UvQyxBQWdCRSxpQkFoQmUsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FBQTtRdEg5RVYsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHc0gwS3RDO0k1STNCRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNNEkvRS9DLEFBZ0JFLGlCQWhCZSxDQUNoQixRQUFRLENBZVAsWUFBWSxDQUFBO1FuSGdCWixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3NIMEt0QztFNUkzQkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0k0SS9FL0MsQUFnQkUsaUJBaEJlLENBQ2hCLFFBQVEsQ0FlUCxZQUFZLENBQUE7TXRIOUVWLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3NIMEt0QztJQTFHSCxBQTZCRyxpQkE3QmMsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhWCxhQUFhLEVBN0JoQixpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhSSxhQUFhLEVBN0IvQixpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhbUIsY0FBYyxDQUFDO01uSEc5QyxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3NIeUdyQztNNUlzQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UTRJL0UvQyxBQTZCRyxpQkE3QmMsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhWCxhQUFhLEVBN0JoQixpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhSSxhQUFhLEVBN0IvQixpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhbUIsY0FBYyxDQUFDO1V0SDNGNUMsYUFBYSxFQUZILE9BQTJCO1VBR3JDLFlBQVksRUFIRixPQUEyQixHc0h5R3JDO001SXNDRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRNEkvRS9DLEFBNkJHLGlCQTdCYyxDQUNoQixRQUFRLENBZVAsWUFBWSxDQWFYLGFBQWEsRUE3QmhCLGlCQUFpQixDQUNoQixRQUFRLENBZVAsWUFBWSxDQWFJLGFBQWEsRUE3Qi9CLGlCQUFpQixDQUNoQixRQUFRLENBZVAsWUFBWSxDQWFtQixjQUFjLENBQUM7VW5IRzlDLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7VU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7VUdQbkQsYUFBYSxFQUZILFNBQTJCO1VBR3JDLFlBQVksRUFIRixTQUEyQixHc0h5R3JDO0U1SXNDRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STRJL0UvQyxBQTZCRyxpQkE3QmMsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhWCxhQUFhLEVBN0JoQixpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhSSxhQUFhLEVBN0IvQixpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhbUIsY0FBYyxDQUFDO010SDNGNUMsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHc0h5R3JDO001SXNDRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRNEkvRS9DLEFBb0NJLGlCQXBDYSxDQUNoQixRQUFRLENBZVAsWUFBWSxDQWFYLGFBQWEsQUFPWCxJQUFLLENKbVlELGNBQWMsR0l2YXZCLGlCQUFpQixDQUNoQixRQUFRLENBZVAsWUFBWSxDQWFJLGFBQWEsQUFPMUIsSUFBSyxDSm1ZRCxjQUFjLEdJdmF2QixpQkFBaUIsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0FhbUIsY0FBYyxBQU8xQyxJQUFLLENKbVlELGNBQWMsRUluWUc7VUFFcEIsVUFBVSxFQUFFLEdBQUcsR0FFaEI7SUF4Q0wsQUFvREcsaUJBcERjLENBQ2hCLFFBQVEsQ0FlUCxZQUFZLENBb0NYLEVBQUUsQ0FBQztNQUVGLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFQUFFLE9BQWdCO01BQ3ZCLGFBQWEsRUFBRSxLQUFLLEdBQ3BCO0lBMURKLEFBNERHLGlCQTVEYyxDQUNoQixRQUFRLENBZVAsWUFBWSxDQTRDWCxDQUFDLEVBNURKLGlCQUFpQixDQUNoQixRQUFRLENBZVAsWUFBWSxDUjBKWixVQUFVLENROUdQO01BQ0QsYUFBYSxFQUFFLENBQUM7TUFDaEIsS0FBSyxFckpuRkQsT0FBTyxHcUp1Rlg7SUFsRUosQUFvRUcsaUJBcEVjLENBQ2hCLFFBQVEsQ0FlUCxZQUFZLENBb0RYLENBQUMsQ0FBQztNQUNELEtBQUssRXJKMUZELE9BQU87TXFKMkZYLG1CQUFtQixFckozRmYsT0FBTyxDcUoyRmlCLFVBQVUsR0FPdEM7TUE3RUosQUF3RUksaUJBeEVhLENBQ2hCLFFBQVEsQ0FlUCxZQUFZLENBb0RYLENBQUMsQUFJQyxNQUFNLENBQUM7UUFDUCxLQUFLLEVySjlGRixPQUFPO1FxSitGVixtQkFBbUIsRXJKL0ZoQixPQUFPLENxSitGa0IsVUFBVTtRQUN0QyxXQUFXLEVBQUUsR0FBRyxHQUNoQjtJQTVFTCxBQStFRyxpQkEvRWMsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0ErRFgsQ0FBQyxBQUFBLFdBQVcsQ0FBQztNQUNaLE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUFBRSxJQUFJO01BQ1gsYUFBYSxFQUFFLGVBQWU7TUFDOUIsV0FBVyxFQUFFLEtBQUssR0FzQmxCO01BekdKLEFBcUZJLGlCQXJGYSxDQUNoQixRQUFRLENBZVAsWUFBWSxDQStEWCxDQUFDLEFBQUEsV0FBVyxDQU1YLFNBQVMsQ0FBQztRQUNULE1BQU0sRUFBRSxNQUFNO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixZQUFZLEVBQUUsSUFBSTtRQUNsQixJQUFJLEVBQUUsWUFBWTtRQUNsQixLQUFLLEVySjNHTyxPQUFPLEdxSjRHbkI7TUEzRkwsQUE4RkssaUJBOUZZLENBQ2hCLFFBQVEsQ0FlUCxZQUFZLENBK0RYLENBQUMsQUFBQSxXQUFXLEFBY1YsTUFBTSxDQUNOLFNBQVMsQ0FBQztRQUVULEtBQUssRUFBRSxPQUF5QixHQUNoQztNQWpHTixBQW9HSSxpQkFwR2EsQ0FDaEIsUUFBUSxDQWVQLFlBQVksQ0ErRFgsQ0FBQyxBQUFBLFdBQVcsQ0FxQlgsYUFBYSxDQUFDO1FBQ2IsTUFBTSxFQUFFLE1BQU07UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLFVBQVUsRUFBRSxPQUFPLEdBQ25CO0VBeEdMLEFBNEdFLGlCQTVHZSxDQUNoQixRQUFRLENBMkdQLFlBQVksQ0FBQztJbkg1RWIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCLEdzSG1MdEM7STVJcENHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO000SS9FL0MsQUE0R0UsaUJBNUdlLENBQ2hCLFFBQVEsQ0EyR1AsWUFBWSxDQUFDO1F0SDFLWCxhQUFhLEVBRkgsT0FBMkI7UUFHckMsWUFBWSxFQUhGLE9BQTJCLEdzSG1MdEM7STVJcENHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO000SS9FL0MsQUE0R0UsaUJBNUdlLENBQ2hCLFFBQVEsQ0EyR1AsWUFBWSxDQUFDO1FuSDVFYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3NIbUx0QztFNUlwQ0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0k0SS9FL0MsQUE0R0UsaUJBNUdlLENBQ2hCLFFBQVEsQ0EyR1AsWUFBWSxDQUFDO010SDFLWCxhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdzSG1MdEM7RUFuSEgsQUFxSEUsaUJBckhlLENBQ2hCLFFBQVEsQ0FvSFAsYUFBYSxDQUFDO0lBRWIsVUFBVSxFcko1SUwsT0FBTztJcUo4SVosYUFBYSxFQUFFLEdBQUc7SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxtQkFBa0IsR0FFaEQ7O0FBSUgsQUFBQSxlQUFlLENBQUM7RUFDZixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsY0FBYyxFQUFFLE1BQU0sR0FDdEI7O0FBR0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNqQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsQ0FBQyxHQW1MakI7RUFyTEQsQUFTRSxpQkFUZSxDQUloQixRQUFRLENBS1AsQ0FBQyxFQVRILGlCQUFpQixDQUloQixRQUFRLENSNkJQLFVBQVUsQ1F4QlI7SUFDRCxhQUFhLEVBQUUsTUFBTSxHQUNyQjtFQVhILEFBYUUsaUJBYmUsQ0FJaEIsUUFBUSxDQVNQLENBQUMsQUFBQSxXQUFXLENBQUM7SUFDWixPQUFPLEVBQUUsWUFBWTtJQUNyQixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxlQUFlO0lBQzlCLFdBQVcsRUFBRSxLQUFLLEdBT2xCO0lBeEJILEFBbUJHLGlCQW5CYyxDQUloQixRQUFRLENBU1AsQ0FBQyxBQUFBLFdBQVcsQ0FNWCxTQUFTLENBQUM7TUFDVCxNQUFNLEVBQUUsTUFBTTtNQUNkLEtBQUssRUFBRSxNQUFNO01BQ2IsWUFBWSxFQUFFLElBQUksR0FDbEI7RUF2QkosQUE2QkUsaUJBN0JlLENBNEJoQixnQkFBZ0IsQ0FDZixhQUFhO0VBN0JmLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBRWYsZ0JBQWdCO0VBOUJsQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUdmLGFBQWE7RUEvQmYsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FJZixlQUFlO0VBaENqQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUtmLGNBQWMsQ0FBQztJbkgxSWYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztJTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztJR1BuRCxhQUFhLEVBRkgsU0FBMkI7SUFHckMsWUFBWSxFQUhGLFNBQTJCO0lzSDRPdEMsY0FBYyxFQUFFLElBQUksR0FRcEI7STVJckdHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO000STBEL0MsQUE2QkUsaUJBN0JlLENBNEJoQixnQkFBZ0IsQ0FDZixhQUFhO01BN0JmLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBRWYsZ0JBQWdCO01BOUJsQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUdmLGFBQWE7TUEvQmYsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FJZixlQUFlO01BaENqQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUtmLGNBQWMsQ0FBQztRdEh4T2IsYUFBYSxFQUZILE9BQTJCO1FBR3JDLFlBQVksRUFIRixPQUEyQixHc0hvUHRDO0k1SXJHRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNNEkwRC9DLEFBNkJFLGlCQTdCZSxDQTRCaEIsZ0JBQWdCLENBQ2YsYUFBYTtNQTdCZixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUVmLGdCQUFnQjtNQTlCbEIsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FHZixhQUFhO01BL0JmLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBSWYsZUFBZTtNQWhDakIsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FLZixjQUFjLENBQUM7UW5IMUlmLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHc0hvUHRDO0U1SXJHRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STRJMEQvQyxBQTZCRSxpQkE3QmUsQ0E0QmhCLGdCQUFnQixDQUNmLGFBQWE7SUE3QmYsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FFZixnQkFBZ0I7SUE5QmxCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBR2YsYUFBYTtJQS9CZixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUlmLGVBQWU7SUFoQ2pCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBS2YsY0FBYyxDQUFDO010SHhPYixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdzSG9QdEM7STVJckdHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO000STBEbkQsQUE2QkUsaUJBN0JlLENBNEJoQixnQkFBZ0IsQ0FDZixhQUFhO01BN0JmLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBRWYsZ0JBQWdCO01BOUJsQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUdmLGFBQWE7TUEvQmYsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FJZixlQUFlO01BaENqQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUtmLGNBQWMsQ0FBQztRbkgxSWYsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztRTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztRR1BuRCxhQUFhLEVBRkgsU0FBMkI7UUFHckMsWUFBWSxFQUhGLFNBQTJCLEdzSG9QdEM7RTVJckdHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STRJMEQvQyxBQTZCRSxpQkE3QmUsQ0E0QmhCLGdCQUFnQixDQUNmLGFBQWE7SUE3QmYsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FFZixnQkFBZ0I7SUE5QmxCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBR2YsYUFBYTtJQS9CZixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQUlmLGVBQWU7SUFoQ2pCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBS2YsY0FBYyxDQUFDO010SHhPYixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdzSG9QdEM7RUEzQ0gsQUE2Q0UsaUJBN0NlLENBNEJoQixnQkFBZ0IsQ0FpQmYsYUFBYSxDQUFDO0luSHRKZCxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0lNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0lHUG5ELGFBQWEsRUFGSCxTQUEyQjtJQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3NIa1N0QztJNUluSkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTRJMEQvQyxBQTZDRSxpQkE3Q2UsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBQUM7UXRIcFBaLGFBQWEsRUFGSCxPQUEyQjtRQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3NIa1N0QztJNUluSkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TTRJMEQvQyxBQTZDRSxpQkE3Q2UsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBQUM7UW5IdEpkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7UU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHc0hrU3RDO0U1SW5KRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7STRJMEQvQyxBQTZDRSxpQkE3Q2UsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBQUM7TXRIcFBaLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3NIa1N0QztJNUluSkcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7TTRJMERuRCxBQTZDRSxpQkE3Q2UsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBQUM7UW5IdEpkLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHc0hrU3RDO0U1SW5KRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0k0STBEL0MsQUE2Q0UsaUJBN0NlLENBNEJoQixnQkFBZ0IsQ0FpQmYsYUFBYSxDQUFDO010SHBQWixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdzSGtTdEM7SUF6RkgsQUE2REcsaUJBN0RjLENBNEJoQixnQkFBZ0IsQ0FpQmYsYUFBYSxDQWdCWixjQUFjLEVBN0RqQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBZ0JJLGVBQWUsQ0FBQztNbkh0S2pDLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7TU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQjtNc0hzUnJDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDckoxTUMsT0FBTztNcUoyTXpCLE9BQU8sRUFBRSxJQUFJLEdBQ2I7TTVJeklFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1E0STBEL0MsQUE2REcsaUJBN0RjLENBNEJoQixnQkFBZ0IsQ0FpQmYsYUFBYSxDQWdCWixjQUFjLEVBN0RqQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBZ0JJLGVBQWUsQ0FBQztVdEhwUS9CLGFBQWEsRUFGSCxPQUEyQjtVQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3NId1JyQztNNUl6SUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTRJMERuRCxBQTZERyxpQkE3RGMsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBZ0JaLGNBQWMsRUE3RGpCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBaUJmLGFBQWEsQ0FnQkksZUFBZSxDQUFDO1VuSHRLakMsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdzSHdSckM7RTVJeklFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STRJMEQvQyxBQTZERyxpQkE3RGMsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBZ0JaLGNBQWMsRUE3RGpCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBaUJmLGFBQWEsQ0FnQkksZUFBZSxDQUFDO010SHBRL0IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHc0h3UnJDO001SXpJRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtRNEkwRC9DLEFBNkRHLGlCQTdEYyxDQTRCaEIsZ0JBQWdCLENBaUJmLGFBQWEsQ0FnQlosY0FBYyxFQTdEakIsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0FpQmYsYUFBYSxDQWdCSSxlQUFlLENBQUM7VW5IdEtqQyxJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1VNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1VHUG5ELGFBQWEsRUFGSCxTQUEyQjtVQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3NId1JyQztFNUl6SUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0k0STBEL0MsQUE2REcsaUJBN0RjLENBNEJoQixnQkFBZ0IsQ0FpQmYsYUFBYSxDQWdCWixjQUFjLEVBN0RqQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBZ0JJLGVBQWUsQ0FBQztNdEhwUS9CLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3NId1JyQztNNUl6SUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7UTRJMERuRCxBQTZERyxpQkE3RGMsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBZ0JaLGNBQWMsRUE3RGpCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBaUJmLGFBQWEsQ0FnQkksZUFBZSxDQUFDO1VuSHRLakMsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztVTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztVR1BuRCxhQUFhLEVBRkgsU0FBMkI7VUFHckMsWUFBWSxFQUhGLFNBQTJCLEdzSHdSckM7RTVJeklFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STRJMEQvQyxBQTZERyxpQkE3RGMsQ0E0QmhCLGdCQUFnQixDQWlCZixhQUFhLENBZ0JaLGNBQWMsRUE3RGpCLGlCQUFpQixDQTRCaEIsZ0JBQWdCLENBaUJmLGFBQWEsQ0FnQkksZUFBZSxDQUFDO010SHBRL0IsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHc0h3UnJDO0k1SXpJRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtNNEkwRG5ELEFBaUZHLGlCQWpGYyxDQTRCaEIsZ0JBQWdCLENBaUJmLGFBQWEsQ0FvQ1osZUFBZSxDQUFDO1FBRWQsVUFBVSxFQUFFLElBQUksR0FHakI7RTVJaEpFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0k0STBEbkQsQUEyRkUsaUJBM0ZlLENBNEJoQixnQkFBZ0IsQ0ErRGYsY0FBYyxFQTNGaEIsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0ErREMsZUFBZSxDQUFDO01uSHBNaEMsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCO01zSDBTckMsVUFBVSxFQUFFLE1BQU0sR0FPbkI7RTVJbEtHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7STRJMEQvQyxBQTJGRSxpQkEzRmUsQ0E0QmhCLGdCQUFnQixDQStEZixjQUFjLEVBM0ZoQixpQkFBaUIsQ0E0QmhCLGdCQUFnQixDQStEQyxlQUFlLENBQUM7TXRIbFM5QixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEdzSGlUdEM7RUF4R0gsQUFvR0csaUJBcEdjLENBNEJoQixnQkFBZ0IsQ0ErRGYsY0FBYyxDQVNiLE9BQU8sRUFwR1YsaUJBQWlCLENBNEJoQixnQkFBZ0IsQ0ErREMsZUFBZSxDQVM5QixPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsS0FBSztJQUNqQixhQUFhLEVBQUUsQ0FBQyxHQUNoQjtFQXZHSixBQWtIRyxpQkFsSGMsQ0EyR2hCLGFBQWEsQ0FFWixjQUFjLENBS2IsQ0FBQyxFQWxISixpQkFBaUIsQ0EyR2hCLGFBQWEsQ0FFWixjQUFjLENSNUVkLFVBQVUsRVFqQ1osaUJBQWlCLENBMkdoQixhQUFhLENBRUksZUFBZSxDQUs5QixDQUFDLEVBbEhKLGlCQUFpQixDQTJHaEIsYUFBYSxDQUVJLGVBQWUsQ1I1RS9CLFVBQVUsQ1FpRlA7SUFDRCxhQUFhLEVBQUUsR0FBRyxHQUNsQjtFQXBISixBQXVIRSxpQkF2SGUsQ0EyR2hCLGFBQWEsQ0FZWixpQkFBaUIsQ0FBQztJQUNqQixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxJQUFJLEdBR2Y7RUE1SEgsQUE4SEUsaUJBOUhlLENBMkdoQixhQUFhLENBbUJaLFdBQVcsQ0FBQztJQUVYLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLEdBQ2Y7RUFsSUgsQUFvSUUsaUJBcEllLENBMkdoQixhQUFhLENBeUJaLGFBQWEsQ0FBQztJQUViLFNBQVMsRUFBRSxJQUFJLEdBQ2Y7RUF2SUgsQUEySUUsaUJBM0llLENBMkdoQixhQUFhLENBZ0NaLEVBQUUsQ0FBQztJQUNGLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLEtBQUssR0FDcEI7RUEvSUgsQUFpSkUsaUJBakplLENBMkdoQixhQUFhLENBc0NaLGVBQWUsQ0FBQztJQUNmLFVBQVUsRXJKNVJJLE9BQU8sR3FKbVNyQjtFQXpKSCxBQXVIRSxpQkF2SGUsQ0EyR2hCLGFBQWEsQ0FZWixpQkFBaUIsQ0FvQ0M7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixjQUFjLEVBQUUsTUFBTSxHQUN0QjtFQTlKSCxBQW1LRSxpQkFuS2UsQ0EyR2hCLGFBQWEsQ0F3RFosMEJBQTBCLENBQUM7SUFDMUIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFckp4U1EsT0FBTztJcUp5U3BCLFdBQVcsRUFBRSxHQUFHLEdBQ2hCO0VBdktILEFBNEtFLGlCQTVLZSxDQTBLaEIsZ0JBQWdCLENBRWYsZ0JBQWdCLENBQUM7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLElBQUksR0FDZjs7QUFRSCxBQUFBLFlBQVksQ0FBQztFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBa0JwQjtFQXBCRCxBQUlDLFlBSlcsQ0FJWCxJQUFJLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxLQUFLLEdBQ2I7RUFQRixBQVVFLFlBVlUsQ0FTWCx1QkFBdUIsQ0FDdEIsR0FBRyxDQUFDO0lBQ0gsTUFBTSxFQUFFLE1BQU07SUFFZCxNQUFNLEVBQUUsWUFBWSxHQUNwQjtFQWRILEFBZ0JFLFlBaEJVLENBU1gsdUJBQXVCLENBT3RCLENBQUMsRUFoQkgsWUFBWSxDQVNYLHVCQUF1QixDUi9KdEIsVUFBVSxDUXNLUjtJQUNELGFBQWEsRUFBRSxDQUFDLEdBQ2hCOztBQ3RhSCxBQUdDLGFBSFksQ0FHWixVQUFVLENBQUM7RUFDVixPQUFPLEVBQUUsU0FBUyxHQVNsQjtFQWJGLEFBU0csYUFUVSxDQUdaLFVBQVUsQ0FHVCxRQUFRLENBR1AsUUFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLE1BQU0sR0FDZjs7QUFYSixBQWVDLGFBZlksQ0FlWixJQUFJLENBQUM7RUFDSixLQUFLLEV0SitDQyxPQUFPO0VzSjlDYixTQUFTLEVBQUUsS0FBSztFQUNoQixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QUFHRixBQUVDLGNBRmEsQ0FFYixRQUFRLENBQUM7RTNIeUVSLFNBQVMsRXhCVEMsS0FBNkM7RStCbERyRCxZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUlqQixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxHQUFHLENBbEJDLElBQUk7RW9IQXJCLGNBQWMsRUFBRSxJQUFJLEdBS3BCO0U3SW9JSSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJNkk3SS9DLEFBRUMsY0FGYSxDQUViLFFBQVEsQ0FBQztNQUtQLFdBQVcsRUFBRSxJQUFJLEdBRWxCOztBQVRGLEFBV0MsY0FYYSxDQVdiLGlCQUFpQixDQUFDO0VwSG1GakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxJQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxJQUF5QztFR1BuRCxhQUFhLEU1QnVFTCxDQUFDO0U0QnRFVCxZQUFZLEU1QnNFSixDQUFDO0VtSnpEWCxPQUFPLEVBQUUsTUFBTTtFQUNmLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDdEoyREosT0FBTyxHc0pqRDNCO0U3SW9ISSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJNkk3SS9DLEFBV0MsY0FYYSxDQVdiLGlCQUFpQixDQUFDO01wSG1GakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztNR1BuRCxhQUFhLEU1QnVFTCxDQUFDO000QnRFVCxZQUFZLEU1QnNFSixDQUFDO01tSnBEVixZQUFZLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ3RKdURKLE9BQU87TXNKdEQxQixtQkFBbUIsRUFBRSxDQUFDLEdBS3ZCO0U3SW9ISSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJNkk3SS9DLEFBV0MsY0FYYSxDQVdiLGlCQUFpQixDQUFDO01wSG1GakIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEU1QnVFTCxDQUFDO000QnRFVCxZQUFZLEU1QnNFSixDQUFDLEdtSjlDWDs7QUF6QkYsQUEyQkMsY0EzQmEsQ0EyQmIsZ0JBQWdCLENBQUE7RUFDZixPQUFPLEVBQUUsTUFBTSxHQU1mO0U3STJHSSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJNkk3SS9DLEFBMkJDLGNBM0JhLENBMkJiLGdCQUFnQixDQUFBO01BSWQsWUFBWSxFQUFFLElBQUksR0FHbkI7O0FDeERGLEFBQUEsZUFBZSxDQUFDO0VBQ2YsVUFBVSxFdkprRk0sT0FBTztFdUo3RXZCLE9BQU8sRUFBRSxjQUFjLEdBb0Z2QjtFQTFGRCxBQVlFLGVBWmEsQ0FRZCxVQUFVLENBSVQsV0FBVyxDQUFDO0k1SHFGWixTQUFTLEVBSEEsSUFBSTtJT3hEWCxZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUlqQixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxHQUFHLENBbEJDLElBQUk7SUEyRXJCLFNBQVMsRUFBRSxJQUFJLEdxSGZkO0lBdEZILEFySHVHRSxlcUh2R2EsQ0FRZCxVQUFVLENBSVQsV0FBVyxHckgyRlQsWUFBWSxDQUFDO01BR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7TUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0l6QnVERyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNOEluSy9DLEFBWUUsZUFaYSxDQVFkLFVBQVUsQ0FJVCxXQUFXLENBQUM7UXJIeUZaLFNBQVMsRUFBRSxJQUFJLEdxSGZkO1FBdEZILEFySHVHRSxlcUh2R2EsQ0FRZCxVQUFVLENBSVQsV0FBVyxHckgyRlQsWUFBWSxDQUFDO1VBR2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRkgsR0FBZ0I7VUFHdEIsU0FBUyxFQUhILEdBQWdCLEdBSXZCO0lxSDVHSCxBQXNCRyxlQXRCWSxDQVFkLFVBQVUsQ0FJVCxXQUFXLENBVVYsWUFBWSxDQUFDO01BRVosU0FBUyxFQUFFLE1BQU0sR0E2RGpCO005SThFRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtROEluSy9DLEFBNEJLLGVBNUJVLENBUWQsVUFBVSxDQUlULFdBQVcsQ0FVVixZQUFZLEFBTVQsYUFBYSxDQUFDLEVBQUUsQ0FBQztVQUNqQixhQUFhLEVBQUUsQ0FBQyxHQUNoQjtNQTlCTixBQWlDSSxlQWpDVyxDQVFkLFVBQVUsQ0FJVCxXQUFXLENBVVYsWUFBWSxDQVdYLEVBQUUsQ0FBQztRQUNGLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsYUFBYSxFQUFFLE9BQU87UUFDdEIsYUFBYSxFQUFFLE9BQU8sR0ErQ3RCO1E5SStFQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtVOEluSy9DLEFBaUNJLGVBakNXLENBUWQsVUFBVSxDQUlULFdBQVcsQ0FVVixZQUFZLENBV1gsRUFBRSxDQUFDO1lBT0QsYUFBYSxFQUFFLE1BQU0sR0E0Q3RCO1FBcEZMLEFBMkNLLGVBM0NVLENBUWQsVUFBVSxDQUlULFdBQVcsQ0FVVixZQUFZLENBV1gsRUFBRSxDQVVELEVBQUUsQ0FBQztVQUNGLFdBQVcsRUFBRSxJQUFJO1VBQ2pCLGNBQWMsRUFBRSxJQUFJO1VBQ3BCLFdBQVcsRUFBRSxHQUFHLEdBY2hCO1VBNUROLEFBaURNLGVBakRTLENBUWQsVUFBVSxDQUlULFdBQVcsQ0FVVixZQUFZLENBV1gsRUFBRSxDQVVELEVBQUUsQ0FNRCxDQUFDLENBQUM7WUFHRCxLQUFLLEV2SlVKLE9BQU8sR3VKSFI7WUEzRFAsQUF1RE8sZUF2RFEsQ0FRZCxVQUFVLENBSVQsV0FBVyxDQVVWLFlBQVksQ0FXWCxFQUFFLENBVUQsRUFBRSxDQU1ELENBQUMsQUFNQyxNQUFNLENBQUM7Y0FDUCxlQUFlLEVBQUUsU0FBUztjQUMxQixLQUFLLEVBQUUsT0FBTyxHQUNkO1FBMURSLEFBOERLLGVBOURVLENBUWQsVUFBVSxDQUlULFdBQVcsQ0FVVixZQUFZLENBV1gsRUFBRSxDQTZCRCxFQUFFLENBQUM7VUFFRixXQUFXLEV2Sm9ERSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVTtVdUpuRDlELEtBQUssRXZKMEJLLE9BQU87VXVKekJqQixjQUFjLEVBQUUsU0FBUztVQUN6QixTQUFTLEVBQUUsR0FBRztVQUNkLFdBQVcsRUFBRSxHQUFHLEdBTWhCO1FBMUVOLEFBNEVLLGVBNUVVLENBUWQsVUFBVSxDQUlULFdBQVcsQ0FVVixZQUFZLENBV1gsRUFBRSxDQTJDRCxNQUFNLENBQUM7VUFFTixLQUFLLEV2SmFLLE9BQU87VXVKWmpCLGNBQWMsRUFBRSxTQUFTO1VBQ3pCLFNBQVMsRUFBRSxHQUFHO1VBQ2QsV0FBVyxFQUFFLEdBQUcsR0FFaEI7O0FBU04sQUFBQSxVQUFVLENBQUM7RUFDVixVQUFVLEV2SlJNLE9BQU87RXVKU3ZCLE9BQU8sRUFBRSxjQUFjLEdBNEh2QjtFQTlIRCxBQUlDLFVBSlMsQ0FJVCxVQUFVLENBQUM7SUFDVixXQUFXLEVBQUUsS0FBSyxHQXdIbEI7SUE3SEYsQUFPRSxVQVBRLENBSVQsVUFBVSxDQUdULENBQUMsQ0FBQztNQUNELEtBQUssRXZKdENBLE9BQU8sR3VKMkNaO01BYkgsQUFVRyxVQVZPLENBSVQsVUFBVSxDQUdULENBQUMsQUFHQyxNQUFNLENBQUM7UUFDUCxlQUFlLEVBQUUsU0FBUyxHQUMxQjtJQVpKLEFBZUksVUFmTSxDQUlULFVBQVUsQ0FXUCxjQUFjLEVBZmxCLFVBQVUsQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQWpEQztNNUhWakIsU0FBUyxFeEJUQyxLQUE2QztNK0JsRHJELFlBQVksRUFBRSxJQUFJO01BQ2xCLFdBQVcsRUFBRSxJQUFJO01BSWpCLE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLEdBQUcsQ0FsQkMsSUFBSTtNcUhtRnBCLFNBQVMsRUFBRSxLQUFLLEdBNkNoQjtNQTlESCxBQW1CRyxVQW5CTyxDQUlULFVBQVUsQ0FXUCxjQUFjLENBSWYsV0FBVyxFQW5CZCxVQUFVLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0E3Q2YsV0FBVyxFQW5CZCxVQUFVLENBSVQsVUFBVSxDQVdQLGNBQWMsQ0FJRixZQUFZLEVBbkI1QixVQUFVLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0E3Q0YsWUFBWSxDQUFDO1FySEszQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO1FHUG5ELGFBQWEsRTVCdUVMLENBQUM7UTRCdEVULFlBQVksRTVCc0VKLENBQUM7UW9Kb0JULE9BQU8sRUFBRSxTQUFTLEdBZWxCO1E5SW1DRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtVOEl2RS9DLEFBbUJHLFVBbkJPLENBSVQsVUFBVSxDQVdQLGNBQWMsQ0FJZixXQUFXLEVBbkJkLFVBQVUsQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQTdDZixXQUFXLEVBbkJkLFVBQVUsQ0FJVCxVQUFVLENBV1AsY0FBYyxDQUlGLFlBQVksRUFuQjVCLFVBQVUsQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQTdDRixZQUFZLENBQUM7WXJISzNCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7WU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7WUdQbkQsYUFBYSxFNUJ1RUwsQ0FBQztZNEJ0RVQsWUFBWSxFNUJzRUosQ0FBQyxHb0ptQ1Q7UUFwQ0osQUEyQkksVUEzQk0sQ0FJVCxVQUFVLENBV1AsY0FBYyxDQUlmLFdBQVcsQ0FRVixFQUFFLEVBM0JOLFVBQVUsQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQTdDZixXQUFXLENBUVYsRUFBRSxFQTNCTixVQUFVLENBSVQsVUFBVSxDQVdQLGNBQWMsQ0FJRixZQUFZLENBUXhCLEVBQUUsRUEzQk4sVUFBVSxDQUlULFVBQVUsQ0E0RFQsZ0JBQWdCLENBN0NGLFlBQVksQ0FReEIsRUFBRSxDQUFDO1VBQ0YsZUFBZSxFQUFFLElBQUk7VUFDckIsTUFBTSxFQUFDLENBQUMsR0FNUjtVQW5DTCxBQStCSyxVQS9CSyxDQUlULFVBQVUsQ0FXUCxjQUFjLENBSWYsV0FBVyxDQVFWLEVBQUUsQ0FJRCxFQUFFLEVBL0JQLFVBQVUsQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQTdDZixXQUFXLENBUVYsRUFBRSxDQUlELEVBQUUsRUEvQlAsVUFBVSxDQUlULFVBQVUsQ0FXUCxjQUFjLENBSUYsWUFBWSxDQVF4QixFQUFFLENBSUQsRUFBRSxFQS9CUCxVQUFVLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0E3Q0YsWUFBWSxDQVF4QixFQUFFLENBSUQsRUFBRSxDQUFDO1lBQ0YsUUFBUSxFQUFDLFFBQVE7WUFDakIsT0FBTyxFQUFDLFlBQVksR0FDcEI7TUFsQ04sQUF3Q0ssVUF4Q0ssQ0FJVCxVQUFVLENBV1AsY0FBYyxDQUlmLFdBQVcsQ0FRVixFQUFFLENBSUQsRUFBRSxFQS9CUCxVQUFVLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0E3Q2YsV0FBVyxDQVFWLEVBQUUsQ0FJRCxFQUFFLENBU0M7UUFDRixZQUFZLEVBQUUsR0FBRyxHQUNqQjtNOUk2QkEsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7UThJdkUvQyxBQThDRyxVQTlDTyxDQUlULFVBQVUsQ0FXUCxjQUFjLENBSUYsWUFBWSxFQW5CNUIsVUFBVSxDQUlULFVBQVUsQ0E0RFQsZ0JBQWdCLENBN0NGLFlBQVksQ0EyQlo7VUFFWCxVQUFVLEVBQUUsS0FBSyxHQWFsQjtNQTdESixBQXFESyxVQXJESyxDQUlULFVBQVUsQ0FXUCxjQUFjLENBSUYsWUFBWSxDQVF4QixFQUFFLENBSUQsRUFBRSxFQS9CUCxVQUFVLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0E3Q0YsWUFBWSxDQVF4QixFQUFFLENBSUQsRUFBRSxDQXNCQztRQUNGLGFBQWEsRUFBQyxHQUFHLEdBS2pCO1FBM0ROLEFBd0RNLFVBeERJLENBSVQsVUFBVSxDQVdQLGNBQWMsQ0ErQmYsWUFBWSxDQUtYLEVBQUUsQ0FFRCxFQUFFLEFBR0EsYUFBYSxFQXhEcEIsVUFBVSxDQUlULFVBQVUsQ0E0RFQsZ0JBQWdCLENBbEJmLFlBQVksQ0FLWCxFQUFFLENBRUQsRUFBRSxBQUdBLGFBQWEsQ0FBQztVQUNkLGFBQWEsRUFBRSxDQUFDLEdBQ2hCO0lBMURQLEFBdUVHLFVBdkVPLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0FPZixXQUFXLENBQUM7TTVIbEViLFNBQVMsRXhCVEMsS0FBNkM7TStCbERyRCxZQUFZLEVBQUUsSUFBSTtNQUNsQixXQUFXLEVBQUUsSUFBSTtNQUlqQixPQUFPLEVBQUUsSUFBSTtNQUNiLFNBQVMsRUFBRSxHQUFHLENBbEJDLElBQUk7TTFCNkJyQixlQUFlLEVBckRnQyxVQUFVLEcrSXNMdkQ7TTlJckJFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO1E4SXZFL0MsQUF1RUcsVUF2RU8sQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQU9mLFdBQVcsQ0FBQztVL0k1R2IsZUFBZSxFQXBEbUMsUUFBUSxHK0lxTHhEO01BNUZKLEFBZ0ZJLFVBaEZNLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0FPZixXQUFXLENBU1YsWUFBWSxFQWhGaEIsVUFBVSxDQUlULFVBQVUsQ0E0RFQsZ0JBQWdCLENBT2YsV0FBVyxDQVNJLFlBQVksQ0FBQztRckh4RDdCLElBQUksRUFyREssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FIekNmLGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3dIMEpwQztROUlYQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtVOEl2RS9DLEFBZ0ZJLFVBaEZNLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0FPZixXQUFXLENBU1YsWUFBWSxFQWhGaEIsVUFBVSxDQUlULFVBQVUsQ0E0RFQsZ0JBQWdCLENBT2YsV0FBVyxDQVNJLFlBQVksQ0FBQztZeEh0SjNCLGFBQWEsRUFGSCxPQUEyQjtZQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3dIMEpwQztNQWxGTCxBQW9GSSxVQXBGTSxDQUlULFVBQVUsQ0E0RFQsZ0JBQWdCLENBT2YsV0FBVyxDQWFWLFlBQVksQ0FBQztRQUNaLFlBQVksRUFBRSxDQUFDLEdBQ2Y7TUF0RkwsQUF3RkksVUF4Rk0sQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQU9mLFdBQVcsQ0FpQlYsWUFBWSxDQUFDO1FBQ1osVUFBVSxFQUFFLE9BQU87UUFDbkIsYUFBYSxFQUFFLENBQUMsR0FDaEI7SUEzRkwsQUErRkksVUEvRk0sQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQThCZixFQUFFLENBQ0QsRUFBRSxDQUFDO01BQ0YsT0FBTyxFQUFFLFlBQVksR0FhckI7TUE3R0wsQUFvR0ssVUFwR0ssQ0FJVCxVQUFVLENBNERULGdCQUFnQixDQThCZixFQUFFLENBQ0QsRUFBRSxDQUtELENBQUMsQ0FBQztRQUNELE9BQU8sRUFBRyxLQUFLO1FBQ2YsTUFBTSxFQUp3QixNQUFNLEdBS3BDO01BdkdOLEFBeUdLLFVBekdLLENBSVQsVUFBVSxDQTREVCxnQkFBZ0IsQ0E4QmYsRUFBRSxDQUNELEVBQUUsQ0FVRCxTQUFTLENBQUM7UUFDVCxNQUFNLEVBUndCLE1BQU07UUFTcEMsS0FBSyxFQVR5QixNQUFNLEdBVXBDO0lBNUdOLEFBaUhFLFVBakhRLENBSVQsVUFBVSxDQTZHVCxnQkFBZ0IsQ0FBQztNQUNoQixTQUFTLEVBQUUsS0FBSyxHQVVoQjtNQTVISCxBQW9IRyxVQXBITyxDQUlULFVBQVUsQ0E2R1QsZ0JBQWdCLEFBR2QsUUFBUSxDQUFDO1FBQ1QsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ3ZKM0hWLE9BQU87UXVKNEhsQixNQUFNLEVBQUUsR0FBRztRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxVQUFVLEVBQUUsTUFBTSxHQUNsQjs7QUNwTkosQUFBQSxTQUFTLENBQUM7RUFFVCxPQUFPLEVBQUUsUUFBUTtFQUVqQixLQUFLLEVBQUUsSUFBSTtFQUVYLFVBQVUsRUFBRSxPQUFnQixHQWM1QjtFQXBCRCxBQVFDLFNBUlEsQ0FRUixVQUFVLENBQUM7SVg0RlQsU0FBUyxFMUlmQSxLQUE2QztJMElnQnRELE1BQU0sRUFBRSxJQUFJLEdXM0ZiO0VBVkYsQUFhRSxTQWJPLENBWVIsTUFBTSxDQUNMLENBQUMsQ0FBQztJQUNELFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFFaEIsS0FBSyxFeEorQ1MsT0FBTyxHd0o5Q3JCOztBQUlILEFBQUEsa0JBQWtCLENBQUM7RUFDbEIsVUFBVSxFeEoyRE0sT0FBTyxHd0p6QnZCO0VBbkNELEFBR0Msa0JBSGlCLENBR2pCLFVBQVUsQ0FBQztJWDJFVCxTQUFTLEUxSWZBLEtBQTZDO0kwSWdCdEQsTUFBTSxFQUFFLElBQUk7SVcxRWIsT0FBTyxFQUFFLE1BQU0sR0FDZjtFQU5GLEFBUUMsa0JBUmlCLENBUWpCLEtBQUssQ0FBQztJQUNMLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJLEdBd0JsQjtJQWxDRixBQVlFLGtCQVpnQixDQVFqQixLQUFLLENBSUosRUFBRSxDQUFDO01BQ0YsU0FBUyxFQUFFLEtBQUssR0FDaEI7SUFkSCxBQWdCRSxrQkFoQmdCLENBUWpCLEtBQUssQ0FRSixFQUFFLEdBQUcsQ0FBQyxDQUFDO01BQ04sS0FBSyxFeEo2Q08sT0FBTztNd0o1Q25CLFdBQVcsRUFBQyxNQUFNO01BQ2xCLGNBQWMsRUFBQyxNQUFNLEdBU3JCO00vSThHRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtRK0kxSW5ELEFBZ0JFLGtCQWhCZ0IsQ0FRakIsS0FBSyxDQVFKLEVBQUUsR0FBRyxDQUFDLENBQUM7VUFNTCxPQUFPLEVBQUUsTUFBTSxHQU1oQjtNQTVCSCxBQXlCRyxrQkF6QmUsQ0FRakIsS0FBSyxDQVFKLEVBQUUsR0FBRyxDQUFDLEFBU0osTUFBTSxDQUFDO1FBQ1AsS0FBSyxFeEpnQlEsT0FBTyxHd0pmcEI7SUEzQkosQUE4QkUsa0JBOUJnQixDQVFqQixLQUFLLENBc0JKLEVBQUUsQUFBQSxPQUFPLEdBQUcsQ0FBQyxDQUFDO01BQ2IsVUFBVSxFeEpPTCxPQUFPO013Sk5aLEtBQUssRXhKVVMsT0FBTyxHd0pUckI7O0FBSUgsQUFDQyxnQkFEZSxDQUNmLGFBQWEsQ0FBQztFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3BCOztBQUdGLEFBQ0Msa0JBRGlCLENBQ2pCLFVBQVUsQ0FBQztFQUNWLFVBQVUsRUFBRSx1QkFBa0MsR0FDOUM7O0FBaUJGLEFBQUEsWUFBWSxDQUFDO0VBQ1osYUFBYSxFQUFFLEtBQUs7RUFDcEIsS0FBSyxFQUFFLE1BQU07RUFDYixNQUFNLEVBQUUsTUFBTTtFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsTUFBTTtFQUNkLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFVBQVUsRXhKUEssT0FBTztFd0pRdEIsZUFBZSxFQUFFLEtBQUssR0FPdEI7RUFqQkQsQUFhQyxZQWJXLENBYVgsR0FBRyxDQUFDO0lBQ0gsS0FBSyxFQUFDLEtBQUs7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNaOztBQWlCRixBQUVDLDJCQUYwQixDQUUxQixhQUFhLENBQUM7RUFDYixhQUFhLEVBQUUsSUFBSTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFdEhWZixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLElBQXlDO0VNMkZuRCxTQUFTLEVOM0ZDLElBQXlDO0VHUG5ELGFBQWEsRUFGSCxTQUEyQjtFQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3lIZ012QztFL0lqREksTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SStJekMvQyxBQUVDLDJCQUYwQixDQUUxQixhQUFhLENBQUM7TXpIdEdYLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3lIZ012QztFL0lqREksTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SStJekMvQyxBQUVDLDJCQUYwQixDQUUxQixhQUFhLENBQUM7TXRIUmIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEd5SGdNdkM7RS9JakRJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsSUFBSTtJK0l6Qy9DLEFBRUMsMkJBRjBCLENBRTFCLGFBQWEsQ0FBQztNekh0R1gsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHeUhnTXZDO0UvSWpESSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJK0l6Q25ELEFBRUMsMkJBRjBCLENBRTFCLGFBQWEsQ0FBQztNdEhSYixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3lIZ012QztFL0lqREksTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsSUFBSTtJK0l6Qy9DLEFBRUMsMkJBRjBCLENBRTFCLGFBQWEsQ0FBQztNekh0R1gsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHeUhnTXZDO0VBMUZGLEFBaUJFLDJCQWpCeUIsQ0FFMUIsYUFBYSxDQWVaLE9BQU8sQ0FBQztJZG5IUixhQUFhLEVBQUMsR0FBQztJQUNmLHFCQUFxQixFQUFDLEdBQUM7SUFDdkIsa0JBQWtCLEVBQUMsR0FBQztJQUNwQixpQkFBaUIsRUFBQyxHQUFDO0lBQ25CLGdCQUFnQixFQUFDLEdBQUM7SWNpSGpCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDeEp4REgsT0FBTztJd0p5RHJCLFVBQVUsRXhKM0RJLE9BQU87SXdKNERyQixVQUFVLEV4SmhGTCxPQUFPO0l3SmlGWixVQUFVLEVBQUUsTUFBTSxHQW1FbEI7SUF6RkgsQUF3QkcsMkJBeEJ3QixDQUUxQixhQUFhLENBZVosT0FBTyxDQU9OLE1BQU0sQ0FBQztNQUNOLFdBQVcsRUFBRSxFQUFFO01BQ2YsV0FBVyxFQUFFLENBQUM7TUFDZCxjQUFjLEVBQUUsQ0FBQyxHQTRDakI7TUF2RUosQUE2QkksMkJBN0J1QixDQUUxQixhQUFhLENBZVosT0FBTyxDQU9OLE1BQU0sQ0FLTCxXQUFXLENBQUM7UUFDWCxRQUFRLEVBQUUsTUFBTTtRQUNoQixNQUFNLEVBQUUsSUFBSTtRQUNaLGFBQWEsRUFBRSxLQUFLLEdBU3BCO1FBekNMLEFBa0NLLDJCQWxDc0IsQ0FFMUIsYUFBYSxDQWVaLE9BQU8sQ0FPTixNQUFNLENBS0wsV0FBVyxDQUtWLEdBQUcsQ0FBQztVQUdILEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixVQUFVLEVBQUUsSUFBSSxHQUNmO01BeENQLEFBMkNJLDJCQTNDdUIsQ0FFMUIsYUFBYSxDQWVaLE9BQU8sQ0FPTixNQUFNLENBbUJMLFNBQVMsRUEzQ2IsMkJBQTJCLENBRTFCLGFBQWEsQ0FlWixPQUFPLENBT04sTUFBTSxDQW1CTSxVQUFVLENBQUM7UUFDckIsT0FBTyxFQUFFLFlBQVk7UUFDckIsU0FBUyxFQUFDLElBQUk7UUFDZCxLQUFLLEV4SmpGSyxPQUFPLEd3SmtGakI7TUEvQ0wsQUFnREksMkJBaER1QixDQUUxQixhQUFhLENBZVosT0FBTyxDQU9OLE1BQU0sQ0F3QkwsQ0FBQyxBQUFBLFNBQVMsQ0FBQztRQUNQLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBS3RCO1FBeERMLEFBcURRLDJCQXJEbUIsQ0FFMUIsYUFBYSxDQWVaLE9BQU8sQ0FPTixNQUFNLENBd0JMLENBQUMsQUFBQSxTQUFTLEFBS0wsTUFBTSxDQUFDO1VBQ1AsS0FBSyxFeEo3R0csT0FBTyxHd0o4R2Y7TUF2RFQsQUF5REksMkJBekR1QixDQUUxQixhQUFhLENBZVosT0FBTyxDQU9OLE1BQU0sQ0FpQ0wsVUFBVSxDQUFDO1FBQ1YsTUFBTSxFQUFFLE9BQU8sR0FDZjtNQTNETCxBQTZESSwyQkE3RHVCLENBRTFCLGFBQWEsQ0FlWixPQUFPLENBT04sTUFBTSxDQXFDTCxFQUFFLENBQUM7UUFDRixTQUFTLEVBQUUsS0FBSztRQUNiLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLEtBQUssRXhKN0hMLE9BQU87UXdKOEhQLEtBQUssRXhKbkhHLE9BQU87UXdKb0hmLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLE9BQU8sRUFBRSxNQUNiLEdBQUM7SUF0RUwsQUF5RUcsMkJBekV3QixDQUUxQixhQUFhLENBZVosT0FBTyxDQXdETixRQUFRLENBQUM7TUFDUixTQUFTLEVBQUUsS0FBSztNQUNoQixLQUFLLEV4SnpHTyxPQUFPO013SjBHbkIsT0FBTyxFQUFFLE1BQU0sR0FDZjtJQTdFSixBQStFRywyQkEvRXdCLENBRTFCLGFBQWEsQ0FlWixPQUFPLENBOEROLENBQUMsQUFBQSxVQUFVLENBQUM7TUFFWCxZQUFZLEVBQUUsT0FBTztNQUNyQixLQUFLLEVBQUUsSUFBSSxHQU1YO01BeEZKLEFBb0ZJLDJCQXBGdUIsQ0FFMUIsYUFBYSxDQWVaLE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLFVBQVUsQUFLVCxNQUFNLENBQUM7UUFDUCxZQUFZLEV4SjVJQSxPQUFPO1F3SjZJbkIsS0FBSyxFeEo3SU8sT0FBTyxHd0o4SW5COztBQVFMLEFBQUEsb0JBQW9CLEVBbUJwQixhQUFhLENBb0daLDZCQUE2QixDQUU1QixnQkFBZ0IsRUF0R2xCLGFBQWEsQ0FrSFosa0JBQWtCLEVBd1FuQiw4QkFBOEIsQ0FLN0IsUUFBUSxDQWxaWTtFdEhyR25CLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7RU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7RUdQbkQsYUFBYSxFQUZILFNBQTJCO0VBR3JDLFlBQVksRUFIRixTQUEyQjtFeUh1TXZDLE9BQU8sRUFBRSxTQUFTLEdBY25CO0UvSXRFSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJK0lzRC9DLEFBQUEsb0JBQW9CLEVBbUJwQixhQUFhLENBb0daLDZCQUE2QixDQUU1QixnQkFBZ0IsRUF0R2xCLGFBQWEsQ0FrSFosa0JBQWtCLEVBd1FuQiw4QkFBOEIsQ0FLN0IsUUFBUSxDQWxaWTtNekhuTWpCLGFBQWEsRUFGSCxPQUEyQjtNQUdyQyxZQUFZLEVBSEYsT0FBMkIsR3lIcU54QztFL0l0RUssTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SStJc0QvQyxBQUFBLG9CQUFvQixFQW1CcEIsYUFBYSxDQW9HWiw2QkFBNkIsQ0FFNUIsZ0JBQWdCLEVBdEdsQixhQUFhLENBa0haLGtCQUFrQixFQXdRbkIsOEJBQThCLENBSzdCLFFBQVEsQ0FsWlk7TUFLbEIsT0FBTyxFQUFFLE1BQU07TXRIMUdoQixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLFNBQXlDO01NMkZuRCxTQUFTLEVOM0ZDLFNBQXlDO01HUG5ELGFBQWEsRUFGSCxTQUEyQjtNQUdyQyxZQUFZLEVBSEYsU0FBMkIsR3lIcU54QztFL0l0RUssTUFBTSxDQUFDLEtBQUssRUFBRSxNQUE0QixNQUFoQixTQUFTLEVBQUUsSUFBSSxPQUFmLFNBQVMsRUFBRSxJQUFJO0krSXNEL0MsQUFBQSxvQkFBb0IsRUFtQnBCLGFBQWEsQ0FvR1osNkJBQTZCLENBRTVCLGdCQUFnQixFQXRHbEIsYUFBYSxDQWtIWixrQkFBa0IsRUF3UW5CLDhCQUE4QixDQUs3QixRQUFRLENBbFpZO016SG5NakIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHeUhxTnhDO0UvSXRFSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtJK0lzRG5ELEFBQUEsb0JBQW9CLEVBbUJwQixhQUFhLENBb0daLDZCQUE2QixDQUU1QixnQkFBZ0IsRUF0R2xCLGFBQWEsQ0FrSFosa0JBQWtCLEVBd1FuQiw4QkFBOEIsQ0FLN0IsUUFBUSxDQWxaWTtNdEhyR25CLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsR0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsR0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHeUhxTnhDO0UvSXRFSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0krSXNEL0MsQUFBQSxvQkFBb0IsRUFtQnBCLGFBQWEsQ0FvR1osNkJBQTZCLENBRTVCLGdCQUFnQixFQXRHbEIsYUFBYSxDQWtIWixrQkFBa0IsRUF3UW5CLDhCQUE4QixDQUs3QixRQUFRLENBbFpZO016SG5NakIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHeUhxTnhDO0UvSXRFSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJK0lzRC9DLEFBQUEsb0JBQW9CLEVBbUJwQixhQUFhLENBb0daLDZCQUE2QixDQUU1QixnQkFBZ0IsRUF0R2xCLGFBQWEsQ0FrSFosa0JBQWtCLEVBd1FuQiw4QkFBOEIsQ0FLN0IsUUFBUSxDQWxaWTtNdEhyR25CLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7TU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7TUdQbkQsYUFBYSxFQUZILFNBQTJCO01BR3JDLFlBQVksRUFIRixTQUEyQixHeUhxTnhDO0UvSXRFSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SStJc0QvQyxBQUFBLG9CQUFvQixFQW1CcEIsYUFBYSxDQW9HWiw2QkFBNkIsQ0FFNUIsZ0JBQWdCLEVBdEdsQixhQUFhLENBa0haLGtCQUFrQixFQXdRbkIsOEJBQThCLENBSzdCLFFBQVEsQ0FsWlk7TXpIbk1qQixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEd5SHFOeEM7O0FBR0QsQUFFQyxhQUZZLENBRVosVUFBVSxDQUFDO0VBQ1YsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsR0FBRyxHQUNuQjs7QUFMRixBQVFDLGFBUlksQ0FRWixHQUFHLENBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixFQUF3QjtFQUMzQixXQUFXLEVBQUUsQ0FBQztFQUNkLGNBQWMsRUFBRSxDQUFDLEdBQ2pCOztBQVhGLEFBYUMsYUFiWSxDQWFaLE9BQU8sQ0FBQztFQUNQLFdBQVcsRUFBRSxDQUFDO0VBQ2QsY0FBYyxFQUFFLENBQUMsR0FDakI7O0FBaEJGLEFBa0JDLGFBbEJZLENBa0JaLG9CQUFvQixDQUFDO0VBQ3BCLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixlQUFlLEVBQUUsS0FBSyxHQUV0Qjs7QUF2QkYsQUF5QkMsYUF6QlksQ0F5Qlosb0JBQW9CLENBQUM7RUFDcEIsU0FBUyxFcko5S0MsS0FBNkM7RXFKK0t2RCxRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsTUFBTSxHQXNFZDtFL0kzS0ksTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SStJeUUvQyxBQStCRSxhQS9CVyxDQXlCWixvQkFBb0IsQ0FNbkIsZUFBZSxDQUFDO01BRWQsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLElBQUk7TUFDVCxJQUFJLEVBQUUsS0FBSztNQUVYLEtBQUssRUFBRSxJQUFJLEdBK0NaO0VBcEZILEFBd0NHLGFBeENVLENBeUJaLG9CQUFvQixDQU1uQixlQUFlLENBU2QsU0FBUyxDQUFDO0lBRVQsVUFBVSxFQUFFLGVBQWUsR0FDM0I7RS9JL0dFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFNBQVM7SStJb0U3QyxBQTZDRyxhQTdDVSxDQXlCWixvQkFBb0IsQ0FNbkIsZUFBZSxDQWNkLFVBQVUsQ0FBQztNQUVULE9BQU8sRUFBRSxlQUFlLEdBbUN6QjtFQWxGSixBQW1ESSxhQW5EUyxDQXlCWixvQkFBb0IsQ0FNbkIsZUFBZSxDQWNkLFVBQVUsQ0FNVCxZQUFZLENBQUM7SUFDWixNQUFNLEVBQUUsTUFBTTtJQUNkLEtBQUssRUFBRSxNQUFNO0lkelFoQixhQUFhLEVBQUMsSUFBQztJQUNmLHFCQUFxQixFQUFDLElBQUM7SUFDdkIsa0JBQWtCLEVBQUMsSUFBQztJQUNwQixpQkFBaUIsRUFBQyxJQUFDO0lBQ25CLGdCQUFnQixFQUFDLElBQUM7SWN1UWYsVUFBVSxFeEo3TUUsT0FBTztJd0o4TW5CLEtBQUssRUFBRSxPQUE0QjtJQUNuQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ3hKL01MLE9BQU8sR3dKdU9uQjtJQWpGTCxBQTJESyxhQTNEUSxDQXlCWixvQkFBb0IsQ0FNbkIsZUFBZSxDQWNkLFVBQVUsQ0FNVCxZQUFZLEFBUVYsTUFBTSxDQUFDO01BQ1AsVUFBVSxFeEpuTkMsT0FBTztNd0pvTmxCLEtBQUssRUFBRSxPQUE0QixHQUNuQztJL0lsSUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsU0FBUztNK0lvRTdDLEFBbURJLGFBbkRTLENBeUJaLG9CQUFvQixDQU1uQixlQUFlLENBY2QsVUFBVSxDQU1ULFlBQVksQ0FBQztRQWVYLE1BQU0sRUFBRSxJQUFJLEdBZWI7SS9JMUpDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO00rSXlFL0MsQUFtREksYUFuRFMsQ0F5Qlosb0JBQW9CLENBTW5CLGVBQWUsQ0FjZCxVQUFVLENBTVQsWUFBWSxDQUFDO1FBbUJYLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBVXBCO0lBakZMLEFBNEVLLGFBNUVRLENBeUJaLG9CQUFvQixDQU1uQixlQUFlLENBY2QsVUFBVSxDQU1ULFlBQVksQ0F5QlgsU0FBUyxDQUFDO01BQ1QsS0FBSyxFQUFHLEdBQUc7TUFDWCxNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxHQUFHLEdBQ1g7O0FBaEZOLEFBc0dFLGFBdEdXLENBb0daLDZCQUE2QixDQUU1QixnQkFBZ0IsQ0FBQTtFQUVmLFFBQVEsRUFBRSxRQUFRLEdBQ2xCOztBQXpHSCxBQWtIQyxhQWxIWSxDQWtIWixrQkFBa0IsQ0FBQztFQUVsQixNQUFNLEVBQUUsTUFBTSxHQUNkOztBQXJIRixBQTZIRSxhQTdIVyxDQTBIWixPQUFPLENBR04sTUFBTSxDQUFDO0VBQ04sV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLEdBQUc7RUFFbkIsVUFBVSxFQUFFLE1BQU0sR0F1RWxCO0VBeE1ILEFBb0lHLGFBcElVLENBMEhaLE9BQU8sQ0FHTixNQUFNLENBT0wsRUFBRSxDQUFDO0lBQ0YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFeEpwVEQsT0FBTyxHd0pxVFg7RUF4SUosQUEwSUcsYUExSVUsQ0EwSFosT0FBTyxDQUdOLE1BQU0sQ0FhTCxFQUFFLENBQUM7SUFDRixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsY0FBYztJQUMzQixLQUFLLEV4Sm5TUSxPQUFPLEd3Sm9TcEI7RUE5SUosQUFvSkcsYUFwSlUsQ0EwSFosT0FBTyxDQUdOLE1BQU0sQ0F1QkwsZ0JBQWdCLENBQUM7SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUksR0FDZjtFQXZKSixBQXlKRyxhQXpKVSxDQTBIWixPQUFPLENBR04sTUFBTSxDQTRCTCxZQUFZLENBQUM7SUF6VGYsYUFBYSxFQUFFLEtBQUs7SUFDcEIsS0FBSyxFQXlUeUIsSUFBSTtJQXhUbEMsTUFBTSxFQXdUd0IsSUFBSTtJQXZUbEMsUUFBUSxFQUFFLE1BQU07SUF3VGIsTUFBTSxFQUFDLFNBQVM7SUFDaEIsT0FBTyxFQUFFLFlBQVksR0FDckI7SUE3SkosQUF4SkMsYUF3SlksQ0EwSFosT0FBTyxDQUdOLE1BQU0sQ0E0QkwsWUFBWSxDQWpUZCxHQUFHLENBQUM7TUFDSCxNQUFNLEVBQUUsTUFBTSxHQUNkO0VBc0pGLEFBK0pHLGFBL0pVLENBMEhaLE9BQU8sQ0FHTixNQUFNLENBa0NMLE9BQU8sRUEvSlYsYUFBYSxDQTBIWixPQUFPLENBR04sTUFBTSxDQWtDSSxLQUFLLENBQUM7SUFDZCxTQUFTLEVBQUMsSUFBSTtJQUNkLEtBQUssRXhKdlRRLE9BQU8sR3dKd1RwQjtFQWxLSixBQW9LRyxhQXBLVSxDQTBIWixPQUFPLENBR04sTUFBTSxDQXVDTCxVQUFVLENBQUM7SUFDVixLQUFLLEV4SjlUUSxPQUFPLEd3SitUcEI7RUF0S0osQUF5S0ksYUF6S1MsQ0EwSFosT0FBTyxDQUdOLE1BQU0sQ0EyQ0wsU0FBUyxDQUNSLENBQUMsQ0FBQztJQUVELEtBQUssRUFBRSxPQUFpQjtJQUN4QixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUVoQixhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQUssQ0FBQyxPQUFpQixHQU03QztJQXJMTCxBQWlMSyxhQWpMUSxDQTBIWixPQUFPLENBR04sTUFBTSxDQTJDTCxTQUFTLENBQ1IsQ0FBQyxBQVFDLE1BQU0sQ0FBQztNQUNQLEtBQUssRUFBRSxPQUFnQjtNQUN2QixtQkFBbUIsRUFBRSxPQUFnQixHQUNyQztFQXBMTixBQXlMRyxhQXpMVSxDQTBIWixPQUFPLENBR04sTUFBTSxDQTRETCxTQUFTLEVBekxaLGFBQWEsQ0EwSFosT0FBTyxDQUdOLE1BQU0sQ0E0RE0sVUFBVSxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFNBQVMsRUFBQyxJQUFJO0lBQ2QsS0FBSyxFeEpqVk0sT0FBTyxHd0prVmxCO0VBN0xKLEFBK0xHLGFBL0xVLENBMEhaLE9BQU8sQ0FHTixNQUFNLENBa0VMLENBQUMsQUFBQSxTQUFTLENBQUM7SUFDUCxjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsSUFBSSxHQUt0QjtJQXZNSixBQW9NTyxhQXBNTSxDQTBIWixPQUFPLENBR04sTUFBTSxDQWtFTCxDQUFDLEFBQUEsU0FBUyxBQUtMLE1BQU0sQ0FBQztNQUNQLEtBQUssRXhKOVdJLE9BQU8sR3dKK1doQjs7QUF0TVIsQUEwTUUsYUExTVcsQ0EwSFosT0FBTyxDQWdGTixlQUFlLENBQUM7RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxNQUFNO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsTUFBTTtFQUNsQixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsZUFBZSxFQUFFLEtBQUssR0FTdEI7RUExTkgsQUFxTkcsYUFyTlUsQ0EwSFosT0FBTyxDQWdGTixlQUFlLENBV2QsR0FBRyxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxPQUFPLEdBQ2pCOztBQXpOSixBQTZORyxhQTdOVSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0FDWixFQUFFLEVBN05MLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBQ1QsRUFBRSxFQTdOUixhQUFhLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQUNOLEVBQUUsRUE3TlgsYUFBYSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0FDSCxFQUFFLEVBN05kLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBQ0EsRUFBRSxFQTdOakIsYUFBYSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0FDRyxFQUFFLENBQUM7RUFFakIsV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0FBaE9KLEFBaU9HLGFBak9VLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQUtaLENBQUMsRUFqT0osYUFBYSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ1gxTWIsVUFBVSxDVytNUDtFQUdELFdBQVcsRUFBRSxnQkFBZ0IsR0FFN0I7O0FBdE9KLEFBdU9HLGFBdk9VLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQVdaLEVBQUUsRUF2T0wsYUFBYSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0FXUixFQUFFLENBQUM7RUFDTixXQUFXLEVBQUMsR0FBRyxHQUNmOztBQXpPSixBQTBPRyxhQTFPVSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0FjWixFQUFFLENBQUM7RUFDRixTQUFTLEVBQUUsS0FBSyxHQUNoQjs7QUE1T0osQUE2T0csYUE3T1UsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBaUJaLEVBQUUsQ0FBQztFQUNGLFNBQVMsRUFBRSxLQUFLLEdBQ2hCOztBQS9PSixBQXFQRyxhQXJQVSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0F5QlosYUFBYSxDQUFDO0VBQ2IsVUFBVSxFQUFFLEdBQUc7RUFDZixhQUFhLEVBQUUsR0FBRztFQUNsQixNQUFNLEVBQUUsSUFBSSxHQU1aO0VBOVBKLEFBMFBJLGFBMVBTLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQXlCWixhQUFhLENBS1osYUFBYSxDQUFDO0lBQ2IsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFeEo5WU0sT0FBTyxHd0orWWxCOztBQTdQTCxBQWdRRyxhQWhRVSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0FvQ1osa0JBQWtCLENBQUM7RUFDbEIsS0FBSyxFQUFFLElBQUksR0FDWDs7QUFsUUosQUFvUUcsYUFwUVUsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBd0NaLG1CQUFtQixDQUFDO0VBQ25CLEtBQUssRUFBRSxjQUFjO0VBQ3JCLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0FBeFFKLEFBMFFHLGFBMVFVLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQThDWixvQkFBb0IsQ0FBQztFQUNwQixLQUFLLEVBQUUsY0FBYztFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSSxHQUNsQjs7QUE5UUosQUFpUkksYUFqUlMsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBb0RaLGNBQWMsQ0FDYixVQUFVLENBQUM7RUFDVixXQUFXLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ3hKM2JWLE9BQU87RXdKNGJuQixLQUFLLEV4SjViTyxPQUFPO0V3SjZibkIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsY0FBYyxFQUFFLElBQUksR0FDcEI7O0FBdFJMLEFBeVJHLGFBelJVLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQTZEWixRQUFRLEVBelJYLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENYcWRkLGdCQUFnQixFV2pyQmpCLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBNkRGLGVBQWUsRUF6UjVCLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBNkRlLGdCQUFnQixDQUFDO0VBRTNDLFVBQVUsRUFBRSxHQUFHO0VBQ2YsYUFBYSxFQUFFLEdBQUc7RUFDbEIsU0FBUyxFQUFFLFVBQVUsR0FDckI7O0FBOVJKLEFBZ1NHLGFBaFNVLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQTZEWixRQUFRLEVBelJYLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENYcWRkLGdCQUFnQixDV2paTDtFQUNSLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFeEozYkcsT0FBTztFd0o0YnBCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDeEoxYkosT0FBTyxHd0ppY3BCO0VBMVNKLEFBcVNJLGFBclNTLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQW9FWixRQUFRLENBS1AsQ0FBQyxFQXJTTCxhQUFhLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDWHFkZCxnQkFBZ0IsQ1c1WWIsQ0FBQyxFQXJTTCxhQUFhLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQW9FWixRQUFRLENYOVFULFVBQVUsRVdsQlosYUFBYSxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ1hxZGQsZ0JBQWdCLENBL3BCZixVQUFVLEVXbEJaLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBb0VaLFFBQVEsQ0FLSixFQUFFLEVBclNULGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENYcWRkLGdCQUFnQixDVzVZVixFQUFFLEVBclNULGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBb0VaLFFBQVEsQ0FLQSxFQUFFLEVBclNiLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENYcWRkLGdCQUFnQixDVzVZTixFQUFFLEVBclNiLGFBQWEsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBb0VaLFFBQVEsQ0FLSSxDQUFDLEVBclNoQixhQUFhLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDWHFkZCxnQkFBZ0IsQ1c1WUYsQ0FBQyxDQUFFO0lBQ2IsV0FBVyxFeEo5WkcsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsR3dKK1ovRDs7QUF2U0wsQUEyU0csYUEzU1UsQ0EwSFosT0FBTyxDQWtHTixhQUFhLENBK0VaLGVBQWUsQ0FBQztFQUNmLFVBQVUsRXhKemROLE9BQU87RXdKMGRYLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDeEp0ZEosT0FBTztFd0p1ZHBCLE9BQU8sRUFBRSxHQUFHLEdBQ1o7O0FBL1NKLEFBaVRHLGFBalRVLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQXFGWixnQkFBZ0IsQ0FBQztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ3hKNWRKLE9BQU87RXdKNmRwQixZQUFZLEVBQUUsS0FBSyxHQVduQjtFQS9USixBQXVUSSxhQXZUUyxDQTBIWixPQUFPLENBa0dOLGFBQWEsQ0FxRlosZ0JBQWdCLENBTWYsQ0FBQyxFQXZUTCxhQUFhLENBMEhaLE9BQU8sQ0FrR04sYUFBYSxDQXFGWixnQkFBZ0IsQ1gvUmpCLFVBQVUsQ1dxU047SUFDRCxXQUFXLEV4SmhiRyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVTtJd0ppYi9ELEtBQUssRXhKMWNNLE9BQU87SXdKNGNsQixTQUFTLEVBQUUsTUFBTTtJQUNqQixhQUFhLEVBQUUsQ0FBQztJQUNoQixPQUFPLEVBQUUsS0FBSyxHQUNkOztBQVNMLEFBQUEsNEJBQTRCLENBQUM7RWQ5ZnpCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU07RWM2ZnRCLEtBQUssRXhKMWRVLE9BQU87RXdKMmR0QixTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxJQUFJLEdBQ3BCO0VBTkQsQWR6ZkksNEJjeWZ3QixDZHpmeEIsSUFBSSxDQUFDO0lBQ0gsT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsWUFBWSxFQTFCUyxLQUFLO0lBMkIxQixhQUFhLEVBM0JRLEtBQUssR0E2RDNCO0ljbWRMLEFkbmZNLDRCY21mc0IsQ2R6ZnhCLElBQUksQUFNRCxPQUFPLEVjbWZkLDRCQUE0QixDZHpmeEIsSUFBSSxBQU9ELE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEVBaENhLE1BQU07TUFpQ3hCLEdBQUcsRUFBRSxHQUFHO01BQ1IsZ0JBQWdCLEVBL0JDLEtBQUs7TUFnQ3RCLGdCQUFnQixFQXBDSyxHQUFHO01BdUN0QixnQkFBZ0IsRTFJYVgsT0FBTyxHMElEZjtJYzRkUCxBZDFkTSw0QmMwZHNCLENkemZ4QixJQUFJLEFBK0JELE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJLEdBQ1o7SWN3ZFAsQWR0ZE0sNEJjc2RzQixDZHpmeEIsSUFBSSxBQW1DRCxNQUFNLENBQUM7TUFDTixJQUFJLEVBQUUsSUFBSSxHQUNYOztBYzRkUCxBQUFBLDBCQUEwQixDQUFDO0V0SHZjekIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxHQUF5QztFTTJGbkQsU0FBUyxFTjNGQyxHQUF5QztFR1BuRCxhQUFhLEVBRkgsU0FBMkI7RUFHckMsWUFBWSxFQUhGLFNBQTJCLEd5SGdsQnhDO0UvSWpjSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJK0l3Wi9DLEFBQUEsMEJBQTBCLENBQUM7TXpIcmlCdkIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHeUhnbEJ4QztFL0lqY0ssTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7SStJd1puRCxBQUFBLDBCQUEwQixDQUFDO010SHZjekIsSUFBSSxFQWxESyxDQUFDLENBQUMsQ0FBQyxDTnJDQSxTQUF5QztNTTJGbkQsU0FBUyxFTjNGQyxTQUF5QztNR1BuRCxhQUFhLEVBRkgsU0FBMkI7TUFHckMsWUFBWSxFQUhGLFNBQTJCLEd5SGdsQnhDO0UvSWpjSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxRQUFRLE9BQW5CLFNBQVMsRUFBRSxJQUFJO0krSXdaL0MsQUFBQSwwQkFBMEIsQ0FBQztNekhyaUJ2QixhQUFhLEVBRkgsT0FBMkI7TUFHckMsWUFBWSxFQUhGLE9BQTJCLEd5SGdsQnhDO0VBekNELEFBT0MsMEJBUHlCLENBT3pCLGFBQWEsQ0FBQztJQUNiLE1BQU0sRUFBRSxpQkFBaUI7SWQzaUJ6QixhQUFhLEVBQUMsR0FBQztJQUNmLHFCQUFxQixFQUFDLEdBQUM7SUFDdkIsa0JBQWtCLEVBQUMsR0FBQztJQUNwQixpQkFBaUIsRUFBQyxHQUFDO0lBQ25CLGdCQUFnQixFQUFDLEdBQUM7SWN5aUJsQixRQUFRLEVBQUUsTUFBTSxHQUtoQjtJQWZGLEFBWUUsMEJBWndCLENBT3pCLGFBQWEsQUFLWCxNQUFNLENBQUM7TWRqa0JOLGtCQUFrQixFY2trQkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEN4SjllaEIsT0FBTztNMEluRm5CLGVBQWUsRWNpa0JJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDeEo5ZWhCLE9BQU87TTBJbEZuQixVQUFVLEVjZ2tCUyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ3hKOWVoQixPQUFPLEd3SitlcEI7RUFkSCxBQWlCQywwQkFqQnlCLENBaUJ6QixXQUFXLENBQUM7SUFDWCxPQUFPLEVBQUUsV0FBVyxHQVNwQjtJQTNCRixBQW9CRSwwQkFwQndCLENBaUJ6QixXQUFXLENBR1YsV0FBVyxDQUFDO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLGVBQWUsRUFBRSxPQUFPO01BQ3hCLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsbUJBQW1CLEVBQUUsTUFBTSxHQUMzQjtFQTFCSCxBQTZCRSwwQkE3QndCLENBNEJ6QixVQUFVLENBQ1QsRUFBRSxDQUFDO0lBQ0YsU0FBUyxFQUFFLEtBQUssR0FDaEI7RUEvQkgsQUFnQ0UsMEJBaEN3QixDQTRCekIsVUFBVSxDQUlULENBQUMsRUFoQ0gsMEJBQTBCLENBNEJ6QixVQUFVLENYelZULFVBQVUsQ1c2VlI7SUFDRCxTQUFTLEVBQUUsS0FBSyxHQUNoQjtFQWxDSCxBQW1DRSwwQkFuQ3dCLENBNEJ6QixVQUFVLENBT1QsU0FBUyxDQUFDO0lBQ1QsY0FBYyxFQUFFLFNBQVM7SUFDekIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFeEp2Z0JRLE9BQU8sR3dKd2dCcEI7O0FBSUgsQUFBQSw4QkFBOEIsQ0FBQztFN0hyZ0I3QixTQUFTLEV4QlRDLEtBQTZDO0UrQmxEckQsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFJakIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsR0FBRyxDQWxCQyxJQUFJLEdzSHNsQnRCO0VBVkQsQUFLQyw4QkFMNkIsQ0FLN0IsUUFBUSxDQUFDO0lBRVIsWUFBWSxFQUFDLENBQUM7SUFDZCxhQUFhLEVBQUMsQ0FBQyxHQUNmOztBQzltQkYsQUFBQSxrQkFBa0IsQ0FBQztFQUVsQixnQkFBZ0IsRUFBRSxJQUFJLEdBZ0N0QjtFQWxDRCxBQUlDLGtCQUppQixDQUlqQixVQUFVLENBQUM7SUFFVixVQUFVLEV6SndESixPQUFPLEd5SjlCYjtJQWhDRixBQVNFLGtCQVRnQixDQUlqQixVQUFVLENBS1QsYUFBYSxDQUFDO01BQ2IsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLE1BQU07TUFDdEIsY0FBYyxFQUFFLElBQUksR0FtQnBCO01BL0JILEFBZ0JHLGtCQWhCZSxDQUlqQixVQUFVLENBS1QsYUFBYSxDQU9aLEVBQUUsQ0FBQztRQUNGLEtBQUssRXpKaURRLE9BQU8sR3lKaERwQjtNQWxCSixBQW9CRyxrQkFwQmUsQ0FJakIsVUFBVSxDQUtULGFBQWEsQ0FXWixDQUFDLEVBcEJKLGtCQUFrQixDQUlqQixVQUFVLENBS1QsYUFBYSxDWm9QYixVQUFVLENZek9QO1FBQ0QsS0FBSyxFekp3Q0QsT0FBTyxHeUp2Q1g7TUF0QkosQUF3Qkcsa0JBeEJlLENBSWpCLFVBQVUsQ0FLVCxhQUFhLENBZVosQ0FBQyxDQUFDO1FBQ0QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEN6SitDYixPQUFPLEd5SjFDbkI7UUE5QkosQUEyQkksa0JBM0JjLENBSWpCLFVBQVUsQ0FLVCxhQUFhLENBZVosQ0FBQyxBQUdDLE1BQU0sQ0FBQztVQUNQLG1CQUFtQixFekpzQ1AsT0FBTyxHeUpyQ25COztBQVFMLEFBR0MsK0JBSDhCLENBRzlCLFVBQVUsQ0FBQztFQUVWLGNBQWMsRUFBRSxDQUFDLEdBVWpCO0VBZkYsQUFPRSwrQkFQNkIsQ0FHOUIsVUFBVSxDQUlULEVBQUUsQ0FBQztJQUNGLFdBQVcsRUFBQyxLQUFLO0lBQ2pCLGFBQWEsRUFBRSxDQUFDLEdBQ2hCO0VBVkgsQUFZRSwrQkFaNkIsQ0FHOUIsVUFBVSxDQVNULENBQUMsQUFBQSxlQUFlLEVBWmxCLCtCQUErQixDQUc5QixVQUFVLENBU1IsZUFBZSxBWjRNaEIsVUFBVSxDWTVNTztJQUNoQixLQUFLLEV6Sm9DTyxPQUFPLEd5Sm5DbkI7O0FoSitHRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFZ0oxRy9DLEFBQ0Msb0JBRG1CLENBQ25CLFVBQVUsQ0FBQztJQUlULFlBQVksRUFBQyxHQUFHO0lBQ2hCLGFBQWEsRUFBQyxHQUFHLEdBRWxCOztBQVJGLEFBVUMsb0JBVm1CLENBVW5CLENBQUMsQUFBQSxRQUFRLEVBVlYsb0JBQW9CLENBVWxCLFFBQVEsQVoyTFIsVUFBVSxDWTNMRDtFQUNULFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxJQUFJLEdBQ2pCOztBQWRGLEFBaUJFLG9CQWpCa0IsQ0FnQm5CLG9CQUFvQixDQUNuQixFQUFFLENBQUM7RUFDRixTQUFTLEVBQUUsT0FBTztFQUNsQixjQUFjLEVBQUUsTUFBTTtFQUN0QixLQUFLLEV6SmZBLE9BQU87RXlKZ0JaLEtBQUssRXpKWFMsT0FBTztFeUpZckIsS0FBSyxFekpOUSxPQUFPO0V5Sk9wQixXQUFXLEVBQUUsR0FBRztFQUVoQixjQUFjLEVBQUUsTUFBTSxHQUV0Qjs7QUFLSCxBQUVDLGlDQUZnQyxDQUVoQyxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQTZCWDtFaEowQ0ksTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SWdKMUUvQyxBQUVDLGlDQUZnQyxDQUVoQyxVQUFVLENBQUM7TUFLVCxXQUFXLEVBQUUsR0FBRztNQUNoQixZQUFZLEVBQUUsR0FBRyxHQXdCbEI7RUFoQ0YsQUFnQkUsaUNBaEIrQixDQUVoQyxVQUFVLENBY1QsUUFBUSxDQUFDO0lBQ1IsVUFBVSxFekp2Q0ksT0FBTyxHeUpxRHJCO0lBL0JILEFBbUJHLGlDQW5COEIsQ0FFaEMsVUFBVSxDQWNULFFBQVEsQ0FHUCxFQUFFLENBQUM7TUFDRixPQUFPLEVBQUUsa0JBQWtCO01BQzNCLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFNBQVMsRUFBQyxNQUFNO01BQ2hCLFdBQVcsRUFBRSxHQUFHO01BRWhCLEtBQUssRXpKL0NRLE9BQU87TXlKZ0RwQixLQUFLLEV6SnBERCxPQUFPLEd5SndEWDs7QUFLSixBQUdDLDBCQUh5QixDQUd6QixVQUFVLENBQUM7RUFDVixTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsTUFBTSxHQUVkOztBQVBGLEFBU0MsMEJBVHlCLENBU3pCLHdCQUF3QixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLENBQUM7RUFDVCxjQUFjLEVBQUUsTUFBTSxHQVN6QjtFQXRCRixBQWVFLDBCQWZ3QixDQVN6Qix3QkFBd0IsQ0FNdkIsTUFBTSxDQUFDO0lBQ0gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFJSCxBQUFBLDBCQUEwQixDQUFDO0VBQzFCLFVBQVUsRUFBRSxPQUFPLEdBNkVuQjtFQTlFRCxBQUdDLDBCQUh5QixDQUd6Qix3QkFBd0IsQ0FBQztJdkhwQ3hCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsSUFBeUM7SU0yRm5ELFNBQVMsRU4zRkMsSUFBeUM7SUdQbkQsYUFBYSxFQUZILFNBQTJCO0lBR3JDLFlBQVksRUFIRixTQUEyQixHMEg2SXZDO0loSkVJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO01nSmQvQyxBQUdDLDBCQUh5QixDQUd6Qix3QkFBd0IsQ0FBQztRMUhsSXRCLGFBQWEsRUFGSCxPQUEyQjtRQUdyQyxZQUFZLEVBSEYsT0FBMkIsRzBINkl2QztJaEpFSSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNZ0pkL0MsQUFHQywwQkFIeUIsQ0FHekIsd0JBQXdCLENBQUM7UXZIcEN4QixJQUFJLEVBbERLLENBQUMsQ0FBQyxDQUFDLENOckNBLEdBQXlDO1FNMkZuRCxTQUFTLEVOM0ZDLEdBQXlDO1FHUG5ELGFBQWEsRUFGSCxTQUEyQjtRQUdyQyxZQUFZLEVBSEYsU0FBMkIsRzBINkl2QztFaEpFSSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQTRCLE1BQWhCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLElBQUk7SWdKZC9DLEFBR0MsMEJBSHlCLENBR3pCLHdCQUF3QixDQUFDO00xSGxJdEIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHMEg2SXZDO0loSkVJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO01nSmRuRCxBQUdDLDBCQUh5QixDQUd6Qix3QkFBd0IsQ0FBQztRdkhwQ3hCLElBQUksRUFsREssQ0FBQyxDQUFDLENBQUMsQ05yQ0EsU0FBeUM7UU0yRm5ELFNBQVMsRU4zRkMsU0FBeUM7UUdQbkQsYUFBYSxFQUZILFNBQTJCO1FBR3JDLFlBQVksRUFIRixTQUEyQixHMEg2SXZDO0VoSkVJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBNEIsTUFBaEIsU0FBUyxFQUFFLFFBQVEsT0FBbkIsU0FBUyxFQUFFLElBQUk7SWdKZC9DLEFBR0MsMEJBSHlCLENBR3pCLHdCQUF3QixDQUFDO00xSGxJdEIsYUFBYSxFQUZILE9BQTJCO01BR3JDLFlBQVksRUFIRixPQUEyQixHMEg2SXZDO0VBWkYsQUFjQywwQkFkeUIsQ0FjekIsaUJBQWlCLENBQUM7SUFDakIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLEN6Si9FRixPQUFPO0l5SmdGdEIsVUFBVSxFekp0R0osT0FBTztJeUp1R2IsYUFBYSxFQUFFLE1BQU07SUFFckIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFFLE1BQU07SWZqSmhCLGFBQWEsRUFBQyxHQUFDO0lBQ2YscUJBQXFCLEVBQUMsR0FBQztJQUN2QixrQkFBa0IsRUFBQyxHQUFDO0lBQ3BCLGlCQUFpQixFQUFDLEdBQUM7SUFDbkIsZ0JBQWdCLEVBQUMsR0FBQyxHZXNNbEI7SUE3RUYsQUF1QkUsMEJBdkJ3QixDQWN6QixpQkFBaUIsQ0FTaEIsSUFBSSxDQUFDO01BRUosT0FBTyxFQUFFLE9BQU8sR0FJaEI7SUE3QkgsQUErQkUsMEJBL0J3QixDQWN6QixpQkFBaUIsQ0FpQmhCLEtBQUssRUEvQlAsMEJBQTBCLENBY3pCLGlCQUFpQixDQWlCVCxNQUFNLENBQUM7TUFDYixVQUFVLEV6SnRITCxPQUFPLEd5SnVIWjtJQWpDSCxBQW1DRSwwQkFuQ3dCLENBY3pCLGlCQUFpQixDQXFCaEIsTUFBTSxDQUFDO01BR04sS0FBSyxFeko1SEEsT0FBTztNeUo2SFosS0FBSyxFekp6SFMsT0FBTztNeUowSHJCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLEdBQUc7TUFDaEIsT0FBTyxFQUFFLGFBQWE7TUFDdEIsY0FBYyxFQUFFLE1BQU0sR0FDdEI7SUE3Q0gsQUErQ0UsMEJBL0N3QixDQWN6QixpQkFBaUIsQ0FpQ2hCLEtBQUssQ0FBQztNQUVMLE9BQU8sRUFBRSxNQUFNLEdBV2Y7TUE1REgsQUFrREcsMEJBbER1QixDQWN6QixpQkFBaUIsQ0FpQ2hCLEtBQUssQ0FHSixFQUFFLENBQUM7UUFDRixTQUFTLEVBQUUsS0FBSztRQUNoQixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEVBQUUsQ0FBQyxHQUNoQjtNQXRESixBQXVERywwQkF2RHVCLENBY3pCLGlCQUFpQixDQWlDaEIsS0FBSyxDQVFKLGVBQWUsQ0FBQztRQUNmLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLEtBQUssRXpKcEhPLE9BQU87UXlKcUhuQixNQUFNLEVBQUMsQ0FBQyxHQUNSO0lBM0RKLEFBaUVHLDBCQWpFdUIsQ0FjekIsaUJBQWlCLENBZ0RoQixTQUFTLENBR1IsR0FBRyxDQUFDLENBQUMsQ0FBQztNMUY3SFAsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLE1BQU07TUFDdEIsTUFBTSxFL0RzT1EsQ0FBQyxDQUFDLENBQUMsQ0EzTUgsSUFBSSxDQTJNZSxDQUFDO00rRHJPbEMsV0FBVyxFQWxGUSxPQUFPO01BNEZ4QixPQUFPLEUvRDBOTSxHQUFHLENBQUMsS0FBSztNK0R2TnhCLGtCQUFrQixFQUFFLElBQUk7TUFDeEIsTUFBTSxFQUFFLHFCQUFxQjtNQUM3QixhQUFhLEUvRGVDLEdBQUc7TStEZGpCLFVBQVUsRS9EdU9RLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRO00rRHRPdkUsU0FBUyxFL0QrTkEsTUFBTTtNK0Q5TmYsV0FBVyxFQUFFLENBQUM7TUFDZCxVQUFVLEVBQUUsTUFBTTtNQUNsQixNQUFNLEVBQUUsT0FBTztNQXNFZixNQUFNLEVBeElxQixHQUFHLENBd0lSLEtBQUssQy9EbkhaLE9BQU87TStEb0h0QixLQUFLLEUvRHBIVSxPQUFPO00rRG9EcEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSTtNQUNYLFlBQVksRUFBRSxDQUFDO01BQ2YsV0FBVyxFQUFFLENBQUMsRzBGOEZkO08vSWZGLEFBQUEsQUFBQSxjQUFDLENBQWUsT0FBTyxBQUF0QixFK0lwREgsMEJBQTBCLENBY3pCLGlCQUFpQixDQWdEaEIsU0FBUyxDQUdSLEdBQUcsQ0FBQyxDQUFDLEMvSWJxQjtRQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYO00rSXRESCxBMUZXRSwwQjBGWHdCLENBY3pCLGlCQUFpQixDQWdEaEIsU0FBUyxDQUdSLEdBQUcsQ0FBQyxDQUFDLEVBakVSLDBCQUEwQixDQWN6QixpQkFBaUIsQ0FnRGhCLFNBQVMsQ0FHUixHQUFHLENBQUMsQ0FBQyxBMUZyREwsTUFBTSxFMEZaVCwwQkFBMEIsQ0FjekIsaUJBQWlCLENBZ0RoQixTQUFTLENBR1IsR0FBRyxDQUFDLENBQUMsQTFGcERMLE1BQU0sQ0FBQztRQUNOLGdCQUFnQixFQUFFLFdBQVcsR0FDOUI7TTBGZkgsQTFGbUJJLDBCMEZuQnNCLENBY3pCLGlCQUFpQixDQWdEaEIsU0FBUyxDQUdSLEdBQUcsQ0FBQyxDQUFDLEExRmhETCxTQUFTLEUwRmpCWiwwQkFBMEIsQ0FjekIsaUJBQWlCLENBZ0RoQixTQUFTLENBR1IsR0FBRyxDQUFDLENBQUMsQTFGaERMLFNBQVMsQUFHUCxNQUFNLEUwRnBCWCwwQkFBMEIsQ0FjekIsaUJBQWlCLENBZ0RoQixTQUFTLENBR1IsR0FBRyxDQUFDLENBQUMsQTFGaERMLFNBQVMsQUFHRSxNQUFNLEUwRnBCcEIsMEJBQTBCLENBY3pCLGlCQUFpQixDQWdEaEIsU0FBUyxDQUdSLEdBQUcsQ0FBQyxDQUFDLEMxRi9DTCxBQUFBLFFBQUMsQUFBQSxHMEZsQkosMEJBQTBCLENBY3pCLGlCQUFpQixDQWdEaEIsU0FBUyxDQUdSLEdBQUcsQ0FBQyxDQUFDLEMxRi9DTCxBQUFBLFFBQUMsQUFBQSxDQUVDLE1BQU0sRTBGcEJYLDBCQUEwQixDQWN6QixpQkFBaUIsQ0FnRGhCLFNBQVMsQ0FHUixHQUFHLENBQUMsQ0FBQyxDMUYvQ0wsQUFBQSxRQUFDLEFBQUEsQ0FFVSxNQUFNLENBQUM7UUFDZixnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCO00wRnRCTCxBMUZvQ0UsMEIwRnBDd0IsQ0FjekIsaUJBQWlCLENBZ0RoQixTQUFTLENBR1IsR0FBRyxDQUFDLENBQUMsQTFGN0JMLE1BQU0sRTBGcENULDBCQUEwQixDQWN6QixpQkFBaUIsQ0FnRGhCLFNBQVMsQ0FHUixHQUFHLENBQUMsQ0FBQyxBMUY3QkksTUFBTSxDQUFDO1FBQ2YsWUFBWSxFQU5BLE9BQWlEO1FBTzdELEtBQUssRUFQTyxPQUFpRCxHQWE5RDtRMEY1Q0gsQTFGdUNJLDBCMEZ2Q3NCLENBY3pCLGlCQUFpQixDQWdEaEIsU0FBUyxDQUdSLEdBQUcsQ0FBQyxDQUFDLEExRjdCTCxNQUFNLEFBR0osU0FBUyxFMEZ2Q2QsMEJBQTBCLENBY3pCLGlCQUFpQixDQWdEaEIsU0FBUyxDQUdSLEdBQUcsQ0FBQyxDQUFDLEExRjdCTCxNQUFNLENBSUosQUFBQSxRQUFDLEFBQUEsRzBGeENOLDBCQUEwQixDQWN6QixpQkFBaUIsQ0FnRGhCLFNBQVMsQ0FHUixHQUFHLENBQUMsQ0FBQyxBMUY3QkksTUFBTSxBQUdiLFNBQVMsRTBGdkNkLDBCQUEwQixDQWN6QixpQkFBaUIsQ0FnRGhCLFNBQVMsQ0FHUixHQUFHLENBQUMsQ0FBQyxBMUY3QkksTUFBTSxDQUliLEFBQUEsUUFBQyxBQUFBLEVBQVU7VUFDVixNQUFNLEVBaEppQixHQUFHLENBZ0pKLEtBQUssQy9EM0hoQixPQUFPO1UrRDRIbEIsS0FBSyxFL0Q1SE0sT0FBTyxHK0Q2SG5COztBMEZ1Q0wsQUFBQSx3QkFBd0IsQ0FBQztFQUN4QixhQUFhLEVBQUUsS0FBSztFQUNwQixLQUFLLEVBQUUsTUFBTTtFQUNiLE1BQU0sRUFBRSxNQUFNO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxNQUFNO0VBQ2QsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsVUFBVSxFekpySkssT0FBTztFeUpzSnRCLGVBQWUsRUFBRSxLQUFLLEdBT3RCO0VBakJELEFBYUMsd0JBYnVCLENBYXZCLEdBQUcsQ0FBQztJQUNILEtBQUssRUFBQyxLQUFLO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDWjs7QUFLRixBQUFBLDZCQUE2QixDQUFDO0VBQzVCLE9BQU8sRUFBRSxTQUFTLEdBeUVuQjtFQTFFRCxBQUdFLDZCQUgyQixDQUczQixlQUFlO0VBSGpCLDZCQUE2QixDQUkzQixXQUFXLENBQUM7SUFDVixLQUFLLEV6Sm5NRCxPQUFPLEd5SndNWjtJQVZILEFBT0ksNkJBUHlCLENBRzNCLGVBQWUsQUFJWixNQUFNLEVBUFgsNkJBQTZCLENBRzNCLGVBQWUsQUFJSCxPQUFPLEVBUHJCLDZCQUE2QixDQUczQixlQUFlLEFBSU8sTUFBTTtJQVA5Qiw2QkFBNkIsQ0FJM0IsV0FBVyxBQUdSLE1BQU07SUFQWCw2QkFBNkIsQ0FJM0IsV0FBVyxBQUdDLE9BQU87SUFQckIsNkJBQTZCLENBSTNCLFdBQVcsQUFHVyxNQUFNLENBQUM7TUFDekIsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtFQVRMLEFBWUUsNkJBWjJCLENBWTNCLGVBQWUsQ0FBQztJQUNkLElBQUksRUFBRSxLQUFLLEdBQ1o7RUFkSCxBQWdCRSw2QkFoQjJCLENBZ0IzQixXQUFXLENBQUM7SUFDVixLQUFLLEVBQUUsS0FBSyxHQUNiO0VBbEJILEFBb0JFLDZCQXBCMkIsQ0FvQjNCLGtCQUFrQixDQUFDO0lBQ2pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLE1BQU07SUFDdkIsV0FBVyxFQUFFLElBQUksR0FDbEI7RUF4QkgsQUEwQkUsNkJBMUIyQixDQTBCM0IsMEJBQTBCLENBQUM7SUFDekIsT0FBTyxFQUFFLFdBQVcsR0FLckI7SUFIQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO01BN0J0QyxBQTBCRSw2QkExQjJCLENBMEIzQiwwQkFBMEIsQ0FBQztRQUl2QixPQUFPLEVBQUUsU0FBUyxHQUVyQjtFQWhDSCxBQWtDRSw2QkFsQzJCLENBa0MzQixhQUFhLENBQUM7SUFDWixTQUFTLEVBQUUsS0FBSyxHQUlqQjtJQXZDSCxBQW9DSSw2QkFwQ3lCLENBa0MzQixhQUFhLENBRVgsR0FBRyxDQUFBO01BQ0YsYUFBYSxFQUFDLEdBQUcsR0FDakI7RUF0Q0wsQUF5Q0UsNkJBekMyQixDQXlDM0IsdUJBQXVCLENBQUM7SUFDdEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsVUFBVSxFQUFDLElBQUksQ0FBQSxVQUFVO0lBQ3pCLE9BQU8sRUFBQyxnQkFBZ0IsR0FDekI7RUE3Q0gsQUErQ0UsNkJBL0MyQixDQStDM0IsNEJBQTRCLENBQUM7SUFDM0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFDLFVBQVUsQ0FBQSxVQUFVO0lBQ2xELFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxHQUFHLENBQUEsVUFBVSxHQWEzQjtJQS9ESCxBQW9ESSw2QkFwRHlCLENBK0MzQiw0QkFBNEIsQUFLekIsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLElBQUk7TUFDYixTQUFTLEVBQUUsSUFBSTtNQUNmLEtBQUssRUFBRSxPQUFvQjtNQUMzQixRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsS0FBSztNQUNYLEtBQUssRUFBRSxPQUFPO01BQ25CLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEtBQUssR0FDZDtFQTlETCxBQWlFRSw2QkFqRTJCLENBaUUzQixtQ0FBbUMsQ0FBQztJQUNsQyxPQUFPLEVBQUUsSUFBSSxHQU9kO0loSjdKRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO01nSm9GN0MsQUFxRU0sNkJBckV1QixDQWlFM0IsbUNBQW1DLENBSS9CLDhCQUE4QixDQUFDO1FBQzdCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBdkU3SUwsQUFBQSxlQUFlLEN1RWlKRjtFQUNmLE1BQU0sRUFBQyxPQUFPLEdBa0JiO0VBbkJELEFBRUMsZUFGYyxBQUViLE9BQU8sQ0FBQTtJQUNULFlBQVksRUFBRSxPQUFPO0lBQ3JCLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsVUFBVSxFQUFFLE9BQU87SUFDbkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixJQUFJLEVBQUUsR0FBRztJQUNULGtCQUFrQixFQUFFLEtBQUs7SUFDekIsa0JBQWtCLEVBQUUsR0FBRztJQUN2QixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLE1BQU07SUFDZCxLQUFLLEVBQUUsTUFBTTtJQUNiLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsVUFBVTtJQUN0RCxNQUFNLEVBQUMsT0FBTyxHQUNiOztBdkU5SkMsQUFBQSxXQUFXLEN1RWdLRjtFQUNYLE1BQU0sRUFBQyxPQUFPLEdBbUJiO0VBcEJELEFBRUMsV0FGVSxBQUVULE9BQU8sQ0FBQTtJQUNULFlBQVksRUFBRSxPQUFPO0lBQ3JCLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsVUFBVSxFQUFFLE9BQU87SUFDbkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixJQUFJLEVBQUUsR0FBRztJQUNULGtCQUFrQixFQUFFLEtBQUs7SUFDekIsa0JBQWtCLEVBQUUsR0FBRztJQUN2QixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLE1BQU07SUFDZCxLQUFLLEVBQUUsTUFBTTtJQUNiLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVTtJQUNwRCxNQUFNLEVBQUMsT0FBTztJQUNkLFdBQVcsRUFBRSxLQUFLLEdBQ2pCIiwic291cmNlUm9vdCI6Ii4uLy4uL3NvdXJjZS9zY3NzIn0= */
