/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Line.vue?vue&type=style&index=0&id=d9e91122&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.line[data-v-d9e91122] {
    display:flex;
    width: 100%;
}
td {
&.pr-40-pc[data-v-d9e91122] {
        padding-right: 6%;
}
&.price[data-v-d9e91122] {
        text-align: right;
}
}
.name[data-v-d9e91122] {
    width: 60%;
}
input {
&[data-v-d9e91122] {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    }
&.name[data-v-d9e91122] {
}
&.number[data-v-d9e91122] {
}
}
div {
&.total[data-v-d9e91122] {
        display: flex;
        align-items: end;
        align-content: end;
        justify-content: end;
        font-weight: bold;
        text-align: right;
        flex-grow: 1;
}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Customer.vue?vue&type=style&index=0&id=3d1418d9&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.customer-form {
&[data-v-3d1418d9] {

    margin: 0 auto;
}
div[data-v-3d1418d9] {
        display: flex;
        flex-direction: column;
        margin-bottom: 10px;
}
}


/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Quotation.vue?vue&type=style&index=0&id=ab5f6dbe&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.quill-container[data-v-ab5f6dbe] {
    display: flex;
    flex-direction: column;
}
table {
&[data-v-ab5f6dbe] {
        width: 100%;
    }
tr {
td {
&.price[data-v-ab5f6dbe] {
                    text-align: right;
}
}
th[data-v-ab5f6dbe] {
}
}
}
button {
&[data-v-ab5f6dbe]:hover {
            cursor: pointer;
}
}


/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Invoice.vue?vue&type=style&index=0&id=ea8a4cfc&scoped=true&lang=css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.quill-container[data-v-ea8a4cfc] {
    display: flex;
    flex-direction: column;
}
.quill-container .ql-editor[data-v-ea8a4cfc] {
    min-height: 100px; /* Une hauteur minimale pour le départ */
    width: 100%;
}
table {
&[data-v-ea8a4cfc] {
        width: 100%;
    }
tr {
td {
&.price[data-v-ea8a4cfc] {
                    text-align: right;
}
}
th[data-v-ea8a4cfc] {
}
}
}
button {
&[data-v-ea8a4cfc]:hover {
            cursor: pointer;
}
}


/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/ProductUpdate.vue?vue&type=style&index=0&id=64eec9ad&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.modal-update {
&[data-v-64eec9ad] {
        background: white;
        width: -moz-max-content;
        width: max-content;
        padding:15px;
        border-radius: 0 8px 8px 8px;
        transform: translateY(-50%);
        box-shadow: 0 0 8px rgba(0,0,0,0.5);
        z-index: 999;
        margin-top: 35px;
}
&[data-v-64eec9ad]:before {
            position: absolute;
            bottom: 100%;
            height: 35px;
            line-height: 35px;
            left:0;
            border-radius: 8px 8px 0 0;
            background: black;
            color: white;
            content: attr(data-text);
            padding: 0 12px;
            font-size: 16px;
            font-weight: bold;
}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/ProductsTable.vue?vue&type=style&index=0&id=84ac5242&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.add-product-form-container[data-v-84ac5242] {
        position: relative;
}
.add-product-form[data-v-84ac5242] {
        position: absolute;
        top:100%;
        left:0;
        z-index: 999;
        background: white;
        padding:20px;
        border-radius: 5px;
        box-shadow: 5px 5px 7px rgba(0,0,0,0.5);
        width: 250px;
        margin-top:10px;
        max-height: 80vh;
        overflow: auto;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Settings.vue?vue&type=style&index=0&id=2743aa9e&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.quill-container[data-v-2743aa9e] {
      display: flex;
      flex-direction: column;
}



/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/CustomerUpdate.vue?vue&type=style&index=0&id=5a6b2c82&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.modal-update {
&[data-v-5a6b2c82] {
        background: white;
        width: -moz-max-content;
        width: max-content;
        padding:15px;
        border-radius: 0 8px 8px 8px;
        transform: translateY(-10%);
        box-shadow: 0 0 8px rgba(0,0,0,0.5);
        z-index: 999;
}
&[data-v-5a6b2c82]:before {
            position: absolute;
            bottom: 100%;
            height: 35px;
            line-height: 35px;
            left:0;
            border-radius: 8px 8px 0 0;
            background: black;
            color: white;
            content: attr(data-text);
            padding: 0 12px;
            font-size: 16px;
            font-weight: bold;
}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/CustomersTable.vue?vue&type=style&index=0&id=99b38c98&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.add-customer-form-container[data-v-99b38c98] {
        position: relative;
}
.add-customer-form[data-v-99b38c98] {
        position: absolute;
        top:100%;
        left:0;
        z-index: 999;
        background: white;
        padding:20px;
        border-radius: 5px;
        box-shadow: 5px 5px 7px rgba(0,0,0,0.5);
        width: 500px;
        margin-top:10px;
        max-height: 75vh;
        overflow: auto;
}

/*!************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./assets/styles/tailwind.css ***!
  \************************************************************************************************************************************************************************/
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

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

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-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 in Chrome and Safari on macOS.
*/

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

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.visible {
  visibility: visible;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.right-2 {
  right: 0.5rem;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-\[100\%\] {
  top: 100%;
}
.z-10 {
  z-index: 10;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.m-0 {
  margin: 0px;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.me-1 {
  margin-inline-end: 0.25rem;
}
.me-2 {
  margin-inline-end: 0.5rem;
}
.me-5 {
  margin-inline-end: 1.25rem;
}
.ml-64 {
  margin-left: 16rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.ms-2 {
  margin-inline-start: 0.5rem;
}
.ms-3 {
  margin-inline-start: 0.75rem;
}
.ms-64 {
  margin-inline-start: 16rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-\[50px\] {
  margin-top: 50px;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}
.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}
.size-8 {
  width: 2rem;
  height: 2rem;
}
.h-6 {
  height: 1.5rem;
}
.h-full {
  height: 100%;
}
.h-max {
  height: -moz-max-content;
  height: max-content;
}
.h-screen {
  height: 100vh;
}
.max-h-40 {
  max-height: 10rem;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.w-1\/2 {
  width: 50%;
}
.w-11 {
  width: 2.75rem;
}
.w-64 {
  width: 16rem;
}
.w-\[450px\] {
  width: 450px;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-screen-minus-64 {
  width: calc(100vw - 16rem);
}
.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-grow {
  flex-grow: 1;
}
.table-auto {
  table-layout: auto;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/4 {
  --tw-translate-y: -25%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-pointer {
  cursor: pointer;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.content-center {
  align-content: center;
}
.items-center {
  align-items: center;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.overflow-y-auto {
  overflow-y: auto;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(165 243 252 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-cyan-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.bg-cyan-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-green-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-pink-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(157 23 77 / var(--tw-bg-opacity, 1));
}
.bg-red-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.bg-red-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.bg-red-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}
.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.bg-slate-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[20px\] {
  padding: 20px;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.ps-20 {
  padding-inline-start: 5rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-start {
  text-align: start;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-thin {
  font-weight: 100;
}
.italic {
  font-style: italic;
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-gray-100 {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:start-\[6px\]::after {
  content: var(--tw-content);
  inset-inline-start: 6px;
}
.after\:top-1::after {
  content: var(--tw-content);
  top: 0.25rem;
}
.after\:h-4::after {
  content: var(--tw-content);
  height: 1rem;
}
.after\:w-4::after {
  content: var(--tw-content);
  width: 1rem;
}
.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}
.after\:border::after {
  content: var(--tw-content);
  border-width: 1px;
}
.after\:border-gray-300::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.after\:bg-white::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.after\:transition-all::after {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}
.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 78 99 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-950:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(80 7 36 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}
.hover\:text-cyan-400:hover {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-green-400:hover {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.hover\:text-orange-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-blue-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}
.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-teal-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-teal-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:after\:translate-x-full::after {
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.peer:checked ~ .peer-checked\:after\:border-white::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
@media (min-width: 768px) {

  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.peer:checked ~ .rtl\:peer-checked\:after\:-translate-x-full:where([dir="rtl"], [dir="rtl"] *)::after {
  content: var(--tw-content);
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (prefers-color-scheme: dark) {

  .dark\:border-gray-600 {
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  }

  .dark\:border-slate-700 {
    --tw-border-opacity: 1;
    border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
  }

  .dark\:bg-gray-700 {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  }

  .dark\:text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
  }

  .dark\:text-slate-400 {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
  }
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./assets/styles/app.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container {
  box-sizing: border-box;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  height: 100%;
  margin: 0;
  position: relative;
}

.ql-container.ql-disabled .ql-tooltip {
  visibility: hidden;
}

.ql-container:not(.ql-disabled) li[data-list=checked] > .ql-ui, .ql-container:not(.ql-disabled) li[data-list=unchecked] > .ql-ui {
  cursor: pointer;
}

.ql-clipboard {
  left: -100000px;
  height: 1px;
  overflow-y: hidden;
  position: absolute;
  top: 50%;
}

.ql-clipboard p {
  margin: 0;
  padding: 0;
}

.ql-editor {
  box-sizing: border-box;
  counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  line-height: 1.42;
  height: 100%;
  outline: none;
  overflow-y: auto;
  padding: 12px 15px;
  -o-tab-size: 4;
     tab-size: 4;
  -moz-tab-size: 4;
  text-align: left;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.ql-editor > * {
  cursor: text;
}

.ql-editor p, .ql-editor ol, .ql-editor pre, .ql-editor blockquote, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
  margin: 0;
  padding: 0;
}

@supports (counter-set: none) {
  .ql-editor p, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
    counter-set: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor p, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
    counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor table {
  border-collapse: collapse;
}

.ql-editor td {
  border: 1px solid #000;
  padding: 2px 5px;
}

.ql-editor ol {
  padding-left: 1.5em;
}

.ql-editor li {
  list-style-type: none;
  padding-left: 1.5em;
  position: relative;
}

.ql-editor li > .ql-ui:before {
  display: inline-block;
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
  white-space: nowrap;
  width: 1.2em;
}

.ql-editor li[data-list=checked] > .ql-ui, .ql-editor li[data-list=unchecked] > .ql-ui {
  color: #777;
}

.ql-editor li[data-list=bullet] > .ql-ui:before {
  content: "•";
}

.ql-editor li[data-list=checked] > .ql-ui:before {
  content: "☑";
}

.ql-editor li[data-list=unchecked] > .ql-ui:before {
  content: "☐";
}

@supports (counter-set: none) {
  .ql-editor li[data-list] {
    counter-set: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list] {
    counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered] {
  counter-increment: list-0;
}

.ql-editor li[data-list=ordered] > .ql-ui:before {
  content: counter(list-0, decimal) ". ";
}

.ql-editor li[data-list=ordered].ql-indent-1 {
  counter-increment: list-1;
}

.ql-editor li[data-list=ordered].ql-indent-1 > .ql-ui:before {
  content: counter(list-1, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-1 {
    counter-set: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-1 {
    counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-2 {
  counter-increment: list-2;
}

.ql-editor li[data-list=ordered].ql-indent-2 > .ql-ui:before {
  content: counter(list-2, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-2 {
    counter-set: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-2 {
    counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-3 {
  counter-increment: list-3;
}

.ql-editor li[data-list=ordered].ql-indent-3 > .ql-ui:before {
  content: counter(list-3, decimal) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-3 {
    counter-set: list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-3 {
    counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-4 {
  counter-increment: list-4;
}

.ql-editor li[data-list=ordered].ql-indent-4 > .ql-ui:before {
  content: counter(list-4, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-4 {
    counter-set: list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-4 {
    counter-reset: list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-5 {
  counter-increment: list-5;
}

.ql-editor li[data-list=ordered].ql-indent-5 > .ql-ui:before {
  content: counter(list-5, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-5 {
    counter-set: list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-5 {
    counter-reset: list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-6 {
  counter-increment: list-6;
}

.ql-editor li[data-list=ordered].ql-indent-6 > .ql-ui:before {
  content: counter(list-6, decimal) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-6 {
    counter-set: list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-6 {
    counter-reset: list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-7 {
  counter-increment: list-7;
}

.ql-editor li[data-list=ordered].ql-indent-7 > .ql-ui:before {
  content: counter(list-7, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-7 {
    counter-set: list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-7 {
    counter-reset: list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-8 {
  counter-increment: list-8;
}

.ql-editor li[data-list=ordered].ql-indent-8 > .ql-ui:before {
  content: counter(list-8, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-8 {
    counter-set: list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-8 {
    counter-reset: list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-9 {
  counter-increment: list-9;
}

.ql-editor li[data-list=ordered].ql-indent-9 > .ql-ui:before {
  content: counter(list-9, decimal) ". ";
}

.ql-editor .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}

.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}

.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}

.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}

.ql-editor .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}

.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}

.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}

.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}

.ql-editor .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}

.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}

.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}

.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}

.ql-editor .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}

.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}

.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}

.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}

.ql-editor .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}

.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}

.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}

.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}

.ql-editor .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}

.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}

.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}

.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}

.ql-editor .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}

.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}

.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}

.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}

.ql-editor .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}

.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}

.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}

.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}

.ql-editor .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}

.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}

.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}

.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}

.ql-editor li.ql-direction-rtl {
  padding-right: 1.5em;
}

.ql-editor li.ql-direction-rtl > .ql-ui:before {
  margin-left: 0.3em;
  margin-right: -1.5em;
  text-align: left;
}

.ql-editor table {
  table-layout: fixed;
  width: 100%;
}

.ql-editor table td {
  outline: none;
}

.ql-editor .ql-code-block-container {
  font-family: monospace;
}

.ql-editor .ql-video {
  display: block;
  max-width: 100%;
}

.ql-editor .ql-video.ql-align-center {
  margin: 0 auto;
}

.ql-editor .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}

.ql-editor .ql-bg-black {
  background-color: #000;
}

.ql-editor .ql-bg-red {
  background-color: #e60000;
}

.ql-editor .ql-bg-orange {
  background-color: #f90;
}

.ql-editor .ql-bg-yellow {
  background-color: #ff0;
}

.ql-editor .ql-bg-green {
  background-color: #008a00;
}

.ql-editor .ql-bg-blue {
  background-color: #06c;
}

.ql-editor .ql-bg-purple {
  background-color: #93f;
}

.ql-editor .ql-color-white {
  color: #fff;
}

.ql-editor .ql-color-red {
  color: #e60000;
}

.ql-editor .ql-color-orange {
  color: #f90;
}

.ql-editor .ql-color-yellow {
  color: #ff0;
}

.ql-editor .ql-color-green {
  color: #008a00;
}

.ql-editor .ql-color-blue {
  color: #06c;
}

.ql-editor .ql-color-purple {
  color: #93f;
}

.ql-editor .ql-font-serif {
  font-family: Georgia, Times New Roman, serif;
}

.ql-editor .ql-font-monospace {
  font-family: Monaco, Courier New, monospace;
}

.ql-editor .ql-size-small {
  font-size: 0.75em;
}

.ql-editor .ql-size-large {
  font-size: 1.5em;
}

.ql-editor .ql-size-huge {
  font-size: 2.5em;
}

.ql-editor .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}

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

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

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

.ql-editor .ql-ui {
  position: absolute;
}

.ql-editor.ql-blank::before {
  color: rgba(0, 0, 0, 0.6);
  content: attr(data-placeholder);
  font-style: italic;
  left: 15px;
  pointer-events: none;
  position: absolute;
  right: 15px;
}

.ql-snow.ql-toolbar:after, .ql-snow .ql-toolbar:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow.ql-toolbar button, .ql-snow .ql-toolbar button {
  background: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  float: left;
  height: 24px;
  padding: 3px 5px;
  width: 28px;
}

.ql-snow.ql-toolbar button svg, .ql-snow .ql-toolbar button svg {
  float: left;
  height: 100%;
}

.ql-snow.ql-toolbar button:active:hover, .ql-snow .ql-toolbar button:active:hover {
  outline: none;
}

.ql-snow.ql-toolbar input.ql-image[type=file], .ql-snow .ql-toolbar input.ql-image[type=file] {
  display: none;
}

.ql-snow.ql-toolbar button:hover, .ql-snow .ql-toolbar button:hover, .ql-snow.ql-toolbar button:focus, .ql-snow .ql-toolbar button:focus, .ql-snow.ql-toolbar button.ql-active, .ql-snow .ql-toolbar button.ql-active, .ql-snow.ql-toolbar .ql-picker-label:hover, .ql-snow .ql-toolbar .ql-picker-label:hover, .ql-snow.ql-toolbar .ql-picker-label.ql-active, .ql-snow .ql-toolbar .ql-picker-label.ql-active, .ql-snow.ql-toolbar .ql-picker-item:hover, .ql-snow .ql-toolbar .ql-picker-item:hover, .ql-snow.ql-toolbar .ql-picker-item.ql-selected, .ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #06c;
}

.ql-snow.ql-toolbar button:hover .ql-fill, .ql-snow .ql-toolbar button:hover .ql-fill, .ql-snow.ql-toolbar button:focus .ql-fill, .ql-snow .ql-toolbar button:focus .ql-fill, .ql-snow.ql-toolbar button.ql-active .ql-fill, .ql-snow .ql-toolbar button.ql-active .ql-fill, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill, .ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill, .ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill, .ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #06c;
}

.ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow .ql-toolbar button:hover .ql-stroke, .ql-snow.ql-toolbar button:focus .ql-stroke, .ql-snow .ql-toolbar button:focus .ql-stroke, .ql-snow.ql-toolbar button.ql-active .ql-stroke, .ql-snow .ql-toolbar button.ql-active .ql-stroke, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke, .ql-snow.ql-toolbar button:hover .ql-stroke-miter, .ql-snow .ql-toolbar button:hover .ql-stroke-miter, .ql-snow.ql-toolbar button:focus .ql-stroke-miter, .ql-snow .ql-toolbar button:focus .ql-stroke-miter, .ql-snow.ql-toolbar button.ql-active .ql-stroke-miter, .ql-snow .ql-toolbar button.ql-active .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #06c;
}

@media (pointer: coarse) {
  .ql-snow.ql-toolbar button:hover:not(.ql-active), .ql-snow .ql-toolbar button:hover:not(.ql-active) {
    color: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill, .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
    fill: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke, .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
    stroke: #444;
  }
}
.ql-snow {
  box-sizing: border-box;
}

.ql-snow * {
  box-sizing: border-box;
}

.ql-snow .ql-hidden {
  display: none;
}

.ql-snow .ql-out-bottom, .ql-snow .ql-out-top {
  visibility: hidden;
}

.ql-snow .ql-tooltip {
  position: absolute;
  transform: translateY(10px);
}

.ql-snow .ql-tooltip a {
  cursor: pointer;
  text-decoration: none;
}

.ql-snow .ql-tooltip.ql-flip {
  transform: translateY(-10px);
}

.ql-snow .ql-formats {
  display: inline-block;
  vertical-align: middle;
}

.ql-snow .ql-formats:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow .ql-stroke {
  fill: none;
  stroke: #444;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.ql-snow .ql-stroke-miter {
  fill: none;
  stroke: #444;
  stroke-miterlimit: 10;
  stroke-width: 2;
}

.ql-snow .ql-fill, .ql-snow .ql-stroke.ql-fill {
  fill: #444;
}

.ql-snow .ql-empty {
  fill: none;
}

.ql-snow .ql-even {
  fill-rule: evenodd;
}

.ql-snow .ql-thin, .ql-snow .ql-stroke.ql-thin {
  stroke-width: 1;
}

.ql-snow .ql-transparent {
  opacity: 0.4;
}

.ql-snow .ql-direction svg:last-child {
  display: none;
}

.ql-snow .ql-direction.ql-active svg:last-child {
  display: inline;
}

.ql-snow .ql-direction.ql-active svg:first-child {
  display: none;
}

.ql-snow .ql-editor h1 {
  font-size: 2em;
}

.ql-snow .ql-editor h2 {
  font-size: 1.5em;
}

.ql-snow .ql-editor h3 {
  font-size: 1.17em;
}

.ql-snow .ql-editor h4 {
  font-size: 1em;
}

.ql-snow .ql-editor h5 {
  font-size: 0.83em;
}

.ql-snow .ql-editor h6 {
  font-size: 0.67em;
}

.ql-snow .ql-editor a {
  text-decoration: underline;
}

.ql-snow .ql-editor blockquote {
  border-left: 4px solid #ccc;
  margin-bottom: 5px;
  margin-top: 5px;
  padding-left: 16px;
}

.ql-snow .ql-editor code, .ql-snow .ql-editor .ql-code-block-container {
  background-color: #f0f0f0;
  border-radius: 3px;
}

.ql-snow .ql-editor .ql-code-block-container {
  margin-bottom: 5px;
  margin-top: 5px;
  padding: 5px 10px;
}

.ql-snow .ql-editor code {
  font-size: 85%;
  padding: 2px 4px;
}

.ql-snow .ql-editor .ql-code-block-container {
  background-color: #23241f;
  color: #f8f8f2;
  overflow: visible;
}

.ql-snow .ql-editor img {
  max-width: 100%;
}

.ql-snow .ql-picker {
  color: #444;
  display: inline-block;
  float: left;
  font-size: 14px;
  font-weight: 500;
  height: 24px;
  position: relative;
  vertical-align: middle;
}

.ql-snow .ql-picker-label {
  cursor: pointer;
  display: inline-block;
  height: 100%;
  padding-left: 8px;
  padding-right: 2px;
  position: relative;
  width: 100%;
}

.ql-snow .ql-picker-label::before {
  display: inline-block;
  line-height: 22px;
}

.ql-snow .ql-picker-options {
  background-color: #fff;
  display: none;
  min-width: 100%;
  padding: 4px 8px;
  position: absolute;
  white-space: nowrap;
}

.ql-snow .ql-picker-options .ql-picker-item {
  cursor: pointer;
  display: block;
  padding-bottom: 5px;
  padding-top: 5px;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #ccc;
  z-index: 2;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  display: block;
  margin-top: -1px;
  top: 100%;
  z-index: 1;
}

.ql-snow .ql-color-picker, .ql-snow .ql-icon-picker {
  width: 28px;
}

.ql-snow .ql-color-picker .ql-picker-label, .ql-snow .ql-icon-picker .ql-picker-label {
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-label svg, .ql-snow .ql-icon-picker .ql-picker-label svg {
  right: 4px;
}

.ql-snow .ql-icon-picker .ql-picker-options {
  padding: 4px 0;
}

.ql-snow .ql-icon-picker .ql-picker-item {
  height: 24px;
  width: 24px;
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-options {
  padding: 3px 5px;
  width: 152px;
}

.ql-snow .ql-color-picker .ql-picker-item {
  border: 1px solid transparent;
  float: left;
  height: 16px;
  margin: 2px;
  padding: 0;
  width: 16px;
}

.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  position: absolute;
  margin-top: -9px;
  right: 0;
  top: 50%;
  width: 18px;
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""])::before {
  content: attr(data-label);
}

.ql-snow .ql-picker.ql-header {
  width: 98px;
}

.ql-snow .ql-picker.ql-header .ql-picker-label::before, .ql-snow .ql-picker.ql-header .ql-picker-item::before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  content: "Heading 1";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  content: "Heading 2";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  content: "Heading 3";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  content: "Heading 4";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  content: "Heading 5";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  content: "Heading 6";
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  font-size: 2em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  font-size: 1.5em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  font-size: 1.17em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  font-size: 1em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  font-size: 0.83em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  font-size: 0.67em;
}

.ql-snow .ql-picker.ql-font {
  width: 108px;
}

.ql-snow .ql-picker.ql-font .ql-picker-label::before, .ql-snow .ql-picker.ql-font .ql-picker-item::before {
  content: "Sans Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  content: "Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  content: "Monospace";
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  font-family: Georgia, Times New Roman, serif;
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  font-family: Monaco, Courier New, monospace;
}

.ql-snow .ql-picker.ql-size {
  width: 98px;
}

.ql-snow .ql-picker.ql-size .ql-picker-label::before, .ql-snow .ql-picker.ql-size .ql-picker-item::before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  content: "Small";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  content: "Large";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  content: "Huge";
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  font-size: 10px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  font-size: 18px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  font-size: 32px;
}

.ql-snow .ql-color-picker.ql-background .ql-picker-item {
  background-color: #fff;
}

.ql-snow .ql-color-picker.ql-color .ql-picker-item {
  background-color: #000;
}

.ql-code-block-container {
  position: relative;
}

.ql-code-block-container .ql-ui {
  right: 5px;
  top: 5px;
}

.ql-toolbar.ql-snow {
  border: 1px solid #ccc;
  box-sizing: border-box;
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  padding: 8px;
}

.ql-toolbar.ql-snow .ql-formats {
  margin-right: 15px;
}

.ql-toolbar.ql-snow .ql-picker-label {
  border: 1px solid transparent;
}

.ql-toolbar.ql-snow .ql-picker-options {
  border: 1px solid transparent;
  box-shadow: rgba(0, 0, 0, 0.2) 0 2px 8px;
}

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  border-color: #ccc;
}

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  border-color: #ccc;
}

.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected, .ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
  border-color: #000;
}

.ql-toolbar.ql-snow + .ql-container.ql-snow {
  border-top: 0;
}

.ql-snow .ql-tooltip {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 0 5px #ddd;
  color: #444;
  padding: 5px 12px;
  white-space: nowrap;
}

.ql-snow .ql-tooltip::before {
  content: "Visit URL:";
  line-height: 26px;
  margin-right: 8px;
}

.ql-snow .ql-tooltip input[type=text] {
  display: none;
  border: 1px solid #ccc;
  font-size: 13px;
  height: 26px;
  margin: 0;
  padding: 3px 5px;
  width: 170px;
}

.ql-snow .ql-tooltip a.ql-preview {
  display: inline-block;
  max-width: 200px;
  overflow-x: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.ql-snow .ql-tooltip a.ql-action::after {
  border-right: 1px solid #ccc;
  content: "Edit";
  margin-left: 16px;
  padding-right: 8px;
}

.ql-snow .ql-tooltip a.ql-remove::before {
  content: "Remove";
  margin-left: 8px;
}

.ql-snow .ql-tooltip a {
  line-height: 26px;
}

.ql-snow .ql-tooltip.ql-editing a.ql-preview, .ql-snow .ql-tooltip.ql-editing a.ql-remove {
  display: none;
}

.ql-snow .ql-tooltip.ql-editing input[type=text] {
  display: inline-block;
}

.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
  border-right: 0;
  content: "Save";
  padding-right: 0;
}

.ql-snow .ql-tooltip[data-mode=link]::before {
  content: "Enter link:";
}

.ql-snow .ql-tooltip[data-mode=formula]::before {
  content: "Enter formula:";
}

.ql-snow .ql-tooltip[data-mode=video]::before {
  content: "Enter video:";
}

.ql-snow a {
  color: #06c;
}

.ql-container.ql-snow {
  border: 1px solid #ccc;
}
@keyframes notyf-fadeinup {
  0% {
    opacity: 0;
    transform: translateY(25%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes notyf-fadeinleft {
  0% {
    opacity: 0;
    transform: translateX(25%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes notyf-fadeoutright {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(25%);
  }
}
@keyframes notyf-fadeoutdown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(25%);
  }
}
@keyframes ripple {
  0% {
    transform: scale(0) translateY(-45%) translateX(13%);
  }
  to {
    transform: scale(1) translateY(-45%) translateX(13%);
  }
}
.notyf {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  color: #fff;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  pointer-events: none;
  box-sizing: border-box;
  padding: 20px;
}

.notyf__icon--error, .notyf__icon--success {
  height: 21px;
  width: 21px;
  background: #fff;
  border-radius: 50%;
  display: block;
  margin: 0 auto;
  position: relative;
}

.notyf__icon--error:after, .notyf__icon--error:before {
  content: "";
  background: currentColor;
  display: block;
  position: absolute;
  width: 3px;
  border-radius: 3px;
  left: 9px;
  height: 12px;
  top: 5px;
}

.notyf__icon--error:after {
  transform: rotate(-45deg);
}

.notyf__icon--error:before {
  transform: rotate(45deg);
}

.notyf__icon--success:after, .notyf__icon--success:before {
  content: "";
  background: currentColor;
  display: block;
  position: absolute;
  width: 3px;
  border-radius: 3px;
}

.notyf__icon--success:after {
  height: 6px;
  transform: rotate(-45deg);
  top: 9px;
  left: 6px;
}

.notyf__icon--success:before {
  height: 11px;
  transform: rotate(45deg);
  top: 5px;
  left: 10px;
}

.notyf__toast {
  display: block;
  overflow: hidden;
  pointer-events: auto;
  animation: notyf-fadeinup 0.3s ease-in forwards;
  box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.25);
  position: relative;
  padding: 0 15px;
  border-radius: 2px;
  max-width: 300px;
  transform: translateY(25%);
  box-sizing: border-box;
  flex-shrink: 0;
}

.notyf__toast--disappear {
  transform: translateY(0);
  animation: notyf-fadeoutdown 0.3s forwards;
  animation-delay: 0.25s;
}

.notyf__toast--disappear .notyf__icon, .notyf__toast--disappear .notyf__message {
  animation: notyf-fadeoutdown 0.3s forwards;
  opacity: 1;
  transform: translateY(0);
}

.notyf__toast--disappear .notyf__dismiss {
  animation: notyf-fadeoutright 0.3s forwards;
  opacity: 1;
  transform: translateX(0);
}

.notyf__toast--disappear .notyf__message {
  animation-delay: 0.05s;
}

.notyf__toast--upper {
  margin-bottom: 20px;
}

.notyf__toast--lower {
  margin-top: 20px;
}

.notyf__toast--dismissible .notyf__wrapper {
  padding-right: 30px;
}

.notyf__ripple {
  height: 400px;
  width: 400px;
  position: absolute;
  transform-origin: bottom right;
  right: 0;
  top: 0;
  border-radius: 50%;
  transform: scale(0) translateY(-51%) translateX(13%);
  z-index: 5;
  animation: ripple 0.4s ease-out forwards;
}

.notyf__wrapper {
  display: flex;
  align-items: center;
  padding-top: 17px;
  padding-bottom: 17px;
  padding-right: 15px;
  border-radius: 3px;
  position: relative;
  z-index: 10;
}

.notyf__icon {
  width: 22px;
  text-align: center;
  font-size: 1.3em;
  opacity: 0;
  animation: notyf-fadeinup 0.3s forwards;
  animation-delay: 0.3s;
  margin-right: 13px;
}

.notyf__dismiss {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 26px;
  margin-right: -15px;
  animation: notyf-fadeinleft 0.3s forwards;
  animation-delay: 0.35s;
  opacity: 0;
}

.notyf__dismiss-btn {
  background-color: rgba(0, 0, 0, 0.25);
  border: none;
  cursor: pointer;
  transition: opacity 0.2s ease, background-color 0.2s ease;
  outline: none;
  opacity: 0.35;
  height: 100%;
  width: 100%;
}

.notyf__dismiss-btn:after, .notyf__dismiss-btn:before {
  content: "";
  background: #fff;
  height: 12px;
  width: 2px;
  border-radius: 3px;
  position: absolute;
  left: calc(50% - 1px);
  top: calc(50% - 5px);
}

.notyf__dismiss-btn:after {
  transform: rotate(-45deg);
}

.notyf__dismiss-btn:before {
  transform: rotate(45deg);
}

.notyf__dismiss-btn:hover {
  opacity: 0.7;
  background-color: rgba(0, 0, 0, 0.15);
}

.notyf__dismiss-btn:active {
  opacity: 0.8;
}

.notyf__message {
  vertical-align: middle;
  position: relative;
  opacity: 0;
  animation: notyf-fadeinup 0.3s forwards;
  animation-delay: 0.25s;
  line-height: 1.5em;
}

@media only screen and (max-width: 480px) {
  .notyf {
    padding: 0;
  }
  .notyf__ripple {
    height: 600px;
    width: 600px;
    animation-duration: 0.5s;
  }
  .notyf__toast {
    max-width: none;
    border-radius: 0;
    box-shadow: 0 -2px 7px 0 rgba(0, 0, 0, 0.13);
    width: 100%;
  }
  .notyf__dismiss {
    width: 56px;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(359deg);
  }
}
.spin {
  transform-origin: center center;
  animation: spin 2s linear infinite;
  color: #29884a;
}

html {
  font-size: 14px;
}

body.login {
  background: url(/build/images/cercle.40d252d6.svg) no-repeat center center rgb(30, 41, 59);
  background-size: cover;
}

button.swal2-confirm {
  background: #0f6674;
}
button.swal2-confirm.bg-cyan-600 {
  background: #0891b2;
}

.swal2-html-container label {
  font-weight: bold;
  color: #242424;
  margin-top: 15px;
  margin-bottom: 5px;
  display: block;
}
.swal2-html-container input, .swal2-html-container select {
  background: #F5F5F5;
  padding: 5px 10px;
  border-radius: 6px;
  color: black;
  margin: 0;
  width: 150px;
}
.swal2-html-container input:focus, .swal2-html-container input:active, .swal2-html-container select:focus, .swal2-html-container select:active {
  border: 1px solid black;
  box-shadow: none;
  outline: none;
}

form div {
  display: flex;
}
form div:not(.no-m) {
  margin-bottom: 6px;
}
form div:not(.row) {
  flex-direction: column;
}
form div.adjust div {
  width: 50%;
}
form div label {
  color: #ccc;
}
form div .help-text {
  color: #ccc;
}
form div input {
  background: #f3f3f3;
  padding: 8px 6px;
  border-radius: 5px;
  color: #242424;
}

.document input {
  background: #f3f3f3;
  padding: 8px 6px;
  border-radius: 5px;
  border: none;
  color: #242424;
}
.document textarea {
  background: #f3f3f3;
  padding: 8px 6px;
  border-radius: 5px;
  border: 1px solid #ccc;
}

.document-table.invoice table thead tr th{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.document-table.invoice nav button[data-p-active=true] {
  background: #BBF7D0 !important;
}
.document-table.quotation table thead tr th {
  background: #EA580C;
}
.document-table.quotation nav button[data-p-active=true] {
  background: #efb597 !important;
}
.document-table.products table thead tr th{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.document-table.products nav button[data-p-active=true] {
  background: #adeaec !important;
}
.document-table.customers table thead tr th{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.document-table.customers nav button[data-p-active=true] {
  background: #ffefa6 !important;
}
.document-table table {
  border-radius: 8px 8px 0 0;
  width: 100%;
}
.document-table table tr {
  height: 45px;
  border-bottom: 1px solid #ccc;
}
.document-table table tr th {
  padding: 10px 5px;
}
.document-table table tr td {
  padding: 8px 5px;
  height: 45px;
}
.document-table table thead {
  border-radius: 8px 8px 0 0;
}
.document-table table thead tr {
  border-radius: 8px 8px 0 0;
}
.document-table table thead tr th {
  color: white;
  text-align: left;
  background: #242424;
}
.document-table table thead tr th:first-child {
  border-radius: 8px 0 0 0;
}
.document-table table thead tr th:last-child {
  border-radius: 0 8px 0 0;
}
.document-table table thead tr th div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.document-table table tbody tr:nth-child(even) {
  background: rgb(241, 245, 249);
}
.document-table table tbody tr td:first-child {
  border-left: 1px solid #CCC;
}
.document-table table tbody tr td:last-child {
  border-right: 1px solid #CCC;
}
.document-table table tbody tr:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.document-table nav [data-pc-name=pcpaginator] {
  width: 100%;
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] {
  width: 100%;
  display: flex;
  gap: 5px;
  align-items: center;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] button[disabled] {
  opacity: 0.2;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-group-section=pagedropdown] {
  display: flex;
  align-items: center;
  padding: 1px 5px;
  background: #e2e8f0;
  border-radius: 4px;
  gap: 8px;
  justify-content: space-between;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-section=pages] {
  display: flex;
  gap: 3px;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-section=pages] button {
  background: none;
  border-radius: 4px;
  height: 30px;
  width: 30px;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-section=pages] button[data-p-active=true] {
  border-radius: 50%;
  background: #6BBBB2;
}

ul[data-pc-section=list] {
  background: #e2e8f0;
  border-radius: 5px;
  padding: 3px;
}
ul[data-pc-section=list] li {
  text-align: center;
}

.dfa-button{
  display: flex;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dfa-button.large{
  display: flex;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  border-radius: 0.375rem;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dfa-button.circle {
  padding: 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.dfa-button:hover {
  cursor: pointer;
}

table.dfa-table {
  width: 100%;
}
table.dfa-table thead tr th{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
  padding: 1rem;
  padding-left: 2rem;
  text-align: left;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
@media (prefers-color-scheme: dark){
  table.dfa-table thead tr th{
    --tw-border-opacity: 1;
    border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
  }
}
table.dfa-table tbody tr:last-of-type td{
  border-width: 0px;
  padding: 1rem;
  padding-left: 2rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
table.dfa-table tbody tr td{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
  padding: 1rem;
  padding-left: 2rem;
}
@media (prefers-color-scheme: dark){
  table.dfa-table tbody tr td{
    --tw-border-opacity: 1;
    border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
  }
}
table.dfa-table tbody tr td:not(.text-white){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.chip{
  display: flex;
  align-items: center;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.chip.draft{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.chip.issued{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.chip.sent{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.chip.clicked{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.chip.read{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.chip.paid{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
table.dfa-table tbody tr td:not(.chip.paid){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.chip.invoiced{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.chip.quotation-ref{
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
  color: white;
}
.chip.invoice-ref{
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
  color: white;
}

.swal2-confirm.warning {
  background: #ff8800;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background: rgba(0, 0, 0, 0.5);
  animation: fade-in 0.3s linear;
  z-index: 995;
}

.slider {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 40vw;
  transform: translateX(101%);
  transition: transform 0.5s ease-in-out;
  background: white;
  padding: 50px;
  overflow: auto;
  z-index: 999;
}
.slider.visible {
  transform: translateX(0);
  box-shadow: 0 -30px 30px rgba(0, 0, 0, 0.5), 0 -60px 50px rgba(0, 0, 0, 0.4);
}
.slider embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ql-toolbar.ql-snow {
  display: flex;
  flex-direction: row;
  margin: 0;
}

.ql-container.ql-snow {
  min-height: 150px !important;
}

.context-menu {
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  background: rgba(0, 0, 0, 0.9);
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6), 8px 8px 20px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  padding: 15px;
  z-index: 9999;
  animation: fade-in 0.2s linear;
}
.context-menu hr {
  margin: 7px 0;
}
.context-menu li {
  transition: 0.25s;
  white-space: nowrap;
  padding: 3px 10px;
}
.context-menu li.title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.context-menu li.no-p {
  padding: 3px 5px;
  border-radius: 4px;
  margin-bottom: 7px;
}
.context-menu li a {
  transition: 0.25s;
  color: #d0d0d0;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9);
  white-space: nowrap;
}
.context-menu li a:hover {
  cursor: pointer;
}

.payment-notif-container {
  min-height: 100vh;
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.payment-notif-container .logo {
  margin-top: 15px;
  margin-bottom: 20px;
}
.payment-notif-container .payment-info {
  background: white;
  border-radius: 12px;
  border: 1px;
  box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.6);
  width: 550px;
  max-width: 90vw;
}
.payment-notif-container .payment-info .head {
  border-radius: 12px 12px 0 0;
  font-size: 2rem;
  padding: 25px 0;
}
.payment-notif-container .payment-info .content {
  padding: 25px;
}
.payment-notif-container .payment-info .content p {
  font-size: 1.2rem;
}
.payment-notif-container .payment-info .content p.receipt {
  padding: 10px;
  background: #eeeeee;
  border-radius: 8px;
}
.payment-notif-container .payment-info .content p a {
  text-decoration: underline;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBOEtBO0lBQ0ksWUFBWTtJQUNaLFdBQVc7QUFDZjtBQUVBO0FBQ0k7UUFDSSxpQkFBaUI7QUFDckI7QUFDQTtRQUNJLGlCQUFpQjtBQUNyQjtBQUNKO0FBRUE7SUFDSSxVQUFVO0FBQ2Q7QUFDQTtBQy9MQTtJRGdNSSxZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCO0lBN0tBO0FBOEtBO0FBRUE7QUFDQTtBQUNBO0FBRUo7QUFFQTtBQUNJO1FBQ0ksYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsWUFBWTtBQUNoQjtBQUNKOzs7Ozs7QUVvQ0E7QUR6UEE7O0lDMlBJO0FBdFBKO0FBd1BJO1FBQ0ksYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixtQkFBbUI7QUFDdkI7QUFFSjs7Ozs7OztBQ29ZQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFFSTtBRjVvQko7UUU2b0JRO0lBcm9CSjtBQXNvQkk7QUFDSTtBQUNJO29CQUNJLGlCQUFpQjtBQUNyQjtBQUNKO0FBQ0E7QUFFQTtBQUNKO0FBQ0o7QUFDQTtBQUNJO1lBQ0ksZUFBZTtBQUNuQjtBQUNKOzs7Ozs7O0FDa0JKO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtBQUMxQjtBQUVBO0lBQ0ksaUJBQWlCLEVBQUUsd0NBQXdDO0lBQzNELFdBQVc7QUFDZjtBQUdJO0FIMXJCSjtRRzJyQlE7SUEvcUJKO0FBZ3JCSTtBQUNJO0FBQ0k7b0JBQ0ksaUJBQWlCO0FBQ3JCO0FBQ0o7QUFDQTtBQUVBO0FBQ0o7QUFDSjtBQUNBO0FBQ0k7WUFDSSxlQUFlO0FBQ25CO0FBQ0o7Ozs7Ozs7QUNya0JBO0FKdElKO1FJdUlRLGlCQUFpQjtRQUNqQix1QkFBa0I7UUFBbEIsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLG1DQUFtQztRQUNuQyxZQUFZO1FBQ1o7QUFsSVI7QUFtSVE7WUFDSSxrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsTUFBTTtZQUNOLDBCQUEwQjtZQUMxQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2YsZUFBZTtZQUNmLGlCQUFpQjtBQUNyQjtBQUNKOzs7Ozs7QUM4T0E7UUFDSSxrQkFBa0I7QUFDdEI7QUFDQTtRQUNJLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1IsTUFBTTtRQUNOLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQix1Q0FBdUM7UUFDdkMsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsY0FBYztBQUNsQjs7Ozs7O0FDclRGO01BQ0ksYUFBYTtNQUNiLHNCQUFzQjtBQUMxQjs7Ozs7Ozs7QUN1R0U7QVBoTko7UU9pTlEsaUJBQWlCO1FBQ2pCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0IsbUNBQW1DO1FBQ25DO0FBNU1SO0FBNk1RO1lBQ0ksa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLE1BQU07WUFDTiwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWix3QkFBd0I7WUFDeEIsZUFBZTtZQUNmLGVBQWU7WUFDZixpQkFBaUI7QUFDckI7QUFDSjs7Ozs7O0FDb0tBO1FBQ0ksa0JBQWtCO0FBQ3RCO0FBQ0E7UUFDSSxrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLE1BQU07UUFDTixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsdUNBQXVDO1FBQ3ZDLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGNBQWM7QUFDbEI7Ozs7O0FDMVpKO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQsc0JBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQscUJBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQsc0JBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQscUJBQWM7RUFBZDtBQUFjLENBQWQ7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7Ozs7Q0FBYzs7QUFBZDs7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCwrSEFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7RUFBZCx3Q0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7Ozs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCx1QkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBOztBQUFkLHdFQUFjO0FBQWQ7RUFBQSxhQUFjO0FBQUE7QUFDZDtFQUFBO0FBQW9CO0FBQXBCOztFQUFBO0lBQUE7RUFBb0I7QUFBQTtBQUFwQjs7RUFBQTtJQUFBO0VBQW9CO0FBQUE7QUFBcEI7O0VBQUE7SUFBQTtFQUFvQjtBQUFBO0FBQXBCOztFQUFBO0lBQUE7RUFBb0I7QUFBQTtBQUFwQjs7RUFBQTtJQUFBO0VBQW9CO0FBQUE7QUFDcEI7RUFBQSxrQkFBbUI7RUFBbkIsVUFBbUI7RUFBbkIsV0FBbUI7RUFBbkIsVUFBbUI7RUFBbkIsWUFBbUI7RUFBbkIsZ0JBQW1CO0VBQW5CLHNCQUFtQjtFQUFuQixtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGFBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxjQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGFBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSwyQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjs7RUFBQTtJQUFBO0VBQW1CO0FBQUE7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsNERBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsK0VBQW1CO0VBQW5CLG1HQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZFQUFtQjtFQUFuQixpR0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGdLQUFtQjtFQUFuQix3SkFBbUI7RUFBbkIsaUxBQW1CO0VBQW5CLHdEQUFtQjtFQUFuQjtBQUFtQjtBQUZuQjtFQUFBLDBCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQixzQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSwwQkFFb0I7RUFGcEIsa0JBRW9CO0VBRnBCO0FBRW9CO0FBRnBCO0VBQUEsMEJBRW9CO0VBRnBCLHdCQUVvQjtFQUZwQix3REFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxnQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxrQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxvQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxvQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxvQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxvQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxvQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSxvQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQTtBQUVvQjtBQUZwQjtFQUFBLDhCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDJHQUVvQjtFQUZwQix5R0FFb0I7RUFGcEI7QUFFb0I7QUFGcEI7RUFBQSwyR0FFb0I7RUFGcEIseUdBRW9CO0VBRnBCO0FBRW9CO0FBRnBCO0VBQUEsb0JBRW9CO0VBRnBCO0FBRW9CO0FBRnBCO0VBQUEsb0JBRW9CO0VBRnBCO0FBRW9CO0FBRnBCO0VBQUEsb0JBRW9CO0VBRnBCO0FBRW9CO0FBRnBCO0VBQUEsa0JBRW9CO0VBRnBCO0FBRW9CO0FBRnBCO0VBQUEsMEJBRW9CO0VBRnBCLHNCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjtFQUFBLDBCQUVvQjtFQUZwQixzQkFFb0I7RUFGcEI7QUFFb0I7QUFGcEI7O0VBQUE7SUFBQTtFQUVvQjs7RUFGcEI7SUFBQTtFQUVvQjs7RUFGcEI7SUFBQTtFQUVvQjs7RUFGcEI7SUFBQTtFQUVvQjtBQUFBO0FBRnBCO0VBQUEsMEJBRW9CO0VBRnBCLHVCQUVvQjtFQUZwQjtBQUVvQjtBQUZwQjs7RUFBQTtJQUFBLHNCQUVvQjtJQUZwQjtFQUVvQjs7RUFGcEI7SUFBQSxzQkFFb0I7SUFGcEI7RUFFb0I7O0VBRnBCO0lBQUEsa0JBRW9CO0lBRnBCO0VBRW9COztFQUZwQjtJQUFBLG9CQUVvQjtJQUZwQjtFQUVvQjs7RUFGcEI7SUFBQSxvQkFFb0I7SUFGcEI7RUFFb0I7QUFBQSxDOzs7O0FDRnBCLGdCQUFnQjtBQ0FoQjs7Ozs7O0VBQUE7QUFPQTtFQUFjO0VBQXNCO0VBQXVDO0VBQWU7RUFBWTtFQUFTO0FEUS9HOztBQ1JpSTtFQUFzQztBRFl2Szs7QUNaeUw7RUFBZ0k7QURnQnpUOztBQ2hCd1U7RUFBYztFQUFlO0VBQVc7RUFBa0I7RUFBa0I7QUR3QnBaOztBQ3hCNFo7RUFBZ0I7RUFBUztBRDZCcmI7O0FDN0IrYjtFQUFXO0VBQXNCO0VBQW9GO0VBQWlCO0VBQVk7RUFBYTtFQUFnQjtFQUFrQjtLQUFBO0VBQVc7RUFBZ0I7RUFBZ0I7RUFBcUI7QUQ0Q2hzQjs7QUM1Q3F0QjtFQUFlO0FEZ0RwdUI7O0FDaERndkI7RUFBb0o7RUFBUztBRHFENzRCOztBQ3JEdTVCO0VBQTZCO0lBQWlHO0VEMERuaEM7QUFDRjtBQzNEd21DO0VBQWlDO0lBQWlHO0VEK0R4dUM7QUFDRjtBQ2hFK3pDO0VBQWlCO0FEbUVoMUM7O0FDbkV5MkM7RUFBYztFQUFzQjtBRHdFNzRDOztBQ3hFNjVDO0VBQWM7QUQ0RTM2Qzs7QUM1RTg3QztFQUFjO0VBQXFCO0VBQW1CO0FEa0ZwL0M7O0FDbEZzZ0Q7RUFBOEI7RUFBcUI7RUFBbUI7RUFBa0I7RUFBaUI7RUFBbUI7QUQyRmxvRDs7QUMzRjhvRDtFQUFzRjtBRCtGcHVEOztBQy9GK3VEO0VBQWdEO0FEbUcveEQ7O0FDbkcreUQ7RUFBaUQ7QUR1R2gyRDs7QUN2R2czRDtFQUFtRDtBRDJHbjZEOztBQzNHbTdEO0VBQTZCO0lBQXlCO0VEZ0h2K0Q7QUFDRjtBQ2pIcWpFO0VBQWlDO0lBQXlCO0VEcUg3bUU7QUFDRjtBQ3RINnJFO0VBQWlDO0FEeUg5dEU7O0FDekh1dkU7RUFBaUQ7QUQ2SHh5RTs7QUM3SDgwRTtFQUE2QztBRGlJMzNFOztBQ2pJbzVFO0VBQTZEO0FEcUlqOUU7O0FDckkyL0U7RUFBNkI7SUFBcUM7RUQwSTNqRjtBQUNGO0FDM0lrb0Y7RUFBaUM7SUFBcUM7RUQrSXRzRjtBQUNGO0FDaEord0Y7RUFBNkM7QURtSjV6Rjs7QUNuSnExRjtFQUE2RDtBRHVKbDVGOztBQ3ZKNDdGO0VBQTZCO0lBQXFDO0VENEo1L0Y7QUFDRjtBQzdKNGpHO0VBQWlDO0lBQXFDO0VEaUtob0c7QUFDRjtBQ2xLa3NHO0VBQTZDO0FEcUsvdUc7O0FDckt3d0c7RUFBNkQ7QUR5S3IwRzs7QUN6SzIyRztFQUE2QjtJQUFxQztFRDhLMzZHO0FBQ0Y7QUMvS28rRztFQUFpQztJQUFxQztFRG1MeGlIO0FBQ0Y7QUNwTG1tSDtFQUE2QztBRHVMaHBIOztBQ3ZMeXFIO0VBQTZEO0FEMkx0dUg7O0FDM0xneEg7RUFBNkI7SUFBcUM7RURnTWgxSDtBQUNGO0FDak1rNEg7RUFBaUM7SUFBcUM7RURxTXQ4SDtBQUNGO0FDdE0wL0g7RUFBNkM7QUR5TXZpSTs7QUN6TWdrSTtFQUE2RDtBRDZNN25JOztBQzdNdXFJO0VBQTZCO0lBQXFDO0VEa052dUk7QUFDRjtBQ25Oa3hJO0VBQWlDO0lBQXFDO0VEdU50MUk7QUFDRjtBQ3hObTRJO0VBQTZDO0FEMk5oN0k7O0FDM055OEk7RUFBNkQ7QUQrTnRnSjs7QUMvTjRpSjtFQUE2QjtJQUFxQztFRG9PNW1KO0FBQ0Y7QUNyT2dwSjtFQUFpQztJQUFxQztFRHlPcHRKO0FBQ0Y7QUMxTzB2SjtFQUE2QztBRDZPdnlKOztBQzdPZzBKO0VBQTZEO0FEaVA3M0o7O0FDalB1Nko7RUFBNkI7SUFBcUM7RURzUHYrSjtBQUNGO0FDdlBvZ0s7RUFBaUM7SUFBcUM7RUQyUHhrSztBQUNGO0FDNVB1bUs7RUFBNkM7QUQrUHBwSzs7QUMvUDZxSztFQUE2RDtBRG1RMXVLOztBQ25Rb3hLO0VBQTZCO0lBQXFDO0VEd1FwMUs7QUFDRjtBQ3pRMDJLO0VBQWlDO0lBQXFDO0VENlE5Nks7QUFDRjtBQzlRczhLO0VBQTZDO0FEaVJuL0s7O0FDalI0Z0w7RUFBNkQ7QURxUnprTDs7QUNyUittTDtFQUErQztBRHlSOXBMOztBQ3pSK3FMO0VBQWlEO0FENlJodUw7O0FDN1Jtdkw7RUFBd0Q7QURpUzN5TDs7QUNqUzZ6TDtFQUEwRDtBRHFTdjNMOztBQ3JTMjRMO0VBQStDO0FEeVMxN0w7O0FDelMyOEw7RUFBaUQ7QUQ2UzUvTDs7QUM3UytnTTtFQUF3RDtBRGlUdmtNOztBQ2pUeWxNO0VBQTBEO0FEcVRucE07O0FDclR1cU07RUFBK0M7QUR5VHR0TTs7QUN6VHV1TTtFQUFpRDtBRDZUeHhNOztBQzdUNHlNO0VBQXdEO0FEaVVwMk07O0FDalVzM007RUFBMEQ7QURxVWg3TTs7QUNyVXE4TTtFQUErQztBRHlVcC9NOztBQ3pVc2dOO0VBQWlEO0FENlV2ak47O0FDN1Uya047RUFBd0Q7QURpVm5vTjs7QUNqVnNwTjtFQUEwRDtBRHFWaHROOztBQ3JWcXVOO0VBQStDO0FEeVZweE47O0FDelZzeU47RUFBaUQ7QUQ2VnYxTjs7QUM3VjIyTjtFQUF3RDtBRGlXbjZOOztBQ2pXczdOO0VBQTBEO0FEcVdoL047O0FDcldxZ087RUFBK0M7QUR5V3BqTzs7QUN6V3NrTztFQUFpRDtBRDZXdm5POztBQzdXMm9PO0VBQXdEO0FEaVhuc087O0FDalhzdE87RUFBMEQ7QURxWGh4Tzs7QUNyWHF5TztFQUErQztBRHlYcDFPOztBQ3pYczJPO0VBQWlEO0FENlh2NU87O0FDN1gyNk87RUFBd0Q7QURpWW4rTzs7QUNqWXMvTztFQUEwRDtBRHFZaGpQOztBQ3JZcWtQO0VBQStDO0FEeVlwblA7O0FDellzb1A7RUFBaUQ7QUQ2WXZyUDs7QUM3WTJzUDtFQUF3RDtBRGlabndQOztBQ2pac3hQO0VBQTBEO0FEcVpoMVA7O0FDclpxMlA7RUFBK0M7QUR5WnA1UDs7QUN6WnM2UDtFQUFpRDtBRDZadjlQOztBQzdaMitQO0VBQXdEO0FEaWFuaVE7O0FDamFzalE7RUFBMEQ7QURxYWhuUTs7QUNyYXFvUTtFQUErQjtBRHlhcHFROztBQ3phd3JRO0VBQStDO0VBQWlCO0VBQW9CO0FEK2E1d1E7O0FDL2E0eFE7RUFBaUI7RUFBbUI7QURvYmgwUTs7QUNwYjIwUTtFQUFvQjtBRHdiLzFROztBQ3hiNDJRO0VBQW9DO0FENGJoNVE7O0FDNWJzNlE7RUFBcUI7RUFBYztBRGljejhROztBQ2pjdzlRO0VBQXFDO0FEcWM3L1E7O0FDcmMyZ1I7RUFBb0M7QUR5Yy9pUjs7QUN6Y2lrUjtFQUF3QjtBRDZjemxSOztBQzdjK21SO0VBQXNCO0FEaWRyb1I7O0FDamQ4cFI7RUFBeUI7QURxZHZyUjs7QUNyZDZzUjtFQUF5QjtBRHlkdHVSOztBQ3pkNHZSO0VBQXdCO0FENmRweFI7O0FDN2Q2eVI7RUFBdUI7QURpZXAwUjs7QUNqZTAxUjtFQUF5QjtBRHFlbjNSOztBQ3JleTRSO0VBQTJCO0FEeWVwNlI7O0FDemUrNlI7RUFBeUI7QUQ2ZXg4Ujs7QUM3ZXM5UjtFQUE0QjtBRGlmbC9SOztBQ2pmNi9SO0VBQTRCO0FEcWZ6aFM7O0FDcmZvaVM7RUFBMkI7QUR5Zi9qUzs7QUN6ZjZrUztFQUEwQjtBRDZmdm1TOztBQzdma25TO0VBQTRCO0FEaWdCOW9TOztBQ2pnQnlwUztFQUEwQjtBRHFnQm5yUzs7QUNyZ0I2dFM7RUFBOEI7QUR5Z0IzdlM7O0FDemdCb3lTO0VBQTBCO0FENmdCOXpTOztBQzdnQjgwUztFQUEwQjtBRGloQngyUzs7QUNqaEJ3M1M7RUFBeUI7QURxaEJqNVM7O0FDcmhCaTZTO0VBQTZCO0VBQWM7QUQwaEI1OFM7O0FDMWhCKzlTO0VBQTRCO0FEOGhCMy9TOztBQzloQjZnVDtFQUE2QjtBRGtpQjFpVDs7QUNsaUI2alQ7RUFBMkI7QURzaUJ4bFQ7O0FDdGlCeW1UO0VBQWtCO0FEMGlCM25UOztBQzFpQjZvVDtFQUE0QjtFQUFzQjtFQUErQjtFQUFrQjtFQUFVO0VBQW9CO0VBQWtCO0FEb2pCaHlUOztBQ3BqQjJ5VDtFQUFxRDtFQUFXO0VBQVc7QUQwakJ0M1Q7O0FDMWpCbzRUO0VBQXVEO0VBQWdCO0VBQVk7RUFBZTtFQUFxQjtFQUFXO0VBQVk7RUFBZ0I7QURxa0JsaVU7O0FDcmtCNmlVO0VBQStEO0VBQVc7QUQwa0J2blU7O0FDMWtCbW9VO0VBQWlGO0FEOGtCcHRVOztBQzlrQml1VTtFQUE2RjtBRGtsQjl6VTs7QUNsbEIyMFU7RUFBNmpCO0FEc2xCeDRWOztBQ3RsQm01VjtFQUFrZ0Q7QUQwbEJyNVk7O0FDMWxCKzVZO0VBQWtnRDtBRDhsQmo2Yjs7QUM5bEI2NmI7RUFBd0I7SUFBbUc7RURtbUJ0aWM7RUNubUJpamM7SUFBOFA7RURzbUIveWM7RUN0bUJ5emM7SUFBOFA7RUR5bUJ2amQ7QUFDRjtBQzFtQnNrZDtFQUFTO0FENm1CL2tkOztBQzdtQnFtZDtFQUFXO0FEaW5CaG5kOztBQ2puQnNvZDtFQUFvQjtBRHFuQjFwZDs7QUNybkJ1cWQ7RUFBNkM7QUR5bkJwdGQ7O0FDem5Cc3VkO0VBQXFCO0VBQWtCO0FEOG5CN3dkOztBQzluQnd5ZDtFQUF1QjtFQUFlO0FEbW9COTBkOztBQ25vQm0yZDtFQUE2QjtBRHVvQmg0ZDs7QUN2b0I0NWQ7RUFBcUI7RUFBcUI7QUQ0b0J0OGQ7O0FDNW9CNDlkO0VBQTJCO0VBQVc7RUFBVztBRGtwQjdnZTs7QUNscEIyaGU7RUFBb0I7RUFBVTtFQUFZO0VBQXFCO0VBQXNCO0FEMHBCaG5lOztBQzFwQituZTtFQUEwQjtFQUFVO0VBQVk7RUFBcUI7QURpcUJwc2U7O0FDanFCbXRlO0VBQThDO0FEcXFCandlOztBQ3JxQjJ3ZTtFQUFtQjtBRHlxQjl4ZTs7QUN6cUJ3eWU7RUFBa0I7QUQ2cUIxemU7O0FDN3FCNDBlO0VBQThDO0FEaXJCMTNlOztBQ2pyQnk0ZTtFQUF5QjtBRHFyQmw2ZTs7QUNyckI2NmU7RUFBc0M7QUR5ckJuOWU7O0FDenJCZytlO0VBQWdEO0FENnJCaGhmOztBQzdyQitoZjtFQUFpRDtBRGlzQmhsZjs7QUNqc0I2bGY7RUFBdUI7QURxc0JwbmY7O0FDcnNCa29mO0VBQXVCO0FEeXNCenBmOztBQ3pzQnlxZjtFQUF1QjtBRDZzQmhzZjs7QUM3c0JpdGY7RUFBdUI7QURpdEJ4dWY7O0FDanRCc3ZmO0VBQXVCO0FEcXRCN3dmOztBQ3J0QjZ4ZjtFQUF1QjtBRHl0QnB6Zjs7QUN6dEJvMGY7RUFBc0I7QUQ2dEIxMWY7O0FDN3RCbzNmO0VBQStCO0VBQTJCO0VBQWtCO0VBQWU7QURvdUIvOGY7O0FDcHVCaStmO0VBQXNFO0VBQXlCO0FEeXVCaGtnQjs7QUN6dUJrbGdCO0VBQTZDO0VBQWtCO0VBQWU7QUQrdUJocWdCOztBQy91QmlyZ0I7RUFBeUI7RUFBYztBRG92Qnh0Z0I7O0FDcHZCd3VnQjtFQUE2QztFQUF5QjtFQUFjO0FEMHZCNXpnQjs7QUMxdkI2MGdCO0VBQXdCO0FEOHZCcjJnQjs7QUM5dkJvM2dCO0VBQW9CO0VBQVc7RUFBcUI7RUFBVztFQUFlO0VBQWdCO0VBQVk7RUFBa0I7QUR5d0JoL2dCOztBQ3p3QnNnaEI7RUFBMEI7RUFBZTtFQUFxQjtFQUFZO0VBQWlCO0VBQWtCO0VBQWtCO0FEbXhCcm9oQjs7QUNueEJncGhCO0VBQWtDO0VBQXFCO0FEd3hCdnNoQjs7QUN4eEJ3dGhCO0VBQTRCO0VBQXNCO0VBQWE7RUFBZTtFQUFnQjtFQUFrQjtBRGl5QngwaEI7O0FDanlCMjFoQjtFQUE0QztFQUFlO0VBQWM7RUFBbUI7QUR3eUJ2N2hCOztBQ3h5QnU4aEI7RUFBaUQ7RUFBVztBRDZ5Qm5naUI7O0FDN3lCNmdpQjtFQUEwRDtBRGl6QnZraUI7O0FDanpCaWxpQjtFQUE0RDtBRHF6QjdvaUI7O0FDcnpCeXBpQjtFQUFtRDtFQUFjO0VBQWdCO0VBQVM7QUQ0ekJudmlCOztBQzV6QjZ2aUI7RUFBbUQ7QURnMEJoemlCOztBQ2gwQjJ6aUI7RUFBcUY7QURvMEJoNWlCOztBQ3AwQmc2aUI7RUFBNkY7QUR3MEI3L2lCOztBQ3gwQnVnakI7RUFBNEM7QUQ0MEJuampCOztBQzUwQmlrakI7RUFBeUM7RUFBWTtFQUFXO0FEazFCam9qQjs7QUNsMUJpcGpCO0VBQTZDO0VBQWdCO0FEdTFCOXNqQjs7QUN2MUIwdGpCO0VBQTBDO0VBQTZCO0VBQVc7RUFBWTtFQUFXO0VBQVU7QURnMkI3MGpCOztBQ2gyQncxakI7RUFBbUU7RUFBa0I7RUFBZ0I7RUFBUTtFQUFRO0FEdzJCNzhqQjs7QUN4MkJ3OWpCO0VBQXFnQjtBRDQyQjc5a0I7O0FDNTJCcy9rQjtFQUE4QjtBRGczQnBobEI7O0FDaDNCK2hsQjtFQUE2RztBRG8zQjVvbEI7O0FDcDNCNnBsQjtFQUE2STtBRHczQjF5bEI7O0FDeDNCOHpsQjtFQUE2STtBRDQzQjM4bEI7O0FDNTNCKzlsQjtFQUE2STtBRGc0QjVtbUI7O0FDaDRCZ29tQjtFQUE2STtBRG80Qjd3bUI7O0FDcDRCaXltQjtFQUE2STtBRHc0Qjk2bUI7O0FDeDRCazhtQjtFQUE2STtBRDQ0Qi9rbkI7O0FDNTRCbW1uQjtFQUFzRTtBRGc1QnpxbkI7O0FDaDVCdXJuQjtFQUFzRTtBRG81Qjd2bkI7O0FDcDVCNnduQjtFQUFzRTtBRHc1Qm4xbkI7O0FDeDVCbzJuQjtFQUFzRTtBRDQ1QjE2bkI7O0FDNTVCdzduQjtFQUFzRTtBRGc2QjkvbkI7O0FDaDZCOGdvQjtFQUFzRTtBRG82QnBsb0I7O0FDcDZCb21vQjtFQUE0QjtBRHc2Qmhvb0I7O0FDeDZCNG9vQjtFQUF5RztBRDQ2QnJ2b0I7O0FDNTZCMHdvQjtFQUE2STtBRGc3QnY1b0I7O0FDaDdCdTZvQjtFQUFxSjtBRG83QjVqcEI7O0FDcDdCZ2xwQjtFQUFzRTtBRHc3QnRwcEI7O0FDeDdCZ3NwQjtFQUEwRTtBRDQ3QjF3cEI7O0FDNTdCbXpwQjtFQUE0QjtBRGc4Qi8wcEI7O0FDaDhCMDFwQjtFQUF5RztBRG84Qm44cEI7O0FDcDhCbzlwQjtFQUE2STtBRHc4QmptcUI7O0FDeDhCaW5xQjtFQUE2STtBRDQ4Qjl2cUI7O0FDNThCOHdxQjtFQUEySTtBRGc5Qno1cUI7O0FDaDlCdzZxQjtFQUFzRTtBRG85QjkrcUI7O0FDcDlCNi9xQjtFQUFzRTtBRHc5Qm5rckI7O0FDeDlCa2xyQjtFQUFxRTtBRDQ5QnZwckI7O0FDNTlCc3FyQjtFQUF3RDtBRGcrQjl0ckI7O0FDaCtCb3ZyQjtFQUFtRDtBRG8rQnZ5ckI7O0FDcCtCNnpyQjtFQUF5QjtBRHcrQnQxckI7O0FDeCtCdzJyQjtFQUFnQztFQUFVO0FENitCbDVyQjs7QUM3K0IwNXJCO0VBQW9CO0VBQXNCO0VBQXNCO0VBQTREO0FEby9CdGhzQjs7QUNwL0JraXNCO0VBQWdDO0FEdy9CbGtzQjs7QUN4L0JvbHNCO0VBQXFDO0FENC9Cem5zQjs7QUM1L0JzcHNCO0VBQXVDO0VBQTZCO0FEaWdDMXRzQjs7QUNqZ0MrdnNCO0VBQTREO0FEcWdDM3pzQjs7QUNyZ0M2MHNCO0VBQThEO0FEeWdDMzRzQjs7QUN6Z0M2NXNCO0VBQTRIO0FENmdDemh0Qjs7QUM3Z0MyaXRCO0VBQTRDO0FEaWhDdmx0Qjs7QUNqaENvbXRCO0VBQXFCO0VBQXNCO0VBQXNCO0VBQXdCO0VBQVc7RUFBaUI7QUQwaEN6dHRCOztBQzFoQzR1dEI7RUFBNkI7RUFBcUI7RUFBaUI7QURnaUMveXRCOztBQ2hpQ2cwdEI7RUFBc0M7RUFBYTtFQUFzQjtFQUFlO0VBQVk7RUFBUztFQUFnQjtBRDBpQzc3dEI7O0FDMWlDeTh0QjtFQUFrQztFQUFxQjtFQUFnQjtFQUFrQjtFQUF1QjtBRGtqQ3pqdUI7O0FDbGpDNGt1QjtFQUF3QztFQUE0QjtFQUFlO0VBQWlCO0FEeWpDaHJ1Qjs7QUN6akNrc3VCO0VBQXlDO0VBQWlCO0FEOGpDNXZ1Qjs7QUM5akM0d3VCO0VBQXVCO0FEa2tDbnl1Qjs7QUNsa0NvenVCO0VBQXlGO0FEc2tDNzR1Qjs7QUN0a0MwNXVCO0VBQWlEO0FEMGtDMzh1Qjs7QUMxa0NnK3VCO0VBQW1EO0VBQWU7RUFBZTtBRGdsQ2pqdkI7O0FDaGxDaWt2QjtFQUE2QztBRG9sQzltdkI7O0FDcGxDb292QjtFQUFnRDtBRHdsQ3BydkI7O0FDeGxDNnN2QjtFQUE4QztBRDRsQzN2dkI7O0FDNWxDa3h2QjtFQUFXO0FEZ21DN3h2Qjs7QUNobUN3eXZCO0VBQXNCO0FEb21DOXp2QjtBRTNtQytHO0VBQTBCO0lBQUc7SUFBVTtFRjRuQ3BKO0VFNW5DOEs7SUFBRztJQUFVO0VGZ29DM0w7QUFDRjtBRWpvQ3VVO0VBQTRCO0lBQUc7SUFBVTtFRmdwQzlXO0VFaHBDd1k7SUFBRztJQUFVO0VGb3BDclo7QUFDRjtBRXJwQ21pQjtFQUE4QjtJQUFHO0lBQVU7RUZvcUM1a0I7RUVwcUNvbUI7SUFBRztJQUFVO0VGd3FDam5CO0FBQ0Y7QUV6cUNnd0I7RUFBNkI7SUFBRztJQUFVO0VGd3JDeHlCO0VFeHJDZzBCO0lBQUc7SUFBVTtFRjRyQzcwQjtBQUNGO0FFN3JDbS9CO0VBQWtCO0lBQUc7RUZ5c0N0Z0M7RUV6c0MwakM7SUFBRztFRjRzQzdqQztBQUNGO0FFN3NDb25DO0VBQU87RUFBZTtFQUFNO0VBQU87RUFBWTtFQUFXO0VBQVc7RUFBYTtFQUFhO0VBQXNCO0VBQXFCO0VBQXlCO0VBQW9CO0VBQXNCO0FGNnRDajBDOztBRTd0QzgwQztFQUEwQztFQUFZO0VBQVc7RUFBZ0I7RUFBa0I7RUFBYztFQUFjO0FGdXVDNzhDOztBRXZ1Qys5QztFQUFxRDtFQUFXO0VBQXdCO0VBQWM7RUFBa0I7RUFBVTtFQUFrQjtFQUFTO0VBQVk7QUZtdkN4b0Q7O0FFbnZDZ3BEO0VBQTBCO0FGdXZDMXFEOztBRXZ2Q21zRDtFQUEyQjtBRjJ2Qzl0RDs7QUUzdkNzdkQ7RUFBeUQ7RUFBVztFQUF3QjtFQUFjO0VBQWtCO0VBQVU7QUZvd0M1M0Q7O0FFcHdDODREO0VBQTRCO0VBQVc7RUFBeUI7RUFBUTtBRjJ3Q3Q5RDs7QUUzd0MrOUQ7RUFBNkI7RUFBWTtFQUF3QjtFQUFRO0FGa3hDeGlFOztBRWx4Q2tqRTtFQUFjO0VBQWM7RUFBZ0I7RUFBMEU7RUFBOEM7RUFBdUM7RUFBa0I7RUFBZTtFQUFrQjtFQUFnQjtFQUEwQjtFQUFzQjtBRmt5Q2gzRTs7QUVseUM4M0U7RUFBeUI7RUFBeUU7RUFBc0U7QUYweUN0aUY7O0FFMXlDMmpGO0VBQWdJO0VBQXlDO0VBQVU7QUZpekM5dUY7O0FFanpDc3dGO0VBQTJGO0VBQTBDO0VBQVU7QUZ3ekNyNUY7O0FFeHpDNjZGO0VBQXNFO0FGNnpDbi9GOztBRTd6Q3dnRztFQUFxQjtBRmkwQzdoRzs7QUVqMENnakc7RUFBcUI7QUZxMENya0c7O0FFcjBDcWxHO0VBQTJDO0FGeTBDaG9HOztBRXowQ21wRztFQUFlO0VBQWE7RUFBWTtFQUFrQjtFQUE4QjtFQUFRO0VBQU07RUFBa0I7RUFBb0Q7RUFBeUQ7QUZ1MUN4M0c7O0FFdjFDKzVHO0VBQWdCO0VBQWE7RUFBbUI7RUFBaUI7RUFBb0I7RUFBbUI7RUFBa0I7RUFBa0I7QUZrMkMzaUg7O0FFbDJDc2pIO0VBQWE7RUFBVztFQUFrQjtFQUFnQjtFQUF3RDtFQUFrRTtFQUFvQjtBRjgyQzl2SDs7QUU5MkNneEg7RUFBZ0I7RUFBa0I7RUFBTTtFQUFRO0VBQVk7RUFBVztFQUFtRTtFQUFxRTtFQUFxQjtBRjQzQ3AvSDs7QUU1M0M4L0g7RUFBb0I7RUFBaUM7RUFBWTtFQUFlO0VBQXNEO0VBQWE7RUFBWTtFQUFZO0FGdTRDenFJOztBRXY0Q29ySTtFQUFxRDtFQUFXO0VBQWdCO0VBQVk7RUFBVTtFQUFrQjtFQUFrQjtFQUFxQjtBRms1Q24xSTs7QUVsNUN1Mkk7RUFBMEI7QUZzNUNqNEk7O0FFdDVDMDVJO0VBQTJCO0FGMDVDcjdJOztBRTE1QzY4STtFQUEwQjtFQUFXO0FGKzVDbC9JOztBRS81Q21oSjtFQUEyQjtBRm02QzlpSjs7QUVuNkN5ako7RUFBZ0I7RUFBc0I7RUFBa0I7RUFBd0Q7RUFBbUU7RUFBcUI7QUY4NkNqd0o7O0FFOTZDbXhKO0VBQXlDO0lBQU87RUZtN0NqMEo7RUVuN0MyMEo7SUFBZTtJQUFhO0lBQTJDO0VGeTdDbDVKO0VFejdDeTZKO0lBQWM7SUFBZTtJQUFnQjtJQUF3QztFRis3QzkvSjtFRS83Q3lnSztJQUFnQjtFRms4Q3poSztBQUNGO0FHbjhDQTtFQUNFO0lBQ0U7RUhxOENGO0VHbjhDQTtJQUNFO0VIcThDRjtBQUNGO0FHbDhDQTtFQUNFO0lBQ0U7RUhvOENGO0VHbDhDQTtJQUNFO0VIbzhDRjtBQUNGO0FHajhDQTtFQUNFO0VBQ0E7RUFDQTtBSG04Q0Y7O0FJeDlDQTtFQUNFO0FKMjlDRjs7QUl2OUNFO0VBQ0U7RUFDQTtBSjA5Q0o7O0FLaCtDRTtFQUNFO0FMbStDSjtBS2wrQ0k7RUFDRTtBTG8rQ047O0FLOTlDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxpK0NKO0FLLzlDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTGkrQ0o7QUtoK0NJO0VBQ0U7RUFDQTtFQUNBO0FMaytDTjs7QU01L0NFO0VBQ0U7QU4rL0NKO0FNOS9DSTtFQUNFO0FOZ2dETjtBTTkvQ0k7RUFDRTtBTmdnRE47QU01L0NNO0VBQ0U7QU44L0NSO0FNMy9DSTtFQUNFO0FONi9DTjtBTTEvQ0k7RUFDRTtBTjQvQ047QU0xL0NJO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QU4yL0NOOztBTXIvQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOdy9DSjtBTXQvQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTncvQ0o7O0FPOWhEWTtFQUFBO0VBQUE7QUFBQTtBQU9KO0VBQ0U7QVA2aERWO0FPbmhEVTtFQUNFO0FQcWhEWjtBTzlnRFE7RUFDRTtBUGdoRFY7QU9yZ0RZO0VBQUE7RUFBQTtBQUFBO0FBT0o7RUFDRTtBUG1nRFY7QU94L0NZO0VBQUE7RUFBQTtBQUFBO0FBT0o7RUFDRTtBUHMvQ1Y7QU9oL0NFO0VBQ0U7RUFDQTtBUGsvQ0o7QU9qL0NJO0VBQ0U7RUFTQTtBUDIrQ047QU9uL0NNO0VBQ0U7QVBxL0NSO0FPbi9DTTtFQUNFO0VBQ0E7QVBxL0NSO0FPLytDSTtFQUNFO0FQaS9DTjtBTy8rQ007RUFDRTtBUGkvQ1I7QU8vK0NRO0VBQ0U7RUFDQTtFQUNBO0FQaS9DVjtBT2gvQ1U7RUFDRTtBUGsvQ1o7QU9oL0NVO0VBQ0U7QVBrL0NaO0FPaC9DVTtFQUNFO0VBQ0E7RUFDQTtBUGsvQ1o7QU8zK0NRO0VBQ0U7QVA2K0NWO0FPMStDVTtFQUNFO0FQNCtDWjtBTzErQ1U7RUFDRTtBUDQrQ1o7QU94K0NVO0VBQUE7RUFBQTtBQUFBO0FBT047RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUHMrQ047QU9yK0NNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVB1K0NSO0FPcCtDVTtFQUNFO0FQcytDWjtBT24rQ1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHErQ1Y7QU9uK0NRO0VBQ0U7RUFDQTtBUHErQ1Y7QU9wK0NVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVBzK0NaO0FPcitDWTtFQUNFO0VBQ0E7QVB1K0NkOztBTzc5Q0U7RUFDRTtFQUNBO0VBQ0E7QVBnK0NKO0FPOTlDSTtFQUNFO0FQZytDTjs7QVE1cERFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFFRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSaXFESjtBUS9wREU7RUFDRTtBUmlxREo7O0FTaHJERTtFQUNFO0FUbXJESjtBUzdxRFU7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0lBQUE7SUFBQTtFQUFBO0FBQUE7QUFlRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtBQUtGO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtJQUFBO0lBQUE7RUFBQTtBQUFBO0FBRUU7RUFBQTtFQUFBO0FBQUE7O0FDN0JWO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBRUU7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0FBQUE7QUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFJQTtFQUFBO0VBQUE7RUFDQTtBQURBO0FBS0E7RUFBQTtFQUFBO0VBQ0E7QUFEQTs7QUMvQkY7RUFDRTtBWG91REo7O0FZcHVEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVp1dURGOztBWXB1REE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFdBbkJNO0VBb0JOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnN1REY7QVlydURFO0VBQ0U7RUFDQTtBWnV1REo7QVlwdURFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnN1REo7O0FhendERTtFQUNFO0VBQ0E7RUFDQTtBYjR3REo7O0FhdndERTtFQUNFO0FiMHdESjs7QWNweERBO0VBQ0U7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkdXhERjtBY3J4REU7RUFDRTtBZHV4REo7QWNyeERFO0VBQ0U7RUFDQTtFQUNBO0FkdXhESjtBY3R4REk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBZHd4RE47QWN0eERJO0VBQ0U7RUFDQTtFQUNBO0Fkd3hETjtBY2p4REk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBZG14RE47QWNqeERNO0VBQ0U7QWRteERSOztBZTN6REE7RUFDRTtFQUNBO0VBQUE7QWY4ekRGO0FlNXpERTtFQUNFO0VBQ0E7QWY4ekRKO0FlNXpERTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZjh6REo7QWU3ekRJO0VBQ0U7RUFDQTtFQUNBO0FmK3pETjtBZTd6REk7RUFDRTtBZit6RE47QWU5ekRNO0VBQ0U7QWZnMERSO0FlL3pEUTtFQUNFO0VBQ0E7RUFDQTtBZmkwRFY7QWUvekRRO0VBQ0U7QWZpMERWLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvY29tcG9uZW50cy9MaW5lLnZ1ZSIsIndlYnBhY2s6Ly8vPG5vIHNvdXJjZT4iLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvQ3VzdG9tZXIudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL1F1b3RhdGlvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvSW52b2ljZS52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvUHJvZHVjdFVwZGF0ZS52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvUHJvZHVjdHNUYWJsZS52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvU2V0dGluZ3MudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL0N1c3RvbWVyVXBkYXRlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY29tcG9uZW50cy9DdXN0b21lcnNUYWJsZS52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy90YWlsd2luZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcXVpbGwvZGlzdC9xdWlsbC5zbm93LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbm90eWYvbm90eWYubWluLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbW1vbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FsZXJ0cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2RhdGF0YWJsZS9kYXRhdGFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2NoaXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvc3dhbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvcXVpbGxfZWRpdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2NvbnRleHRfbWVudS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9wYXltZW50X25vdGlmLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiPHNjcmlwdCBzZXR1cD5cbmltcG9ydCB7cmVmLCBjb21wdXRlZCwgZGVmaW5lRW1pdHMsIG9uTW91bnRlZCwgb25CZWZvcmVVbm1vdW50LCB3YXRjaH0gZnJvbSBcInZ1ZVwiO1xuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuXG5jb25zdCBwcm9wcyA9IGRlZmluZVByb3BzKHtcbiAgICBsaW5lOiB7XG4gICAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgaXNXb246IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbn0pO1xuXG5jb25zdCBxdWFudGl0eSA9IHJlZihwcm9wcy5saW5lLnF1YW50aXR5ID8/IDEpO1xuY29uc3Qgc2hvd1N1Z2dlc3Rpb25zID0gcmVmKGZhbHNlKTtcbmNvbnN0IHN1Z2dlc3Rpb25zID0gcmVmKHt9KVxuY29uc3QgdW5pdFByaWNlID0gcmVmKHByb3BzLmxpbmUudW5pdFByaWNlID8/IDApO1xuY29uc3QgbmFtZSA9IHJlZihwcm9wcy5saW5lLm5hbWUgPz8gJycpO1xuY29uc3QgaXNTdG9yZWQgPSByZWYocHJvcHMubGluZS5pc1N0b3JlZCA/PyBmYWxzZSk7XG5jb25zdCBpc1RpdGxlID0gcmVmKHByb3BzLmxpbmUuaXNUaXRsZSA/PyBmYWxzZSk7XG5jb25zdCB0b3RhbCA9IGNvbXB1dGVkKCgpID0+IHF1YW50aXR5LnZhbHVlICogdW5pdFByaWNlLnZhbHVlKTtcblxuY29uc3QgZW1pdCA9IGRlZmluZUVtaXRzKFtcInVwZGF0ZS1saW5lXCIsIFwiZGVsZXRlLWxpbmVcIl0pO1xuXG5vbk1vdW50ZWQoKCkgPT4ge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVDbGlja091dHNpZGUpO1xufSlcblxub25CZWZvcmVVbm1vdW50KCgpID0+IHtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbn0pO1xuXG53YXRjaChbcXVhbnRpdHksIHVuaXRQcmljZSwgbmFtZV0sIChbcSwgdSwgbl0pID0+IHtcblxuICAgIGVtaXQoXCJ1cGRhdGUtbGluZVwiLCB7XG4gICAgICAgIGlkOiBwcm9wcy5saW5lLmlkLFxuICAgICAgICBxdWFudGl0eTogcSxcbiAgICAgICAgbmFtZTogbixcbiAgICAgICAgdW5pdFByaWNlOiB1LFxuICAgICAgICBpc1N0b3JlZDogaXNTdG9yZWQsXG4gICAgICAgIGlzVGl0bGU6IGlzVGl0bGUsXG4gICAgfSk7XG59KTtcblxuY29uc3Qgbm90aWZ5UGFyZW50ID0gKCkgPT4ge1xuICAgIGVtaXQoXCJ1cGRhdGUtbGluZVwiLCB7aWQ6IHByb3BzLmxpbmUuaWQsIHF1YW50aXR5OiBxdWFudGl0eSwgdW5pdFByaWNlOiB1bml0UHJpY2UsIG5hbWU6IG5hbWUsIGlzU3RvcmVkOiBpc1N0b3JlZCwgaXNUaXRsZTogaXNUaXRsZX0pO1xufTtcblxuY29uc3Qgbm90aWZ5RGVsZXRlID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlbWl0KFwiZGVsZXRlLWxpbmVcIiwge2lkOiBwcm9wcy5saW5lLmlkfSk7XG59XG5cbmNvbnN0IGdldFByb2R1Y3RzID0gYXN5bmMgKGUpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0XG4gICAgaWYoaW5wdXQudmFsdWUpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvcHJvZHVjdHMvc2VhcmNoLyR7aW5wdXQudmFsdWV9YClcbiAgICAgICAgc3VnZ2VzdGlvbnMudmFsdWUgPSByZXNwb25zZS5kYXRhXG4gICAgICAgIHNob3dTdWdnZXN0aW9ucy52YWx1ZSA9IHRydWVcbiAgICB9XG59XG5cbmNvbnN0IHNlbGVjdE9wdGlvbiA9IChzdWdnZXN0aW9uKSA9PiB7XG4gICAgaWYoc3VnZ2VzdGlvbikge1xuICAgICAgICBuYW1lLnZhbHVlID0gc3VnZ2VzdGlvbi5uYW1lXG4gICAgICAgIHVuaXRQcmljZS52YWx1ZSA9IHN1Z2dlc3Rpb24udW5pdFByaWNlXG4gICAgICAgIHNob3dTdWdnZXN0aW9ucy52YWx1ZSA9IGZhbHNlO1xuICAgIH1cbn1cblxuY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50KSA9PiB7XG4gICAgLy8gVsOpcmlmaWUgc2kgbGUgY2xpYyBzJ2VzdCBwcm9kdWl0IGVuIGRlaG9ycyBkdSBjaGFtcCBvdSBkZSBsYSBsaXN0ZVxuICAgIGlmICghZXZlbnQudGFyZ2V0LmNsb3Nlc3QoXCIuYXV0b2NvbXBsZXRlLXdyYXBwZXJcIikpIHtcbiAgICAgICAgc2hvd1N1Z2dlc3Rpb25zLnZhbHVlID0gZmFsc2U7XG4gICAgfVxufTtcblxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IDpjbGFzcz1cInsgJ2p1c3RpZnktYmV0d2Vlbic6IGlzVGl0bGUgfVwiIGNsYXNzPVwibGluZSBpdGVtcy1jZW50ZXIgZ2FwLTIgdy1mdWxsXCIgdi1pZj1cIiFwcm9wcy5pc1dvblwiPlxuICAgICAgICA8IS0tIENoYW1wIE5vbSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgcmVsYXRpdmUgYXV0b2NvbXBsZXRlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiA6Y2xhc3M9XCJpc1RpdGxlID8gJ2ZvbnQtYm9sZCB0ZXh0LVsxOHB4XScgOiAnJ1wiPlxuICAgICAgICAgICAgICAgIHt7IGlzVGl0bGUgPyAnVGl0cmUnIDogJ09iamV0JyB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIEBpbnB1dD1cImdldFByb2R1Y3RzXCJcbiAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCJpc1RpdGxlID8gJ1RpdHJlJyA6ICdOb20nXCJcbiAgICAgICAgICAgICAgICB2LW1vZGVsPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgIHAtMiBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtMzAwXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICAgIHYtaWY9XCIhaXNUaXRsZSAmJiBzaG93U3VnZ2VzdGlvbnMgJiYgc3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSB3LWZ1bGwgYmctd2hpdGUgYm9yZGVyIHJvdW5kZWQtbGcgc2hhZG93LW1kIG1heC1oLTQwIG92ZXJmbG93LXktYXV0byB6LTEwIHRvcC0xMDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICB2LWZvcj1cIihzdWdnZXN0aW9uLCBpbmRleCkgaW4gc3VnZ2VzdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICA6a2V5PVwiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBAY2xpY2s9XCJzZWxlY3RPcHRpb24oc3VnZ2VzdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtMiBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy1ibHVlLTEwMFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uLm5hbWUgfX0gKCB7eyBzdWdnZXN0aW9uLnVuaXRQcmljZX19IOKCrCApXG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIENoYW1wIFF1YW50aXTDqSAtLT5cbiAgICAgICAgICAgIDxkaXYgdi1pZj1cIiFpc1RpdGxlXCIgY2xhc3M9XCJmbGV4LTEgIFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5RdWFudGl0w6k8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwicXVhbnRpdHlcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlF1YW50aXTDqVwiXG4gICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJxdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC0yIG51bWJlciB3LWZ1bGwgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIHRleHQtY2VudGVyIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTMwMFwiXG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gQ2hhbXAgUHJpeCBVbml0YWlyZSAtLT5cbiAgICAgICAgICAgIDxkaXYgdi1pZj1cIiFpc1RpdGxlXCIgY2xhc3M9XCJmbGV4LTEgIFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Qcml4PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInByaWNlXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQcml4IHVuaXRhaXJlXCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cInVuaXRQcmljZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibnVtYmVyIHAtMiB3LWZ1bGwgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIHRleHQtY2VudGVyIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTMwMFwiXG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gVG90YWwgLS0+XG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCIhaXNUaXRsZVwiIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtcmlnaHQgZmxleC0xXCI+XG4gICAgICAgICAgICAgICAge3sgdG90YWwgfX0g4oKsXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHNcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgQGNsaWNrPVwibm90aWZ5RGVsZXRlXCI+XG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwicmVkXCIgY2xhc3M9XCJzaXplLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIm0xNC43NCA5LS4zNDYgOW0tNC43ODggMEw5LjI2IDltOS45NjgtMy4yMWMuMzQyLjA1Mi42ODIuMTA3IDEuMDIyLjE2Nm0tMS4wMjItLjE2NUwxOC4xNiAxOS42NzNhMi4yNSAyLjI1IDAgMCAxLTIuMjQ0IDIuMDc3SDguMDg0YTIuMjUgMi4yNSAwIDAgMS0yLjI0NC0yLjA3N0w0Ljc3MiA1Ljc5bTE0LjQ1NiAwYTQ4LjEwOCA0OC4xMDggMCAwIDAtMy40NzgtLjM5N20tMTIgLjU2MmMuMzQtLjA1OS42OC0uMTE0IDEuMDIyLS4xNjVtMCAwYTQ4LjExIDQ4LjExIDAgMCAxIDMuNDc4LS4zOTdtNy41IDB2LS45MTZjMC0xLjE4LS45MS0yLjE2NC0yLjA5LTIuMjAxYTUxLjk2NCA1MS45NjQgMCAwIDAtMy4zMiAwYy0xLjE4LjAzNy0yLjA5IDEuMDIyLTIuMDkgMi4yMDF2LjkxNm03LjUgMGE0OC42NjcgNDguNjY3IDAgMCAwLTcuNSAwXCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8dGQgdi1pZj1cInByb3BzLmlzV29uXCIgOmNsYXNzPVwieyAnZm9udC1ib2xkIGJnLWdyYXktMjAwJzogaXNUaXRsZSB9XCIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtOCB0ZXh0LWJsYWNrXCIgOmNvbHNwYW49XCJpc1RpdGxlID8gJzQnIDogJydcIiA+XG4gICAgICAgIHt7IG5hbWUgfX1cbiAgICA8L3RkPlxuXG4gICAgPHRkIHYtaWY9XCIhaXNUaXRsZSAmJiBwcm9wcy5pc1dvblwiIGNsYXNzPVwidGV4dC1jZW50ZXIgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1ibGFja1wiPlxuICAgICAgICB7eyBxdWFudGl0eSB9fVxuICAgIDwvdGQ+XG5cbiAgICA8dGQgdi1pZj1cIiFpc1RpdGxlICYmIHByb3BzLmlzV29uXCIgY2xhc3M9XCJ0ZXh0LXJpZ2h0IHByLTQwLXBjIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHB5LTQgcGwtOCB0ZXh0LWJsYWNrXCI+XG4gICAgICAgIHt7IHVuaXRQcmljZSB9fSDigqxcbiAgICA8L3RkPlxuXG4gICAgPHRkIHYtaWY9XCIhaXNUaXRsZSAmJiBwcm9wcy5pc1dvblwiIGNsYXNzPVwidGV4dC1yaWdodCBmb250LWJvbGQgcHJpY2UgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1ibGFja1wiPlxuICAgICAgICB7eyB0b3RhbCB9fSDigqxcbiAgICA8L3RkPlxuPC90ZW1wbGF0ZT5cblxuPHN0eWxlIHNjb3BlZD5cbi5saW5lIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnRkIHtcbiAgICAmLnByLTQwLXBjIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNiU7XG4gICAgfVxuICAgICYucHJpY2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5uYW1lIHtcbiAgICB3aWR0aDogNjAlO1xufVxuaW5wdXQge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAmLm5hbWUge1xuXG4gICAgfVxuICAgICYubnVtYmVyIHtcbiAgICB9XG5cbn1cblxuZGl2IHtcbiAgICAmLnRvdGFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgYWxpZ24tY29udGVudDogZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxufVxuPC9zdHlsZT4iLG51bGwsIjxzY3JpcHQgc2V0dXA+XG5pbXBvcnQge3JlZiwgd2F0Y2gsIGRlZmluZVByb3BzLCBkZWZpbmVFbWl0cywgb25Nb3VudGVkLCBvbkJlZm9yZVVubW91bnQsIHJlYWN0aXZlfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5cbi8vIFByb3BzIHBvdXIgaW5pdGlhbGlzZXIgbGVzIGRvbm7DqWVzIGR1IGNsaWVudFxuY29uc3QgcHJvcHMgPSBkZWZpbmVQcm9wcyh7XG4gICAgaXNXb246IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgY3VzdG9tZXI6IHtcbiAgICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6ICgpID0+ICh7XG4gICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgICAgICBhZGRyZXNzOiBcIlwiLFxuICAgICAgICAgICAgYWRkcmVzc0NvbXBsZW1lbnQ6IFwiXCIsXG4gICAgICAgICAgICB6aXBDb2RlOiBudWxsLFxuICAgICAgICAgICAgY2l0eTogXCJcIixcbiAgICAgICAgICAgIGNvbnRhY3ROYW1lOiBcIlwiLFxuICAgICAgICAgICAgY29udGFjdFBob25lOiBcIlwiLFxuICAgICAgICAgICAgY29udGFjdEVtYWlsOiBcIlwiLFxuICAgICAgICAgICAgc2lyZXQ6IFwiXCIsXG4gICAgICAgICAgICBvcmlnaW5DdXN0b21lcjogbnVsbCxcbiAgICAgICAgfSksXG4gICAgfSxcbn0pO1xuXG5jb25zdCBzdWdnZXN0aW9ucyA9IHJlZih7fSlcbmNvbnN0IHNob3dTdWdnZXN0aW9ucyA9IHJlZihmYWxzZSk7XG5cblxuLy8gRMOpZmluaXIgbGVzIMOpdsOpbmVtZW50cyDDqW1pcyBwYXIgbGUgY29tcG9zYW50XG5jb25zdCBlbWl0ID0gZGVmaW5lRW1pdHMoW1widXBkYXRlLWN1c3RvbWVyXCJdKTtcblxuLy8gUsOpZsOpcmVuY2UgcsOpYWN0aXZlIHBvdXIgbGVzIGRvbm7DqWVzIGR1IGNsaWVudFxuY29uc3QgY3VzdG9tZXJEYXRhID0gcmVmKHsgLi4ucHJvcHMuY3VzdG9tZXIgfSk7XG5cbi8vIE1ldHRyZSDDoCBqb3VyIGxlcyBkb25uw6llcyBsb2NhbGVzIHNpIGxhIHByb3AgYGN1c3RvbWVyYCBjaGFuZ2VcbndhdGNoKFxuICAgICgpID0+IHByb3BzLmN1c3RvbWVyLFxuICAgIChuZXdDdXN0b21lcikgPT4ge1xuICAgICAgICBjdXN0b21lckRhdGEudmFsdWUgPSB7IC4uLm5ld0N1c3RvbWVyIH07XG4gICAgfSxcbiAgICB7IGRlZXA6IHRydWUgfVxuKTtcblxuLy8gw4ltZXR0cmUgbGVzIGRvbm7DqWVzIGF1IHBhcmVudCDDoCBjaGFxdWUgbW9kaWZpY2F0aW9uXG53YXRjaChcbiAgICAoKSA9PiBjdXN0b21lckRhdGEudmFsdWUsXG4gICAgKG5ld0RhdGEpID0+IHtcbiAgICAgICAgZW1pdChcInVwZGF0ZS1jdXN0b21lclwiLCB7IC4uLm5ld0RhdGEgfSk7XG4gICAgfSxcbiAgICB7IGRlZXA6IHRydWUgfVxuKTtcblxub25Nb3VudGVkKCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbn0pXG5cbm9uQmVmb3JlVW5tb3VudCgoKSA9PiB7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG59KTtcblxuY29uc3QgZ2V0Q3VzdG9tZXJzID0gYXN5bmMgKGUpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvY3VzdG9tZXIvc2VhcmNoLyR7aW5wdXQudmFsdWV9YClcbiAgICBzdWdnZXN0aW9ucy52YWx1ZSA9IHJlc3BvbnNlLmRhdGFcbiAgICBzaG93U3VnZ2VzdGlvbnMudmFsdWUgPSB0cnVlXG59XG5cbmNvbnN0IHNlbGVjdE9wdGlvbiA9IChzdWdnZXN0aW9uKSA9PiB7XG4gICAgZW1pdChcInVwZGF0ZS1jdXN0b21lclwiLCBzdWdnZXN0aW9uKTtcbiAgICBzaG93U3VnZ2VzdGlvbnMudmFsdWUgPSBmYWxzZTtcbn1cblxuY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50KSA9PiB7XG4gICAgLy8gVsOpcmlmaWUgc2kgbGUgY2xpYyBzJ2VzdCBwcm9kdWl0IGVuIGRlaG9ycyBkdSBjaGFtcCBvdSBkZSBsYSBsaXN0ZVxuICAgIGlmICghZXZlbnQudGFyZ2V0LmNsb3Nlc3QoXCIuYXV0b2NvbXBsZXRlLXdyYXBwZXJcIikpIHtcbiAgICAgICAgc2hvd1N1Z2dlc3Rpb25zLnZhbHVlID0gZmFsc2U7XG4gICAgfVxufTtcblxuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci1mb3JtXCIgdi1pZj1cIiFwcm9wcy5pc1dvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHItNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIGF1dG9jb21wbGV0ZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPjxiPk5vbTwvYj48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIEBpbnB1dD1cImdldEN1c3RvbWVyc1wiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJjdXN0b21lckRhdGEubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOb21cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgIHYtaWY9XCJzaG93U3VnZ2VzdGlvbnMgJiYgc3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgdy1mdWxsIGJnLXdoaXRlIGJvcmRlciByb3VuZGVkLWxnIHNoYWRvdy1sZyBtYXgtaC00MCBvdmVyZmxvdy15LWF1dG8gei0xMCB0b3AtWzEwMCVdIG10LTFcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICB2LWZvcj1cIihzdWdnZXN0aW9uLCBpbmRleCkgaW4gc3VnZ2VzdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOmtleT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz1cInNlbGVjdE9wdGlvbihzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtMiBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy1ibHVlLTEwMFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj48Yj5Db29yZG9ubsOpZXM8L2I+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwiY3VzdG9tZXJEYXRhLmFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQWRyZXNzZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMiBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImFkZHJlc3NDb21wbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5hZGRyZXNzQ29tcGxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiemlwQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJjdXN0b21lckRhdGEuemlwQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvZGUgcG9zdGFsXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0yIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS01MDBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImNpdHlcIlxuICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwiY3VzdG9tZXJEYXRhLmNpdHlcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVmlsbGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj48Yj5Db250YWN0PC9iPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIDpkaXNhYmxlZD1cInByb3BzLmlzV29uXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb250YWN0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJjdXN0b21lckRhdGEuY29udGFjdE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTm9tIGR1IGNvbnRhY3RcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiY29udGFjdFBob25lXCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5jb250YWN0UGhvbmVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVMOpbMOpcGhvbmUgZHUgY29udGFjdFwiXG4gICAgICAgICAgICAgICAgICAgIHYtbWFzaz1cIicjIyAjIyAjIyAjIyAjIydcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiY29udGFjdEVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5jb250YWN0RW1haWxcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVtYWlsIGR1IGNvbnRhY3RcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj48Yj5OwrAgU0lSRVQ8L2I+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInNpcmV0XCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5zaXJldFwiXG4gICAgICAgICAgICAgICAgICAgIHYtbWFzaz1cIicjIyMgIyMjICMjIyAjIyMjIydcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiMDAwIDAwMCAwMDAgMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm10LTVcIiB2LWlmPVwicHJvcHMuaXNXb25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9jayBmb250LWJvbGQgdGV4dC1sZ1wiPlxuICAgICAgICAgICAge3sgY3VzdG9tZXJEYXRhLm5hbWUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrXCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuYWRkcmVzcyB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIiB2LWlmPVwiY3VzdG9tZXJEYXRhLmFkZHJlc3NDb21wbGVtZW50XCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuYWRkcmVzc0NvbXBsZW1lbnQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrXCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuemlwQ29kZSB9fSB7eyBjdXN0b21lckRhdGEuY2l0eSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIiB2LWlmPVwiY3VzdG9tZXJEYXRhLnNpcmV0XCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuc2lyZXQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCBibG9jayBtdC0zIHRleHQtZ3JheS0zMDAgdW5kZXJsaW5lXCI+XG4gICAgICAgICAgICBDb250YWN0XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9ja1wiPlxuICAgICAgICAgICAge3sgY3VzdG9tZXJEYXRhLmNvbnRhY3ROYW1lIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9ja1wiPlxuICAgICAgICAgICAge3sgY3VzdG9tZXJEYXRhLmNvbnRhY3RQaG9uZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIj5cbiAgICAgICAgICAgIHt7IGN1c3RvbWVyRGF0YS5jb250YWN0RW1haWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuXG4uY3VzdG9tZXItZm9ybSB7XG5cbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG59XG5cbjwvc3R5bGU+XG4iLCI8c2NyaXB0IHNldHVwPlxuaW1wb3J0IHtyZWYsIG9uTW91bnRlZCwgZGVmaW5lUHJvcHMsIHdhdGNoLCBvblVubW91bnRlZCwgY29tcHV0ZWR9IGZyb20gXCJ2dWVcIjtcbmltcG9ydCBMaW5lIGZyb20gXCIuL0xpbmUudnVlXCI7XG5pbXBvcnQgQ3VzdG9tZXIgZnJvbSBcIi4vQ3VzdG9tZXIudnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIjtcbmltcG9ydCB7IFF1aWxsRWRpdG9yIH0gZnJvbSAnQHZ1ZXVwL3Z1ZS1xdWlsbCdcbmltcG9ydCAnQHZ1ZXVwL3Z1ZS1xdWlsbC9kaXN0L3Z1ZS1xdWlsbC5zbm93LmNzcyc7XG5cbmltcG9ydCB7IHVzZU5vdGlmeU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU5vdGlmeU1ldGhvZHMnO1xuY29uc3QgeyBub3RpZnkgfSA9IHVzZU5vdGlmeU1ldGhvZHMoKTtcblxuY29uc3QgbGluZUluZGV4ID0gcmVmKDApO1xuY29uc3QgbGluZXMgPSByZWYoW10pO1xuY29uc3QgZmlyc3RJbnZvaWNlRGF0YSA9IHJlZihbXSk7XG5jb25zdCBxdW90YXRpb24gPSByZWYobnVsbCk7XG5jb25zdCBvYmplY3QgPSByZWYoJycpO1xuY29uc3Qgbm90ZSA9IHJlZignJyk7XG5jb25zdCBtZW50aW9uID0gcmVmKCcnKTtcbmNvbnN0IG1haW5Ub3RhbCA9IHJlZigwKTtcbmNvbnN0IGlzV29uID0gcmVmKGZhbHNlKTtcbmNvbnN0IGNhbkVtYWlsID0gcmVmKGZhbHNlKTtcbmNvbnN0IGN1c3RvbWVyID0gcmVmKHtcbiAgICBpZDogbnVsbCxcbiAgICBuYW1lOiBcIlwiLFxuICAgIGFkZHJlc3M6IFwiXCIsXG4gICAgYWRkcmVzc0NvbXBsZW1lbnQ6IFwiXCIsXG4gICAgemlwQ29kZTogbnVsbCxcbiAgICBjaXR5OiBcIlwiLFxuICAgIGNvbnRhY3ROYW1lOiBcIlwiLFxuICAgIGNvbnRhY3RQaG9uZTogXCJcIixcbiAgICBjb250YWN0RW1haWw6IFwiXCIsXG4gICAgc2lyZXQ6IFwiXCIsXG4gICAgb3JpZ2luQ3VzdG9tZXI6IG51bGwsXG59KTtcbmNvbnN0IHJlZmVyZW5jZSA9IHJlZignJyk7XG5jb25zdCBwZGZVcmwgPSByZWYoJyMnKTtcbmNvbnN0IGhhc0ludm9pY2UgPSByZWYoZmFsc2UpO1xuY29uc3QgZGVzY3JpcHRpb24gPSByZWYobnVsbCk7XG5jb25zdCBzaG93RGVzY3JpcHRpb24gPSByZWYoZmFsc2UpO1xuXG5jb25zdCBjYW5WYWxpZGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gb2JqZWN0LnZhbHVlICE9PSAnJyAmJlxuICAgICAgICBvYmplY3QudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgIWhhc0ludm9pY2UudmFsdWUgJiZcbiAgICAgICAgY3VzdG9tZXIudmFsdWUubmFtZSAhPT0gJycgJiZcbiAgICAgICAgbGluZXMudmFsdWUubGVuZ3RoID4gMCAmJlxuICAgICAgICBsaW5lcy52YWx1ZVswXS5uYW1lICE9PSAnJ1xuICAgICAgICA7XG59KTtcbi8vIEZvbmN0aW9uIHBvdXIgZ8OpcmVyIGxlcyBtaXNlcyDDoCBqb3VyIGQndW5lIGxpZ25lXG5jb25zdCB1cGRhdGVMaW5lID0gKHVwZGF0ZWRMaW5lKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsaW5lcy52YWx1ZS5maW5kSW5kZXgoKGxpbmUpID0+IGxpbmUuaWQgPT09IHVwZGF0ZWRMaW5lLmlkKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGxpbmVzLnZhbHVlW2luZGV4XSA9IHsgLi4udXBkYXRlZExpbmUgfTtcbiAgICB9XG4gICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxufTtcblxuY29uc3QgZGVsZXRlTGluZSA9IGFzeW5jIChsaW5lVG9SZW1vdmUpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9xdW90YXRpb24vdW5zdG9yZS1saW5lLyR7bGluZVRvUmVtb3ZlLmlkfWApXG4gICAgaWYocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgZXJhc2VMaW5lKGxpbmVUb1JlbW92ZS5pZClcbiAgICAgICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxuICAgIH0gZWxzZSB7XG5cbiAgICB9XG59XG5cbmNvbnN0IGVyYXNlTGluZSA9IChsaW5lSWQpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxpbmVzLnZhbHVlLmZpbmRJbmRleCgobGluZSkgPT4gbGluZS5pZCA9PT0gbGluZUlkKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGxpbmVzLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxufVxuXG4vLyBBam91dGVyIHVuZSBub3V2ZWxsZSBsaWduZVxuY29uc3QgYWRkTGluZSA9IChpc1RpdGxlID0gZmFsc2UpID0+IHtcbiAgICBsaW5lcy52YWx1ZS5wdXNoKHtcbiAgICAgICAgaWQ6IGxpbmVJbmRleC52YWx1ZSxcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgcXVhbnRpdHk6IDEsXG4gICAgICAgIHVuaXRQcmljZTogMCxcbiAgICAgICAgaXNTdG9yZWQ6IGZhbHNlLFxuICAgICAgICBpc1RpdGxlOiBpc1RpdGxlLFxuICAgIH0pO1xuICAgIGxpbmVJbmRleC52YWx1ZSsrO1xuICAgIGNhbGN1bGF0ZVRvdGFsQU1vdW50KClcbn07XG5cblxuLy8gTWV0dHJlIMOgIGpvdXIgdW4gY2hhbXAgc3DDqWNpZmlxdWUgZCd1bmUgbGlnbmVcbmNvbnN0IHVwZGF0ZUxpbmVGaWVsZCA9IChpbmRleCwgZmllbGQsIHZhbHVlKSA9PiB7XG4gICAgbGluZXMudmFsdWVbaW5kZXhdW2ZpZWxkXSA9IHZhbHVlO1xuICAgIGxpbmVzLnZhbHVlW2luZGV4XS5pc1N0b3JlZCA9IHRydWU7XG59O1xuXG4vLyBGb25jdGlvbiBwb3VyIGfDqXJlciBsZXMgbWlzZXMgw6Agam91ciBkZXMgZG9ubsOpZXMgZHUgY2xpZW50XG5jb25zdCB1cGRhdGVDdXN0b21lciA9ICh1cGRhdGVkQ3VzdG9tZXIpID0+IHtcbiAgICBjdXN0b21lci52YWx1ZSA9IHsgLi4udXBkYXRlZEN1c3RvbWVyIH07XG59O1xuXG5jb25zdCBzYXZlUXVvdGF0aW9uID0gYXN5bmMgKHNob3dTdWNjZXNzID0gdHJ1ZSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChcIi9xdW90YXRpb24vc2F2ZVwiLCB7XG4gICAgICAgICAgICBsaW5lczogbGluZXMudmFsdWUsXG4gICAgICAgICAgICBxdW90YXRpb246IHF1b3RhdGlvbi52YWx1ZSxcbiAgICAgICAgICAgIG9iamVjdDogb2JqZWN0LnZhbHVlLFxuICAgICAgICAgICAgbm90ZTogbm90ZS52YWx1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbi52YWx1ZSxcbiAgICAgICAgICAgIGN1c3RvbWVyOiBjdXN0b21lci52YWx1ZSwgLy8gSW5jbHVyZSBsZXMgZG9ubsOpZXMgZHUgY2xpZW50XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGE7XG5cbiAgICAgICAgLy8gTWV0dHJlIMOgIGpvdXIgbGVzIElEIGRlcyBsaWduZXNcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJlc3BvbnNlRGF0YS5saW5lcykge1xuICAgICAgICAgICAgdXBkYXRlTGluZUZpZWxkKGtleSwgXCJpZFwiLCByZXNwb25zZURhdGEubGluZXNba2V5XSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZXR0cmUgw6Agam91ciBsZXMgaW5mb3JtYXRpb25zIGR1IGRldmlzXG4gICAgICAgIGlmIChyZXNwb25zZURhdGEucXVvdGF0aW9uKSB7XG4gICAgICAgICAgICBxdW90YXRpb24udmFsdWUgPSByZXNwb25zZURhdGEucXVvdGF0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWV0dHJlIMOgIGpvdXIgbGVzIGluZm9ybWF0aW9ucyBkdSBjbGllbnQgKHNpIG1vZGlmacOpZXMgY8O0dMOpIGJhY2tlbmQpXG4gICAgICAgIGlmIChyZXNwb25zZURhdGEuY3VzdG9tZXIpIHtcbiAgICAgICAgICAgIGN1c3RvbWVyLnZhbHVlID0gcmVzcG9uc2VEYXRhLmN1c3RvbWVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoc2hvd1N1Y2Nlc3MpIHtcbiAgICAgICAgICAgIGF3YWl0IG5vdGlmeSgnRW5yZWdpc3RyZW1lbnQgcsOpdXNzaScpXG4gICAgICAgIH1cblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGF3YWl0IG5vdGlmeSgnVW5lIGVycmV1ciBzXFwnZXN0IHByb2R1aXRlJywgJ2Vycm9yJylcbiAgICB9XG59O1xuXG5jb25zdCBjYWxjdWxhdGVUb3RhbEFNb3VudCA9ICgpID0+IHtcbiAgICBtYWluVG90YWwudmFsdWUgPSBsaW5lcy52YWx1ZS5yZWR1Y2UoKHRvdGFsLCBsaW5lKSA9PiB7XG4gICAgICAgIHJldHVybiB0b3RhbCArIGxpbmUucXVhbnRpdHkgKiBsaW5lLnVuaXRQcmljZTtcbiAgICB9LCAwKTtcbn1cblxuY29uc3QgY2hhbmdlU3RhdHVzID0gYXN5bmMgKGUpID0+IHtcbiAgICBjb25zdCBjaGVja2JveCA9IGUudGFyZ2V0XG4gICAgaWYoY2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICBhd2FpdCBzYXZlUXVvdGF0aW9uKGZhbHNlKVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9xdW90YXRpb24vdmFsaWRhdGUvJHtxdW90YXRpb24udmFsdWV9YCApXG4gICAgICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgcmVmZXJlbmNlLnZhbHVlID0gZGF0YS5yZWZlcmVuY2VcbiAgICAgICAgICAgIGlzV29uLnZhbHVlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvcXVvdGF0aW9uL3VudmFsaWRhdGUvJHtxdW90YXRpb24udmFsdWV9YCApXG4gICAgICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgcmVmZXJlbmNlLnZhbHVlID0gbnVsbFxuICAgICAgICAgICAgaXNXb24udmFsdWUgPSBmYWxzZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2RvY3VtZW50LXN0YXR1cy1jaGFuZ2VkJylcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KVxufVxuXG5jb25zdCBnZXREZWZhdWx0U2V0dGluZ3MgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoJy9zZXR0aW5ncy9nZXQnKVxuICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZS5kYXRhXG5cbiAgICBpZignPHA+PGJyPjwvcD4nID09PSBub3RlLnZhbHVlKSB7XG4gICAgICAgIG5vdGUudmFsdWUgPSBkYXRhLm5vdGVcbiAgICB9XG59XG5cbi8vIENoYXJnZXIgbGVzIGRvbm7DqWVzIGluaXRpYWxlcyBhdSBtb250YWdlXG5vbk1vdW50ZWQoKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgICAgICAgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInF1b3RhdGlvblwiKTtcbiAgICAgICAgcXVvdGF0aW9uLnZhbHVlICAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LnF1b3RhdGlvbik7XG4gICAgICAgIGxpbmVzLnZhbHVlICAgICAgICAgICAgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5saW5lcyk7XG4gICAgICAgIG9iamVjdC52YWx1ZSAgICAgICAgICAgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5vYmplY3QpO1xuICAgICAgICBpc1dvbi52YWx1ZSAgICAgICAgICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQuaXNXb24pO1xuICAgICAgICByZWZlcmVuY2UudmFsdWUgICAgICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQucmVmZXJlbmNlKTtcbiAgICAgICAgY3VzdG9tZXIudmFsdWUgICAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LmN1c3RvbWVyKTtcbiAgICAgICAgcGRmVXJsLnZhbHVlICAgICAgICAgICA9IGVsZW1lbnQuZGF0YXNldC5wZGZVcmw7XG4gICAgICAgIG5vdGUudmFsdWUgICAgICAgICAgICAgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5ub3RlKTtcbiAgICAgICAgbWVudGlvbi52YWx1ZSAgICAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lm1lbnRpb24pO1xuICAgICAgICBkZXNjcmlwdGlvbi52YWx1ZSAgICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQuZGVzY3JpcHRpb24gPz8gbnVsbCk7XG4gICAgICAgIGhhc0ludm9pY2UudmFsdWUgICAgICAgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5oYXNJbnZvaWNlKVxuICAgICAgICBmaXJzdEludm9pY2VEYXRhLnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQuZmlyc3RJbnZvaWNlRGF0YSlcbiAgICAgICAgY2FuRW1haWwudmFsdWUgICAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LmNhbkVtYWlsKVxuICAgICAgICBzaG93RGVzY3JpcHRpb24udmFsdWUgID0gZmFsc2VcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbCdpbml0aWFsaXNhdGlvbiA6XCIsIGVycm9yKTtcbiAgICB9XG4gICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKTtcbiAgICBnZXREZWZhdWx0U2V0dGluZ3MoKVxuXG59KTtcblxub25Vbm1vdW50ZWQoKCkgPT4ge1xuXG59KTtcblxuY29uc3QgbmF2aWdhdGVUb0ludm9pY2UgPSAoKSA9PiB7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL2ludm9pY2UvY3JlYXRlLyR7cXVvdGF0aW9uLnZhbHVlfWA7XG59O1xuXG5mdW5jdGlvbiBzaG93RGVzYyAoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHNob3dEZXNjcmlwdGlvbi52YWx1ZSA9IHRydWVcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRGVzYyAoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHNob3dEZXNjcmlwdGlvbi52YWx1ZSA9IGZhbHNlXG4gICAgZGVzY3JpcHRpb24udmFsdWUgPSBudWxsXG59XG5cbmNvbnN0IGRlbGV0ZVF1b3RhdGlvbiA9ICgpID0+IHtcbiAgICBjb25zdCB1cmwgPSBgL3F1b3RhdGlvbi9kZWxldGUvJHtxdW90YXRpb24udmFsdWV9YFxuXG4gICAgU3dhbC5maXJlKHtcbiAgICAgICAgdGl0bGU6IFwiPHN0cm9uZz5BdHRlbnRpb248L3N0cm9uZz5cIixcbiAgICAgICAgaWNvbjogXCJ3YXJuaW5nXCIsXG4gICAgICAgIGh0bWw6IGBcbiAgICDDinRlcy12b3VzIHPDu3ItZSBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZSBkZXZpcy48YnI+XG4gIGAsXG4gICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICBmb2N1c0NvbmZpcm06IGZhbHNlLFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogYFxuICAgICBTdXBwcmltZXIgbGUgZGV2aXNcbiAgYCxcbiAgICAgICAgY29uZmlybUJ1dHRvbkFyaWFMYWJlbDogXCJjb25maXJtXCIsXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGBcbiAgICBBbm51bGVyXG4gIGAsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkFyaWFMYWJlbDogXCJ1bmRvXCIsXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XG4gICAgICAgICAgICBjb25maXJtQnV0dG9uOiBcIndhcm5pbmdcIixcbiAgICAgICAgfVxuICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAvKiBSZWFkIG1vcmUgYWJvdXQgaXNDb25maXJtZWQsIGlzRGVuaWVkIGJlbG93ICovXG4gICAgICAgIGlmIChyZXN1bHQuaXNDb25maXJtZWQpIHtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsXG4gICAgICAgIH0gZWxzZSAge1xuXG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuY29uc3QgZHVwbGljYXRlID0gKCkgPT4ge1xuICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBgL3F1b3RhdGlvbi9kdXBsaWNhdGUvJHtxdW90YXRpb24udmFsdWV9YFxufVxuXG4vKipcbiAqIENldHRlIG3DqXRob2RlIHLDqWN1cMOocmUgbGVzIGluZm9zIGR1IGN1c3RvbWVyIGQnb3JpZ2luZSBwb3VyIHJlcHJlbmRyZSBsZXMgZG9ubsOpZXMgdGVsbGVzIHF1ZSBkYW5zIGxhIHRhYmxlIEN1c3RvbWVyXG4gKiBAcGFyYW0gY3VzdG9tZXJJZFxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gKi9cbmNvbnN0IGN1c3RvbWVyU3luY2hybyA9IGFzeW5jIChjdXN0b21lcklkKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvY3VzdG9tZXIvZGF0YS8ke2N1c3RvbWVySWR9YClcbiAgICBjdXN0b21lci52YWx1ZSA9IHJlc3BvbnNlLmRhdGFcbn1cbmNvbnN0IGhhbmRsZURvd25sb2FkID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHNhdmVRdW90YXRpb24oZmFsc2UpOyAvLyBlbnJlZ2lzdHJlbWVudCBkJ2Fib3JkXG4gICAgLy8gRW5zdWl0ZSwgZm9yY2VyIGxlIHTDqWzDqWNoYXJnZW1lbnRcblxuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gcGRmVXJsLnZhbHVlO1xuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdyZWwnLCAnbm9vcGVuZXInKVxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgbGluay5jbGljaygpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG5cbn07XG5cblxuY29uc3QgZ2V0U2xpZGVyTGluayA9IChzbGlkZXJOYW1lKSA9PiB7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmRhdGFzZXQuY29udHJvbGxlciA9ICdzbGlkZXInO1xuICAgIGxpbmsuZGF0YXNldC5zbGlkZXIgPSBzbGlkZXJOYW1lO1xuICAgIGxpbmsuZGF0YXNldC5hY3Rpb24gPSAnY2xpY2stPnNsaWRlciNsb2FkJztcbiAgICByZXR1cm4gbGlua1xufVxuXG5jb25zdCBoYW5kbGVQcmludCA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzYXZlUXVvdGF0aW9uKGZhbHNlKTsgLy8gZW5yZWdpc3RyZW1lbnQgZCdhYm9yZFxuICAgIGNvbnN0IGxpbmsgPSBnZXRTbGlkZXJMaW5rKCdwcmludCcpXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgbGluay5jbGljaygpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIH0pXG59XG5cbmNvbnN0IGhhbmRsZVNlbmQgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2F2ZVF1b3RhdGlvbihmYWxzZSk7IC8vIGVucmVnaXN0cmVtZW50IGQnYWJvcmRcbiAgICBjb25zdCBsaW5rID0gZ2V0U2xpZGVyTGluaygnZW1haWwnKVxuICAgIGxpbmsuZGF0YXNldC50eXBlID0gJ3F1b3RhdGlvbidcbiAgICBsaW5rLmRhdGFzZXQuZG9jdW1lbnRJZCA9IHF1b3RhdGlvbi52YWx1ZVxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICB9KVxufVxuXG5cbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYXBwIHAtNiBtdC01XCI+XG5cbiAgICAgICAgPCEtLSBUSVRSRSBFVCBBQ1RJT05TIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0ZXh0LTV4bCBmb250LWJvbGQgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTVcIj5cbiAgICAgICAgICAgICAgICBEZXZpc1xuICAgICAgICAgICAgICAgIDxzcGFuIHYtaWY9XCJyZWZlcmVuY2UgIT09IG51bGwgJiYgcmVmZXJlbmNlICE9PSAnJ1wiIGNsYXNzPVwidGV4dC1sZyBweC00IHB5LTIgcm91bmRlZCBiZy1ibGFjayB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJlZmVyZW5jZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtbGlzdGVuPSdbXCJlbWFpbC1zZW50XCIsIFwiZG9jdW1lbnQtc3RhdHVzLWNoYW5nZWRcIl0nXG4gICAgICAgICAgICAgICAgICAgIDpkYXRhLXJlbG9hZD1cImAvc3RhdHVzL3F1b3RhdGlvbi8ke3F1b3RhdGlvbn1gXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10eXBlPVwicXVvdGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgOmRhdGEtZG9jdW1lbnQtaWQ9XCJxdW90YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWNvbnRyb2xsZXI9XCJkb2N1bWVudC1zdGF0dXNlc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgPGRpdiB2LWlmPVwiaGFzSW52b2ljZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcCBpbnZvaWNlLXJlZlwiPlxuICAgICAgICAgICAgICAgICAgICA8YSA6aHJlZj1cImAvaW52b2ljZS9kZXRhaWwvJHtmaXJzdEludm9pY2VEYXRhLmlkfWBcIj5GYWN0dXJlIG7CsCB7eyBmaXJzdEludm9pY2VEYXRhLnJlZmVyZW5jZSB9fTwvYT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMgZmxleCBqdXN0aWZ5LWJldHdlZW4gbXQtNVwiPlxuXG4gICAgICAgICAgICA8ZGl2ID5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWUtNSBjdXJzb3ItcG9pbnRlclwiIHYtaWY9XCJjYW5WYWxpZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgOmNoZWNrZWQ9XCJpc1dvblwiIHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic3Itb25seSBwZWVyXCIgQGNoYW5nZT1cImNoYW5nZVN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdy0xMSBoLTYgYmctZ3JheS0yMDAgcm91bmRlZC1mdWxsIHBlZXIgZGFyazpiZy1ncmF5LTcwMCAgcGVlci1jaGVja2VkOmFmdGVyOnRyYW5zbGF0ZS14LWZ1bGwgcnRsOnBlZXItY2hlY2tlZDphZnRlcjotdHJhbnNsYXRlLXgtZnVsbCBwZWVyLWNoZWNrZWQ6YWZ0ZXI6Ym9yZGVyLXdoaXRlIGFmdGVyOmNvbnRlbnQtWycnXSBhZnRlcjphYnNvbHV0ZSBhZnRlcjp0b3AtMSBhZnRlcjpzdGFydC1bNnB4XSBhZnRlcjpiZy13aGl0ZSBhZnRlcjpib3JkZXItZ3JheS0zMDAgYWZ0ZXI6Ym9yZGVyIGFmdGVyOnJvdW5kZWQtZnVsbCBhZnRlcjpoLTQgYWZ0ZXI6dy00IGFmdGVyOnRyYW5zaXRpb24tYWxsIGRhcms6Ym9yZGVyLWdyYXktNjAwIHBlZXItY2hlY2tlZDpiZy10ZWFsLTYwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC1ncmF5LTMwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgRGV2aXMgdmFsaWTDqVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBzaGFkb3ctbWQgei0xMCBqdXN0aWZ5LWJldHdlZW4gcHgtNCBtcy02NCB3LXNjcmVlbi1taW51cy02NCBnYXAtNCBmaXhlZCB0b3AtMCBsZWZ0LTAgcHktMyBiZy13aGl0ZVwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgcmVsPVwibm9vcGVuZXJcIiB2LWlmPVwiaXNXb24gJiYgb2JqZWN0ICE9PSAnJyAmJiBvYmplY3QgIT09IG51bGwgJiYgIWhhc0ludm9pY2VcIiAgQGNsaWNrLnByZXZlbnQ9XCJuYXZpZ2F0ZVRvSW52b2ljZVwiICBjbGFzcz1cImRmYS1idXR0b24gYmctcGluay04MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1waW5rLTk1MCBmb2N1czpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IG1lLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE5LjUgMTQuMjV2LTIuNjI1YTMuMzc1IDMuMzc1IDAgMCAwLTMuMzc1LTMuMzc1aC0xLjVBMS4xMjUgMS4xMjUgMCAwIDEgMTMuNSA3LjEyNXYtMS41YTMuMzc1IDMuMzc1IDAgMCAwLTMuMzc1LTMuMzc1SDguMjVtMCAxMS42MjVoNC41bS00LjUgMi4yNWg0LjVtMi4xMjEgMS41MjdjLTEuMTcxIDEuNDY0LTMuMDcgMS40NjQtNC4yNDIgMC0xLjE3Mi0xLjQ2NS0xLjE3Mi0zLjg0IDAtNS4zMDQgMS4xNzEtMS40NjQgMy4wNy0xLjQ2NCA0LjI0MiAwTTEwLjUgMi4yNUg1LjYyNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxNy4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDEyLjc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjExLjI1YTkgOSAwIDAgMC05LTlaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgRmFjdHVyZXJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHYtaWY9XCIhaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwic2F2ZVF1b3RhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gYmctcGluay04MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1waW5rLTkwMCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMC4xMjUgMi4yNWgtNC41Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djE3LjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMTIuNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjV2LTlNMTAuMTI1IDIuMjVoLjM3NWE5IDkgMCAwIDEgOSA5di4zNzVNMTAuMTI1IDIuMjVBMy4zNzUgMy4zNzUgMCAwIDEgMTMuNSA1LjYyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWgxLjVhMy4zNzUgMy4zNzUgMCAwIDEgMy4zNzUgMy4zNzVNOSAxNWwyLjI1IDIuMjVMMTUgMTJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICBFbnJlZ2lzdHJlclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTJcIj5cblxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiL3F1b3RhdGlvbi9saXN0XCIgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1ibGFjayB0ZXh0LXdoaXRlXCIgZGF0YS10aXBweS1jb250ZW50PVwiTGlzdGUgZGVzIGRldmlzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOC4yNSA2Ljc1aDEyTTguMjUgMTJoMTJtLTEyIDUuMjVoMTJNMy43NSA2Ljc1aC4wMDd2LjAwOEgzLjc1VjYuNzVabS4zNzUgMGEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFpNMy43NSAxMmguMDA3di4wMDhIMy43NVYxMlptLjM3NSAwYS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWm0tLjM3NSA1LjI1aC4wMDd2LjAwOEgzLjc1di0uMDA4Wm0uMzc1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljay5wcmV2ZW50PVwiZHVwbGljYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGlwcHktY29udGVudD1cIkR1cGxpcXVlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIGJnLWN5YW4tNzAwIHRleHQtd2hpdGUgaG92ZXI6YmctY3lhbi04MDAgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE1Ljc1IDE3LjI1djMuMzc1YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1aC05Ljc1YTEuMTI1IDEuMTI1IDAgMCAxLTEuMTI1LTEuMTI1VjcuODc1YzAtLjYyMS41MDQtMS4xMjUgMS4xMjUtMS4xMjVINi43NWE5LjA2IDkuMDYgMCAwIDEgMS41LjEyNG03LjUgMTAuMzc2aDMuMzc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjExLjI1YzAtNC40Ni0zLjI0My04LjE2MS03LjUtOC44NzZhOS4wNiA5LjA2IDAgMCAwLTEuNS0uMTI0SDkuMzc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djMuNW03LjUgMTAuMzc1SDkuMzc1YTEuMTI1IDEuMTI1IDAgMCAxLTEuMTI1LTEuMTI1di05LjI1bTEyIDYuNjI1di0xLjg3NWEzLjM3NSAzLjM3NSAwIDAgMC0zLjM3NS0zLjM3NWgtMS41YTEuMTI1IDEuMTI1IDAgMCAxLTEuMTI1LTEuMTI1di0xLjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVIOS43NVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRpcHB5LWNvbnRlbnQ9XCJUw6lsw6ljaGFyZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHYtaWY9XCJwZGZVcmwgJiYgcGRmVXJsICE9PSAnIydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJoYW5kbGVEb3dubG9hZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIGJnLXRlYWwtNTAwIHRleHQtd2hpdGUgaG92ZXI6YmctdGVhbC03MDAgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTMgMTYuNXYyLjI1QTIuMjUgMi4yNSAwIDAgMCA1LjI1IDIxaDEzLjVBMi4yNSAyLjI1IDAgMCAwIDIxIDE4Ljc1VjE2LjVNMTYuNSAxMiAxMiAxNi41bTAgMEw3LjUgMTJtNC41IDQuNVYzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGlwcHktY29udGVudD1cIkltcHJpbWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljay5wcmV2ZW50PVwiaGFuZGxlUHJpbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1hbWJlci01MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1hbWJlci02MDAgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTYuNzIgMTMuODI5Yy0uMjQuMDMtLjQ4LjA2Mi0uNzIuMDk2bS43Mi0uMDk2YTQyLjQxNSA0Mi40MTUgMCAwIDEgMTAuNTYgMG0tMTAuNTYgMEw2LjM0IDE4bTEwLjk0LTQuMTcxYy4yNC4wMy40OC4wNjIuNzIuMDk2bS0uNzItLjA5NkwxNy42NiAxOG0wIDAgLjIyOSAyLjUyM2ExLjEyNSAxLjEyNSAwIDAgMS0xLjEyIDEuMjI3SDcuMjMxYy0uNjYyIDAtMS4xOC0uNTY4LTEuMTItMS4yMjdMNi4zNCAxOG0xMS4zMTggMGgxLjA5MUEyLjI1IDIuMjUgMCAwIDAgMjEgMTUuNzVWOS40NTZjMC0xLjA4MS0uNzY4LTIuMDE1LTEuODM3LTIuMTc1YTQ4LjA1NSA0OC4wNTUgMCAwIDAtMS45MTMtLjI0N002LjM0IDE4SDUuMjVBMi4yNSAyLjI1IDAgMCAxIDMgMTUuNzVWOS40NTZjMC0xLjA4MS43NjgtMi4wMTUgMS44MzctMi4xNzVhNDguMDQxIDQ4LjA0MSAwIDAgMSAxLjkxMy0uMjQ3bTEwLjUgMGE0OC41MzYgNDguNTM2IDAgMCAwLTEwLjUgMG0xMC41IDBWMy4zNzVjMC0uNjIxLS41MDQtMS4xMjUtMS4xMjUtMS4xMjVoLTguMjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2My42NTlNMTggMTAuNWguMDA4di4wMDhIMThWMTAuNVptLTMgMGguMDA4di4wMDhIMTVWMTAuNVpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cImNhbkVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGlwcHktY29udGVudD1cIkVudm95ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJoYW5kbGVTZW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGZhLWJ1dHRvbiBjaXJjbGUgYmctY3lhbi03MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1jeWFuLTkwMCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMjEuNzUgNi43NXYxMC41YTIuMjUgMi4yNSAwIDAgMS0yLjI1IDIuMjVoLTE1YTIuMjUgMi4yNSAwIDAgMS0yLjI1LTIuMjVWNi43NW0xOS41IDBBMi4yNSAyLjI1IDAgMCAwIDE5LjUgNC41aC0xNWEyLjI1IDIuMjUgMCAwIDAtMi4yNSAyLjI1bTE5LjUgMHYuMjQzYTIuMjUgMi4yNSAwIDAgMS0xLjA3IDEuOTE2bC03LjUgNC42MTVhMi4yNSAyLjI1IDAgMCAxLTIuMzYgMEwzLjMyIDguOTFhMi4yNSAyLjI1IDAgMCAxLTEuMDctMS45MTZWNi43NVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIEBjbGljaz1cImRlbGV0ZVF1b3RhdGlvblwiIHYtaWY9XCIhaXNXb25cIiBocmVmPVwiI1wiIGNsYXNzPVwiZGZhLWJ1dHRvbiBjaXJjbGUgYmctcmVkLTgwMCB0ZXh0LXdoaXRlIHRleHQtc20gZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIm0xNC43NCA5LS4zNDYgOW0tNC43ODggMEw5LjI2IDltOS45NjgtMy4yMWMuMzQyLjA1Mi42ODIuMTA3IDEuMDIyLjE2Nm0tMS4wMjItLjE2NUwxOC4xNiAxOS42NzNhMi4yNSAyLjI1IDAgMCAxLTIuMjQ0IDIuMDc3SDguMDg0YTIuMjUgMi4yNSAwIDAgMS0yLjI0NC0yLjA3N0w0Ljc3MiA1Ljc5bTE0LjQ1NiAwYTQ4LjEwOCA0OC4xMDggMCAwIDAtMy40NzgtLjM5N20tMTIgLjU2MmMuMzQtLjA1OS42OC0uMTE0IDEuMDIyLS4xNjVtMCAwYTQ4LjExIDQ4LjExIDAgMCAxIDMuNDc4LS4zOTdtNy41IDB2LS45MTZjMC0xLjE4LS45MS0yLjE2NC0yLjA5LTIuMjAxYTUxLjk2NCA1MS45NjQgMCAwIDAtMy4zMiAwYy0xLjE4LjAzNy0yLjA5IDEuMDIyLTIuMDkgMi4yMDF2LjkxNm03LjUgMGE0OC42NjcgNDguNjY3IDAgMCAwLTcuNSAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBDb250ZW5ldXIgcHJpbmNpcGFsIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBtdC01IGdhcC00IGRvY3VtZW50XCI+XG5cbiAgICAgICAgICAgIDwhLS0gQ29sb25uZSBnYXVjaGUgOiBDdXN0b21lciAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTYgcXVvdGF0aW9uLWN1c3RvbWVyIG1kOmNvbC1zcGFuLTEgYmctd2hpdGUgcm91bmRlZC1sZyBcIj5cblxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIG1iLTIgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwibWUtMiBzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAgMCAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAgMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxIDAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwIDEgMTIgMjFhOC45NjYgOC45NjYgMCAwIDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIENsaWVudFxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInRleHQtWzE0cHhdIGZvbnQtbm9ybWFsIGhvdmVyOnVuZGVybGluZVwiIGhyZWY9XCJcIiB2LWlmPVwiY3VzdG9tZXIub3JpZ2luICYmICFpc1dvblwiIEBjbGljay5wcmV2ZW50PVwiY3VzdG9tZXJTeW5jaHJvKGN1c3RvbWVyLm9yaWdpbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICBSw6ljdXDDqXJlciBsZXMgZG9ubsOpZXMgZCdvcmlnaW5lXG4gICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9oMj5cblxuICAgICAgICAgICAgICAgIDxDdXN0b21lciA6aXMtd29uPVwiaXNXb25cIiA6Y3VzdG9tZXI9XCJjdXN0b21lclwiIEB1cGRhdGUtY3VzdG9tZXI9XCJ1cGRhdGVDdXN0b21lclwiIC8+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIENvbG9ubmUgZHJvaXRlIDogTGlzdGUgZGVzIGxpZ25lcyAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTYgcXVvdGF0aW9uLWxpbmVzIG1kOmNvbC1zcGFuLTIgYmctd2hpdGUgcm91bmRlZC1sZ1wiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTVcIj5cblxuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cIm1lLTIgc2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk04LjYyNSA5Ljc1YS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWm0wIDBIOC4yNW00LjEyNSAwYS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWm0wIDBIMTJtNC4xMjUgMGEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFptMCAwaC0uMzc1bS0xMy41IDMuMDFjMCAxLjYgMS4xMjMgMi45OTQgMi43MDcgMy4yMjcgMS4wODcuMTYgMi4xODUuMjgzIDMuMjkzLjM2OVYyMWw0LjE4NC00LjE4M2ExLjE0IDEuMTQgMCAwIDEgLjc3OC0uMzMyIDQ4LjI5NCA0OC4yOTQgMCAwIDAgNS44My0uNDk4YzEuNTg1LS4yMzMgMi43MDgtMS42MjYgMi43MDgtMy4yMjhWNi43NDFjMC0xLjYwMi0xLjEyMy0yLjk5NS0yLjcwNy0zLjIyOEE0OC4zOTQgNDguMzk0IDAgMCAwIDEyIDNjLTIuMzkyIDAtNC43NDQuMTc1LTcuMDQzLjUxM0MzLjM3MyAzLjc0NiAyLjI1IDUuMTQgMi4yNSA2Ljc0MXY2LjAxOFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmpldCBkdSBkZXZpc1xuICAgICAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LWlmPVwiIWlzV29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIm9iamVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cIm9iamVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiT2JqZXQgZHUgZGV2aXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMiBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtNTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCB2LWlmPVwiaXNXb25cIiBjbGFzcz1cInRleHQtbGcgZm9udC1ib2xkIHBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvYmplY3QgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiB2LWlmPVwiIWlzV29uICYmICgoZGVzY3JpcHRpb24gPT09IG51bGwgfHwgZGVzY3JpcHRpb24gPT09ICcnKSAmJiAhc2hvd0Rlc2NyaXB0aW9uKVwiIEBjbGljay5wcmV2ZW50PVwic2hvd0Rlc2NcIiBjbGFzcz1cInRleHQtc20gZmxleCBpdGVtcy1jZW50ZXIgbXQtMSBob3Zlcjp1bmRlcmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS00IG1lLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEyIDl2Nm0zLTNIOW0xMiAwYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgQWpvdXRlciB1bmUgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSByZWY9XCJkZXNjcmlwdGlvbkFyZWFcIiAgdi1pZj1cIiFpc1dvblwiIHYtbW9kZWw9XCJkZXNjcmlwdGlvblwiIG5hbWU9XCJkZXNjcmlwdGlvblwiIGlkPVwiXCIgcm93cz1cIjJcIiAgOmNsYXNzPVwieyBoaWRkZW46ICFzaG93RGVzY3JpcHRpb24gJiYgIWRlc2NyaXB0aW9uIH0gXCIgY2xhc3M9XCJtdC01IHctZnVsbFwiIHBsYWNlaG9sZGVyPVwiRGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZXh0YXJlYT5cblxuICAgICAgICAgICAgICAgICAgICA8YSBAY2xpY2sucHJldmVudD1cInJlbW92ZURlc2NcIiBocmVmPVwiI1wiIHYtaWY9XCIhaXNXb24gJiYgKChkZXNjcmlwdGlvbiAhPT0gbnVsbCAmJiBkZXNjcmlwdGlvbiAhPT0gJycpIHx8IHNob3dEZXNjcmlwdGlvbilcIiBjbGFzcz1cInRleHQtcmVkLTgwMCB0ZXh0LXNtIGhvdmVyOnVuZGVybGluZSBmbGV4IGl0ZW1zLWNlbnRlciBtYXgtdy1tYXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS00IG1lLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE1IDEySDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIFN1cHByaW1lciBsYSBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPHAgdi1pZj1cImlzV29uICYmIChkZXNjcmlwdGlvbiAhPT0gbnVsbCAmJiBkZXNjcmlwdGlvbiAhPT0gJycpXCIgY2xhc3M9XCJwbC04XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5LTUwIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcC00XCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgbWItMiBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtZS0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMi4yNSAzaDEuMzg2Yy41MSAwIC45NTUuMzQzIDEuMDg3LjgzNWwuMzgzIDEuNDM3TTcuNSAxNC4yNWEzIDMgMCAwIDAtMyAzaDE1Ljc1bS0xMi43NS0zaDExLjIxOGMxLjEyMS0yLjMgMi4xLTQuNjg0IDIuOTI0LTcuMTM4YTYwLjExNCA2MC4xMTQgMCAwIDAtMTYuNTM2LTEuODRNNy41IDE0LjI1IDUuMTA2IDUuMjcyTTYgMjAuMjVhLjc1Ljc1IDAgMSAxLTEuNSAwIC43NS43NSAwIDAgMSAxLjUgMFptMTIuNzUgMGEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgw4lsw6ltZW50c1xuICAgICAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cIiFpc1dvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWZvcj1cImxpbmUgaW4gbGluZXNcIiA6a2V5PVwibGluZS5pZFwiIGNsYXNzPVwibWItNCB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppcy13b249XCJpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpsaW5lPVwibGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB1cGRhdGUtbGluZT1cInVwZGF0ZUxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGVsZXRlLWxpbmU9XCJkZWxldGVMaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJpc1dvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1sZWZ0IGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1jZW50ZXIgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRdWFudGl0w6lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWNlbnRlciBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtOCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByaXggdW5pdGFpcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXJpZ2h0IGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHYtZm9yPVwibGluZSBpbiBsaW5lc1wiIDprZXk9XCJsaW5lLmlkXCIgY2xhc3M9XCJtYi00IHctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aXMtd29uPVwiaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmxpbmU9XCJsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB1cGRhdGUtbGluZT1cInVwZGF0ZUxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGRlbGV0ZS1saW5lPVwiZGVsZXRlTGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIzXCIgdi1odG1sPVwibWVudGlvblwiIGNsYXNzPVwiIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwIGRhcms6dGV4dC1zbGF0ZS00MDBcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInByaWNlIGZvbnQtYm9sZCBiZy1zbGF0ZS03MDAgdGV4dC13aGl0ZSBwLTQgcGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgOiB7eyBtYWluVG90YWwgfX0g4oKsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICB2LWlmPVwiIWlzV29uXCIgY2xhc3M9XCIgZmxleCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC01IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9XCJhZGRMaW5lKGZhbHNlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctc2xhdGUtNTAwIGhvdmVyOmJnLXNsYXRlLTcwMCB0ZXh0LXdoaXRlIGRmYS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtci0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMiA5djZtMy0zSDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWpvdXRlciB1biDDqWzDqW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwiYWRkTGluZSh0cnVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctc2xhdGUtNTAwIGhvdmVyOmJnLXNsYXRlLTcwMCB0ZXh0LXdoaXRlIGRmYS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtci0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMiA5djZtMy0zSDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWpvdXRlciB1biB0aXRyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC01IHB5LTIgYmctc2xhdGUtODAwIHJvdW5kZWQgZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyIHRleHQtd2hpdGUganVzdGlmeS1lbmQgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTUuNzUgMTUuNzVWMThtLTcuNS02Ljc1aC4wMDh2LjAwOEg4LjI1di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4SDguMjVWMTMuNVptMCAyLjI1aC4wMDh2LjAwOEg4LjI1di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4SDguMjVWMThabTIuNDk4LTYuNzVoLjAwN3YuMDA4aC0uMDA3di0uMDA4Wm0wIDIuMjVoLjAwN3YuMDA4aC0uMDA3VjEzLjVabTAgMi4yNWguMDA3di4wMDhoLS4wMDd2LS4wMDhabTAgMi4yNWguMDA3di4wMDhoLS4wMDdWMThabTIuNTA0LTYuNzVoLjAwOHYuMDA4aC0uMDA4di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4aC0uMDA4VjEzLjVabTAgMi4yNWguMDA4di4wMDhoLS4wMDh2LS4wMDhabTAgMi4yNWguMDA4di4wMDhoLS4wMDhWMThabTIuNDk4LTYuNzVoLjAwOHYuMDA4aC0uMDA4di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4aC0uMDA4VjEzLjVaTTguMjUgNmg3LjV2Mi4yNWgtNy41VjZaTTEyIDIuMjVjLTEuODkyIDAtMy43NTguMTEtNS41OTMuMzIyQzUuMzA3IDIuNyA0LjUgMy42NSA0LjUgNC43NTdWMTkuNWEyLjI1IDIuMjUgMCAwIDAgMi4yNSAyLjI1aDEwLjVhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNVY0Ljc1N2MwLTEuMTA4LS44MDYtMi4wNTctMS45MDctMi4xODVBNDguNTA3IDQ4LjUwNyAwIDAgMCAxMiAyLjI1WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgOiB7eyBtYWluVG90YWwgfX0g4oKsXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiB2LWlmPVwiIWlzV29uIHx8IG51bGwgIT09IG5vdGVcIiBjbGFzcz1cInF1aWxsLWNvbnRhaW5lciBtZDpjb2wtc3Bhbi0zIHAtNiBiZy13aGl0ZSByb3VuZGVkLWxnXCI+XG5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IG1lLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOSAxMmgzLjc1TTkgMTVoMy43NU05IDE4aDMuNzVtMyAuNzVIMThhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNVY2LjEwOGMwLTEuMTM1LS44NDUtMi4wOTgtMS45NzYtMi4xOTJhNDguNDI0IDQ4LjQyNCAwIDAgMC0xLjEyMy0uMDhtLTUuODAxIDBjLS4wNjUuMjEtLjEuNDMzLS4xLjY2NCAwIC40MTQuMzM2Ljc1Ljc1Ljc1aDQuNWEuNzUuNzUgMCAwIDAgLjc1LS43NSAyLjI1IDIuMjUgMCAwIDAtLjEtLjY2NG0tNS44IDBBMi4yNTEgMi4yNTEgMCAwIDEgMTMuNSAyLjI1SDE1YzEuMDEyIDAgMS44NjcuNjY4IDIuMTUgMS41ODZtLTUuOCAwYy0uMzc2LjAyMy0uNzUuMDUtMS4xMjQuMDhDOS4wOTUgNC4wMSA4LjI1IDQuOTczIDguMjUgNi4xMDhWOC4yNW0wIDBINC44NzVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2MTEuMjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWg5Ljc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjkuMzc1YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1SDguMjVaTTYuNzUgMTJoLjAwOHYuMDA4SDYuNzVWMTJabTAgM2guMDA4di4wMDhINi43NVYxNVptMCAzaC4wMDh2LjAwOEg2Ljc1VjE4WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICBOb3RlIGRlIGJhcyBkZSBwYWdlXG4gICAgICAgICAgICAgICAgPC9oMj5cblxuICAgICAgICAgICAgICAgIDxRdWlsbEVkaXRvciB2LWlmPVwiIWlzV29uXCIgY29udGVudFR5cGU9XCJodG1sXCIgdGhlbWU9XCJzbm93XCIgdi1tb2RlbDpjb250ZW50PVwibm90ZVwiLz5cblxuICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImlzV29uICYmIG5vdGVcIiBjbGFzcz1cInJlbGF0aXZlIG1zLTMgcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIHYtaHRtbD1cIm5vdGVcIiA+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cblxuPHN0eWxlIHNjb3BlZD5cblxuLnF1aWxsLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4gICAgdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICYucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuPC9zdHlsZT5cbiIsIjxzY3JpcHQgc2V0dXA+XG5pbXBvcnQge3JlZiwgb25Nb3VudGVkLCBuZXh0VGljaywgb25Vbm1vdW50ZWQsIGNvbXB1dGVkfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgTGluZSBmcm9tIFwiLi9MaW5lLnZ1ZVwiO1xuaW1wb3J0IEN1c3RvbWVyIGZyb20gXCIuL0N1c3RvbWVyLnZ1ZVwiO1xuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IFN3YWwgZnJvbSBcInN3ZWV0YWxlcnQyXCI7XG5pbXBvcnQgeyBRdWlsbEVkaXRvciB9IGZyb20gJ0B2dWV1cC92dWUtcXVpbGwnXG5pbXBvcnQgJ0B2dWV1cC92dWUtcXVpbGwvZGlzdC92dWUtcXVpbGwuc25vdy5jc3MnO1xuXG5pbXBvcnQgeyB1c2VOb3RpZnlNZXRob2RzIH0gZnJvbSAnLi9jb21wb3NhYmxlcy91c2VOb3RpZnlNZXRob2RzJ1xuY29uc3QgeyBub3RpZnkgfSA9IHVzZU5vdGlmeU1ldGhvZHMoKVxuXG5jb25zdCBsaW5lSW5kZXggPSByZWYoMCk7XG5jb25zdCBsaW5lcyA9IHJlZihbXSk7XG5jb25zdCBpbnZvaWNlID0gcmVmKG51bGwpO1xuY29uc3Qgb2JqZWN0ID0gcmVmKG51bGwpO1xuY29uc3QgbWFpblRvdGFsID0gcmVmKDApO1xuY29uc3QgaXNXb24gPSByZWYoZmFsc2UpO1xuY29uc3QgaXNQYWlkID0gcmVmKGZhbHNlKTtcbmNvbnN0IGNhbkVtYWlsID0gcmVmKGZhbHNlKTtcbmNvbnN0IGN1c3RvbWVyID0gcmVmKHtcbiAgICBpZDogbnVsbCxcbiAgICBuYW1lOiBcIlwiLFxuICAgIGFkZHJlc3M6IFwiXCIsXG4gICAgYWRkcmVzc0NvbXBsZW1lbnQ6IFwiXCIsXG4gICAgemlwQ29kZTogbnVsbCxcbiAgICBjaXR5OiBcIlwiLFxuICAgIGNvbnRhY3ROYW1lOiBcIlwiLFxuICAgIGNvbnRhY3RQaG9uZTogXCJcIixcbiAgICBjb250YWN0RW1haWw6IFwiXCIsXG4gICAgc2lyZXQ6IFwiXCIsXG4gICAgb3JpZ2luQ3VzdG9tZXI6IG51bGwsXG59KTtcbmNvbnN0IHJlZmVyZW5jZSA9IHJlZignJylcbmNvbnN0IHBkZlVybCA9IHJlZignIycpXG5jb25zdCBub3RlID0gcmVmKCcnKTtcbmNvbnN0IG1lbnRpb24gPSByZWYoJycpO1xuY29uc3QgZGVzY3JpcHRpb24gPSByZWYobnVsbCk7XG5jb25zdCBxdW90YXRpb25JZCA9IHJlZihudWxsKTtcbmNvbnN0IHF1b3RhdGlvblJlZmVyZW5jZSA9IHJlZihudWxsKTtcbmNvbnN0IG93bmVyU2lyZXQgPSByZWYobnVsbCk7XG5jb25zdCBzaG93RGVzY3JpcHRpb24gPSByZWYoZmFsc2UpO1xuXG5jb25zdCBjYW5Jc3N1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICAhaXNXb24udmFsdWUgJiZcbiAgICAgICAgb2JqZWN0LnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgIG9iamVjdC52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgY3VzdG9tZXIudmFsdWUubmFtZSAhPT0gJycgJiZcbiAgICAgICAgbGluZXMudmFsdWUubGVuZ3RoID4gMCAmJlxuICAgICAgICBsaW5lcy52YWx1ZVswXS5uYW1lICE9PSAnJyAmJlxuICAgICAgICBvd25lclNpcmV0LnZhbHVlICE9PSBudWxsXG4gICAgICAgIClcbiAgICAgICAgO1xufSk7XG5cbmNvbnN0IHVwZGF0ZUxpbmUgPSAodXBkYXRlZExpbmUpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxpbmVzLnZhbHVlLmZpbmRJbmRleCgobGluZSkgPT4gbGluZS5pZCA9PT0gdXBkYXRlZExpbmUuaWQpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgbGluZXMudmFsdWVbaW5kZXhdID0geyAuLi51cGRhdGVkTGluZSB9O1xuICAgIH1cbiAgICBjYWxjdWxhdGVUb3RhbEFNb3VudCgpXG59O1xuXG5jb25zdCBkZWxldGVMaW5lID0gYXN5bmMgKGxpbmVUb1JlbW92ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChgL2ludm9pY2UvdW5zdG9yZS1saW5lLyR7bGluZVRvUmVtb3ZlLmlkfWApXG4gICAgaWYocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgZXJhc2VMaW5lKGxpbmVUb1JlbW92ZS5pZClcbiAgICAgICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxuICAgIH0gZWxzZSB7XG5cbiAgICB9XG59XG5cbmNvbnN0IGVyYXNlTGluZSA9IChsaW5lSWQpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxpbmVzLnZhbHVlLmZpbmRJbmRleCgobGluZSkgPT4gbGluZS5pZCA9PT0gbGluZUlkKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGxpbmVzLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxufVxuXG5jb25zdCBhZGRMaW5lID0gKGlzVGl0bGUgPSBmYWxzZSkgPT4ge1xuICAgIGxpbmVzLnZhbHVlLnB1c2goe1xuICAgICAgICBpZDogbGluZUluZGV4LnZhbHVlLFxuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICBxdWFudGl0eTogMSxcbiAgICAgICAgdW5pdFByaWNlOiAwLFxuICAgICAgICBpc1N0b3JlZDogZmFsc2UsXG4gICAgICAgIGlzVGl0bGU6IGlzVGl0bGUsXG4gICAgfSk7XG4gICAgbGluZUluZGV4LnZhbHVlKys7XG4gICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxufTtcblxuY29uc3QgdXBkYXRlTGluZUZpZWxkID0gKGluZGV4LCBmaWVsZCwgdmFsdWUpID0+IHtcbiAgICBsaW5lcy52YWx1ZVtpbmRleF1bZmllbGRdID0gdmFsdWU7XG4gICAgbGluZXMudmFsdWVbaW5kZXhdLmlzU3RvcmVkID0gdHJ1ZTtcbn07XG5cbmNvbnN0IHVwZGF0ZUN1c3RvbWVyID0gKHVwZGF0ZWRDdXN0b21lcikgPT4ge1xuICAgIGN1c3RvbWVyLnZhbHVlID0geyAuLi51cGRhdGVkQ3VzdG9tZXIgfTtcbn07XG5cbmNvbnN0IHNhdmVJbnZvaWNlID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChcIi9pbnZvaWNlL3NhdmVcIiwge1xuICAgICAgICAgICAgbGluZXM6IGxpbmVzLnZhbHVlLFxuICAgICAgICAgICAgaW52b2ljZTogaW52b2ljZS52YWx1ZSxcbiAgICAgICAgICAgIG9iamVjdDogb2JqZWN0LnZhbHVlLFxuICAgICAgICAgICAgbm90ZTogbm90ZS52YWx1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbi52YWx1ZSxcbiAgICAgICAgICAgIGN1c3RvbWVyOiBjdXN0b21lci52YWx1ZSwgLy8gSW5jbHVyZSBsZXMgZG9ubsOpZXMgZHUgY2xpZW50XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGE7XG5cbiAgICAgICAgLy8gTWV0dHJlIMOgIGpvdXIgbGVzIElEIGRlcyBsaWduZXNcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJlc3BvbnNlRGF0YS5saW5lcykge1xuICAgICAgICAgICAgdXBkYXRlTGluZUZpZWxkKGtleSwgXCJpZFwiLCByZXNwb25zZURhdGEubGluZXNba2V5XSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZXR0cmUgw6Agam91ciBsZXMgaW5mb3JtYXRpb25zIGRlIGxhIGZhY3R1cmVcbiAgICAgICAgaWYgKHJlc3BvbnNlRGF0YS5pbnZvaWNlKSB7XG4gICAgICAgICAgICBpbnZvaWNlLnZhbHVlID0gcmVzcG9uc2VEYXRhLmludm9pY2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZXR0cmUgw6Agam91ciBsZXMgaW5mb3JtYXRpb25zIGR1IGNsaWVudCAoc2kgbW9kaWZpw6llcyBjw7R0w6kgYmFjaylcbiAgICAgICAgaWYgKHJlc3BvbnNlRGF0YS5jdXN0b21lcikge1xuICAgICAgICAgICAgY3VzdG9tZXIudmFsdWUgPSByZXNwb25zZURhdGEuY3VzdG9tZXI7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBub3RpZnkoJ0VucmVnaXN0cmVtZW50IHLDqXVzc2knKVxuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdVbmUgZXJyZXVyIHNcXCdlc3QgcHJvZHVpdGUnLCAnZXJyb3InKVxuXG4gICAgfVxufTtcblxuY29uc3QgY2FsY3VsYXRlVG90YWxBTW91bnQgPSAoKSA9PiB7XG4gICAgbWFpblRvdGFsLnZhbHVlID0gbGluZXMudmFsdWUucmVkdWNlKCh0b3RhbCwgbGluZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG90YWwgKyBsaW5lLnF1YW50aXR5ICogbGluZS51bml0UHJpY2U7XG4gICAgfSwgMCk7XG59XG5cbmNvbnN0IGNoYW5nZVN0YXR1cyA9IGFzeW5jIChlKSA9PiB7XG4gICAgY29uc3QgY2hlY2tib3ggPSBlLnRhcmdldFxuICAgIGlmKGNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiBcIjxzdHJvbmc+QXR0ZW50aW9uPC9zdHJvbmc+XCIsXG4gICAgICAgICAgICBpY29uOiBcImluZm9cIixcbiAgICAgICAgICAgIGh0bWw6IGBcbiAgICBWb3VzIMOqdGVzIHN1ciBsZSBwb2ludCBkJ8OpbWV0dHJlIHZvdHJlIGZhY3R1cmUuPGJyPlxuICAgIEVuIGNvbnRpbnVhbnQsIDxiPnZvdHJlIGZhY3R1cmUgc2VyYSBudW3DqXJvdMOpZSBldCBuZSBzZXJhIHBsdXMgbW9kaWZpYWJsZTwvYj4uXG4gIGAsXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgICAgICBmb2N1c0NvbmZpcm06IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGBcbiAgICAgw4ltZXR0cmUgZXQgbnVtw6lyb3RlciBtYSBmYWN0dXJlXG4gIGAsXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uQXJpYUxhYmVsOiBcImNvbmZpcm1cIixcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGBcbiAgICBBbm51bGVyXG4gIGAsXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25BcmlhTGFiZWw6IFwidW5kb1wiLFxuXG4gICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgLyogUmVhZCBtb3JlIGFib3V0IGlzQ29uZmlybWVkLCBpc0RlbmllZCBiZWxvdyAqL1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgICAgIHNhdmVJbnZvaWNlKCkudGhlbihlbWl0SW52b2ljZSgpKVxuICAgICAgICAgICAgfSBlbHNlICB7XG4gICAgICAgICAgICAgICAgY2hlY2tib3guY2hlY2tlZCA9IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcblxuICAgIH1cbn1cblxuXG5jb25zdCBwYXlJbnZvaWNlID0gYXN5bmMgKGUpID0+IHtcbiAgICBjb25zdCBjaGVja2JveCA9IGUudGFyZ2V0XG4gICAgaWYoY2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKClcbiAgICAgICAgY29uc3QgeXl5eSA9IHRvZGF5LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGNvbnN0IG1tID0gU3RyaW5nKHRvZGF5LmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpOyAvLyBMZXMgbW9pcyBjb21tZW5jZW50IMOgIDAgIVxuICAgICAgICBjb25zdCBkZCA9IFN0cmluZyh0b2RheS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XG5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGAke3l5eXl9LSR7bW19LSR7ZGR9YDtcbiAgICAgICAgY29uc3QgZG91YmxlQ2hlY2tJY29uID1cbiAgICAgICAgICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtMTBcIj5cXG4nICtcbiAgICAgICAgICAgICcgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTkuNSAxNC4yNXYtMi42MjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVoLTEuNUExLjEyNSAxLjEyNSAwIDAgMSAxMy41IDcuMTI1di0xLjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVIOC4yNW0wIDExLjYyNWg0LjVtLTQuNSAyLjI1aDQuNW0yLjEyMSAxLjUyN2MtMS4xNzEgMS40NjQtMy4wNyAxLjQ2NC00LjI0MiAwLTEuMTcyLTEuNDY1LTEuMTcyLTMuODQgMC01LjMwNCAxLjE3MS0xLjQ2NCAzLjA3LTEuNDY0IDQuMjQyIDBNMTAuNSAyLjI1SDUuNjI1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djE3LjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMTIuNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVWMTEuMjVhOSA5IDAgMCAwLTktOVpcIiAvPlxcbicgK1xuICAgICAgICAgICAgJzwvc3ZnPlxcbidcblxuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6IFwiPHN0cm9uZz5Sw6hnbGVtZW50IGRlIGxhIGZhY3R1cmU8L3N0cm9uZz5cIixcbiAgICAgICAgICAgIGljb246IFwic3VjY2Vzc1wiLFxuICAgICAgICAgICAgaWNvbkh0bWw6IGRvdWJsZUNoZWNrSWNvbixcbiAgICAgICAgICAgIGh0bWw6IGBcbiAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiPkRhdGUgZGUgcsOoZ2xlbWVudDwvbGFiZWw+XG4gICAgPGlucHV0IHR5cGU9XCJkYXRlXCIgbmFtZT1cInBhaWRfYXRcIiB2YWx1ZT1cIiR7Zm9ybWF0dGVkRGF0ZX1cIj5cbiAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiPk1vZGUgZGUgcsOoZ2xlbWVudDwvbGFiZWw+XG4gICAgPHNlbGVjdCBuYW1lPVwicGF5bWVudF9tb2RlXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJjYXJkXCI+Q2FydGUgYmFuY2FpcmU8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNhc2hcIj5Fc3DDqGNlczwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2hlY2tcIj5DaMOocXVlPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJ0cmFuc2ZlclwiPlZpcmVtZW50PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gICAgPGxhYmVsIGZvcj1cImRhdGVcIj5Nb250YW50PC9sYWJlbD5cbiAgICA8c3Bhbj5cbiAgICAgICAgJHttYWluVG90YWwudmFsdWV9IOKCrFxuICAgIDwvc3Bhbj5cbiAgYCxcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIGZvY3VzQ29uZmlybTogZmFsc2UsXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogYFxuICAgICBFbnJlZ2lzdHJlciBsZSBwYWllbWVudFxuICBgLFxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkFyaWFMYWJlbDogXCJjb25maXJtXCIsXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBgXG4gICAgQW5udWxlclxuICBgLFxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uQXJpYUxhYmVsOiBcInVuZG9cIixcblxuICAgICAgICBwcmVDb25maXJtOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb3B1cCA9IFN3YWwuZ2V0UG9wdXAoKVxuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHBvcHVwLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9XCJwYWlkX2F0XCJdJykudmFsdWVcbiAgICAgICAgICAgIGNvbnN0IG1vZGUgPSBwb3B1cC5xdWVyeVNlbGVjdG9yKCdzZWxlY3RbbmFtZT1cInBheW1lbnRfbW9kZVwiXScpLnZhbHVlXG5cbiAgICAgICAgICAgIGlmICghZGF0ZSB8fCAhbW9kZSkge1xuICAgICAgICAgICAgICAgIFN3YWwuc2hvd1ZhbGlkYXRpb25NZXNzYWdlKCdUb3VzIGxlcyBjaGFtcHMgc29udCByZXF1aXMnKVxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4geyBkYXRlLCBtb2RlIH1cbiAgICAgICAgfVxuXG4gICAgICAgIH0pLnRoZW4oYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgLyogUmVhZCBtb3JlIGFib3V0IGlzQ29uZmlybWVkLCBpc0RlbmllZCBiZWxvdyAqL1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBkYXRlLCBtb2RlIH0gPSByZXN1bHQudmFsdWVcblxuICAgICAgICAgICAgICAgIGF3YWl0IHNhdmVQYXltZW50KGludm9pY2UudmFsdWUsIGRhdGUsIG1vZGUpXG5cbiAgICAgICAgICAgIH0gZWxzZSAge1xuICAgICAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgIH0gZWxzZSB7XG5cbiAgICB9XG59XG5cbmNvbnN0IHNhdmVQYXltZW50ID0gYXN5bmMgKGludm9pY2VJZCwgZGF0ZSwgbW9kZSkgPT4ge1xuXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKVxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZGF0ZScsIGRhdGUpXG4gICAgZm9ybURhdGEuYXBwZW5kKCdtb2RlJywgbW9kZSlcblxuICAgIGZldGNoKGAvcGF5aW52b2ljZS8ke2ludm9pY2VJZH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBmb3JtRGF0YVxuICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpXG4gICAgfSkudGhlbihkYXRhID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3VjY2Vzcykge1xuICAgICAgICAgICAgaXNQYWlkLnZhbHVlID0gdHJ1ZVxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2RvY3VtZW50LXN0YXR1cy1jaGFuZ2VkJylcbiAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG4gICAgICAgIH1cbiAgICB9KVxufVxuXG5jb25zdCBlbWl0SW52b2ljZSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9pbnZvaWNlL2VtaXRgLCB7XG4gICAgICAgIGludm9pY2U6IGludm9pY2UudmFsdWVcbiAgICB9KVxuICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZS5kYXRhXG4gICAgICAgIHJlZmVyZW5jZS52YWx1ZSA9IGRhdGEucmVmZXJlbmNlXG4gICAgICAgIGlzV29uLnZhbHVlID0gdHJ1ZVxuXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdkb2N1bWVudC1zdGF0dXMtY2hhbmdlZCcpXG4gICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG4gICAgfVxufVxuXG4vLyBDaGFyZ2VyIGxlcyBkb25uw6llcyBpbml0aWFsZXMgYXUgbW9udGFnZVxub25Nb3VudGVkKCgpID0+IHtcbiAgICBuZXh0VGljaygoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpbnZvaWNlXCIpO1xuICAgICAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignw4lsw6ltZW50IGF2ZWMgbFxcJ0lEIFwiaW52b2ljZVwiIGludHJvdXZhYmxlJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW52b2ljZS52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lmludm9pY2UpO1xuICAgICAgICAgICAgbGluZXMudmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5saW5lcyk7XG4gICAgICAgICAgICBvYmplY3QudmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5vYmplY3QpO1xuICAgICAgICAgICAgaXNXb24udmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5pc1dvbik7XG4gICAgICAgICAgICByZWZlcmVuY2UudmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5yZWZlcmVuY2UpO1xuICAgICAgICAgICAgY3VzdG9tZXIudmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5jdXN0b21lcik7XG4gICAgICAgICAgICBwZGZVcmwudmFsdWUgPSBlbGVtZW50LmRhdGFzZXQucGRmVXJsO1xuICAgICAgICAgICAgbm90ZS52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lm5vdGUpO1xuICAgICAgICAgICAgbWVudGlvbi52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lm1lbnRpb24pO1xuICAgICAgICAgICAgZGVzY3JpcHRpb24udmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5kZXNjcmlwdGlvbik7XG4gICAgICAgICAgICBxdW90YXRpb25JZC52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LnF1b3RhdGlvbklkKTtcbiAgICAgICAgICAgIHF1b3RhdGlvblJlZmVyZW5jZS52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LnF1b3RhdGlvblJlZmVyZW5jZSk7XG4gICAgICAgICAgICBjYW5FbWFpbC52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LmNhbkVtYWlsKTtcbiAgICAgICAgICAgIG93bmVyU2lyZXQudmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5vd25lclNpcmV0KTtcbiAgICAgICAgICAgIGlzUGFpZC52YWx1ZSA9IGVsZW1lbnQuZGF0YXNldC5pc1BhaWQ7XG4gICAgICAgICAgICBjYWxjdWxhdGVUb3RhbEFNb3VudCgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycmV1ciBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gOlwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9KTtcbn0pO1xuXG5cbm9uVW5tb3VudGVkKCgpID0+IHtcblxufSk7XG5cbmZ1bmN0aW9uIHNob3dEZXNjIChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2hvd0Rlc2NyaXB0aW9uLnZhbHVlID0gdHJ1ZVxufVxuXG5mdW5jdGlvbiByZW1vdmVEZXNjIChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2hvd0Rlc2NyaXB0aW9uLnZhbHVlID0gZmFsc2VcbiAgICBkZXNjcmlwdGlvbi52YWx1ZSA9IG51bGxcbn1cblxuY29uc3QgZGVsZXRlSW52b2ljZSA9ICgpID0+IHtcbiAgICBjb25zdCB1cmwgPSBgL2ludm9pY2UvZGVsZXRlLyR7aW52b2ljZS52YWx1ZX1gXG5cbiAgICBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogXCI8c3Ryb25nPkF0dGVudGlvbjwvc3Ryb25nPlwiLFxuICAgICAgICBpY29uOiBcIndhcm5pbmdcIixcbiAgICAgICAgaHRtbDogYFxuICAgIMOKdGVzLXZvdXMgc8O7ci1lIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNldHRlIGZhY3R1cmUuPGJyPlxuICBgLFxuICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgZm9jdXNDb25maXJtOiBmYWxzZSxcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGBcbiAgICAgU3VwcHJpbWVyIGxhIGZhY3R1cmVcbiAgYCxcbiAgICAgICAgY29uZmlybUJ1dHRvbkFyaWFMYWJlbDogXCJjb25maXJtXCIsXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGBcbiAgICBBbm51bGVyXG4gIGAsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkFyaWFMYWJlbDogXCJ1bmRvXCIsXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XG4gICAgICAgICAgICBjb25maXJtQnV0dG9uOiBcIndhcm5pbmdcIixcbiAgICAgICAgfVxuICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAvKiBSZWFkIG1vcmUgYWJvdXQgaXNDb25maXJtZWQsIGlzRGVuaWVkIGJlbG93ICovXG4gICAgICAgIGlmIChyZXN1bHQuaXNDb25maXJtZWQpIHtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsXG4gICAgICAgIH0gZWxzZSAge1xuXG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuY29uc3QgZHVwbGljYXRlID0gKCkgPT4ge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC9pbnZvaWNlL2R1cGxpY2F0ZS8ke2ludm9pY2UudmFsdWV9YFxufVxuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJhcHAgcC02IG10LTVcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cInRleHQtNXhsIGZvbnQtYm9sZCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNVwiPlxuICAgICAgICAgICAgICAgIEZhY3R1cmVcbiAgICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwicmVmZXJlbmNlICE9PSBudWxsICYmIHJlZmVyZW5jZSAhPT0gJydcIiBjbGFzcz1cInRleHQtbGcgcHgtNCBweS0yIHJvdW5kZWQgYmctYmxhY2sgdGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyByZWZlcmVuY2UgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwiaW52b2ljZVwiIGRhdGEtbGlzdGVuPSdbXCJlbWFpbC1zZW50XCIsIFwiZG9jdW1lbnQtc3RhdHVzLWNoYW5nZWRcIl0nIDpkYXRhLXJlbG9hZD1cImAvc3RhdHVzL2ludm9pY2UvJHtpbnZvaWNlfWBcIiBkYXRhLXR5cGU9XCJpbnZvaWNlXCIgOmRhdGEtZG9jdW1lbnQtaWQ9XCJpbnZvaWNlXCIgZGF0YS1jb250cm9sbGVyPVwiZG9jdW1lbnQtc3RhdHVzZXNcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDwvaDE+XG5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gdi1pZj1cInF1b3RhdGlvbklkICYmIHF1b3RhdGlvblJlZmVyZW5jZVwiIGNsYXNzPVwiY2hpcCBxdW90YXRpb24tcmVmXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhIDpocmVmPVwiYC9xdW90YXRpb24vZGV0YWlsLyR7cXVvdGF0aW9uSWR9YFwiPlN1ciBkZXZpcyBuwrAge3sgcXVvdGF0aW9uUmVmZXJlbmNlIH19PC9hPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zIGZsZXgganVzdGlmeS1iZXR3ZWVuIG10LTVcIj5cblxuICAgICAgICAgICAgPGRpdiB2LWlmPVwiaXNXb24gJiYgIWlzUGFpZFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtZS01IGN1cnNvci1wb2ludGVyXCIgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJzci1vbmx5IHBlZXJcIiBAY2hhbmdlPVwicGF5SW52b2ljZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdy0xMSBoLTYgYmctZ3JheS0yMDAgcm91bmRlZC1mdWxsIHBlZXIgZGFyazpiZy1ncmF5LTcwMCAgcGVlci1jaGVja2VkOmFmdGVyOnRyYW5zbGF0ZS14LWZ1bGwgcnRsOnBlZXItY2hlY2tlZDphZnRlcjotdHJhbnNsYXRlLXgtZnVsbCBwZWVyLWNoZWNrZWQ6YWZ0ZXI6Ym9yZGVyLXdoaXRlIGFmdGVyOmNvbnRlbnQtWycnXSBhZnRlcjphYnNvbHV0ZSBhZnRlcjp0b3AtMSBhZnRlcjpzdGFydC1bNnB4XSBhZnRlcjpiZy13aGl0ZSBhZnRlcjpib3JkZXItZ3JheS0zMDAgYWZ0ZXI6Ym9yZGVyIGFmdGVyOnJvdW5kZWQtZnVsbCBhZnRlcjpoLTQgYWZ0ZXI6dy00IGFmdGVyOnRyYW5zaXRpb24tYWxsIGRhcms6Ym9yZGVyLWdyYXktNjAwIHBlZXItY2hlY2tlZDpiZy10ZWFsLTYwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBGYWN0dXJlIHBhecOpZVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCJjYW5Jc3N1ZVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtZS01IGN1cnNvci1wb2ludGVyXCIgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgOmNoZWNrZWQ9XCJpc1dvblwiIHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic3Itb25seSBwZWVyXCIgQGNoYW5nZT1cImNoYW5nZVN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdy0xMSBoLTYgYmctZ3JheS0yMDAgcm91bmRlZC1mdWxsIHBlZXIgZGFyazpiZy1ncmF5LTcwMCAgcGVlci1jaGVja2VkOmFmdGVyOnRyYW5zbGF0ZS14LWZ1bGwgcnRsOnBlZXItY2hlY2tlZDphZnRlcjotdHJhbnNsYXRlLXgtZnVsbCBwZWVyLWNoZWNrZWQ6YWZ0ZXI6Ym9yZGVyLXdoaXRlIGFmdGVyOmNvbnRlbnQtWycnXSBhZnRlcjphYnNvbHV0ZSBhZnRlcjp0b3AtMSBhZnRlcjpzdGFydC1bNnB4XSBhZnRlcjpiZy13aGl0ZSBhZnRlcjpib3JkZXItZ3JheS0zMDAgYWZ0ZXI6Ym9yZGVyIGFmdGVyOnJvdW5kZWQtZnVsbCBhZnRlcjpoLTQgYWZ0ZXI6dy00IGFmdGVyOnRyYW5zaXRpb24tYWxsIGRhcms6Ym9yZGVyLWdyYXktNjAwIHBlZXItY2hlY2tlZDpiZy10ZWFsLTYwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC1ncmF5LTMwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgw4ltZXR0cmUgbGEgZmFjdHVyZVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8cCB2LWlmPVwiIWNhbklzc3VlICYmICFpc1dvblwiPlxuICAgICAgICAgICAgICAgIFBvdXIgcG91dm9pciDDqW1ldHRyZSB1bmUgZmFjdHVyZSwgZWxsZSBkb2l0IGF2b2lyIGF1IG1vaW5zIHVuZSBsaWduZSwgdW4gb2JqZXQgZXQgdW4gY2xpZW50LiBWb3VzIGRldmV6IMOpZ2FsZW1lbnQgYXZvaXIgcmVuc2VpZ27DqSB2b3RyZSBzaXJldC5cbiAgICAgICAgICAgIDwvcD5cblxuXG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNoYWRvdy1tZCB6LTEwIGp1c3RpZnktYmV0d2VlbiBweC00IG1zLTY0IHctc2NyZWVuLW1pbnVzLTY0IGdhcC00IGZpeGVkIHRvcC0wIGxlZnQtMCBweS0zIGJnLXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHYtaWY9XCIhaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwic2F2ZUludm9pY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZmEtYnV0dG9uIGJnLXBpbmstODAwIHRleHQtd2hpdGUgaG92ZXI6YmctcGluay05NTAgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgbWUtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTAuMTI1IDIuMjVoLTQuNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxNy4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDEyLjc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1di05TTEwLjEyNSAyLjI1aC4zNzVhOSA5IDAgMCAxIDkgOXYuMzc1TTEwLjEyNSAyLjI1QTMuMzc1IDMuMzc1IDAgMCAxIDEzLjUgNS42MjV2MS41YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMS41YTMuMzc1IDMuMzc1IDAgMCAxIDMuMzc1IDMuMzc1TTkgMTVsMi4yNSAyLjI1TDE1IDEyXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgRW5yZWdpc3RyZXJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cblxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiL2ludm9pY2UvbGlzdFwiIGNsYXNzPVwiZGZhLWJ1dHRvbiBjaXJjbGUgYmctYmxhY2sgdGV4dC13aGl0ZVwiIGRhdGEtdGlwcHktY29udGVudD1cIkxpc3RlIGRlcyBmYWN0dXJlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTguMjUgNi43NWgxMk04LjI1IDEyaDEybS0xMiA1LjI1aDEyTTMuNzUgNi43NWguMDA3di4wMDhIMy43NVY2Ljc1Wm0uMzc1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBaTTMuNzUgMTJoLjAwN3YuMDA4SDMuNzVWMTJabS4zNzUgMGEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFptLS4zNzUgNS4yNWguMDA3di4wMDhIMy43NXYtLjAwOFptLjM3NSAwYS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRpcHB5LWNvbnRlbnQ9XCJEdXBsaXF1ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJkdXBsaWNhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1jeWFuLTcwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWN5YW4tODAwIGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNS43NSAxNy4yNXYzLjM3NWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNWgtOS43NWExLjEyNSAxLjEyNSAwIDAgMS0xLjEyNS0xLjEyNVY3Ljg3NWMwLS42MjEuNTA0LTEuMTI1IDEuMTI1LTEuMTI1SDYuNzVhOS4wNiA5LjA2IDAgMCAxIDEuNS4xMjRtNy41IDEwLjM3NmgzLjM3NWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNVYxMS4yNWMwLTQuNDYtMy4yNDMtOC4xNjEtNy41LTguODc2YTkuMDYgOS4wNiAwIDAgMC0xLjUtLjEyNEg5LjM3NWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYzLjVtNy41IDEwLjM3NUg5LjM3NWExLjEyNSAxLjEyNSAwIDAgMS0xLjEyNS0xLjEyNXYtOS4yNW0xMiA2LjYyNXYtMS44NzVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVoLTEuNWExLjEyNSAxLjEyNSAwIDAgMS0xLjEyNS0xLjEyNXYtMS41YTMuMzc1IDMuMzc1IDAgMCAwLTMuMzc1LTMuMzc1SDkuNzVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLXRpcHB5LWNvbnRlbnQ9XCJUw6lsw6ljaGFyZ2VyXCIgdi1pZj1cInBkZlVybCAmJiBwZGZVcmwgIT09ICcjJ1wiIDpocmVmPVwicGRmVXJsXCIgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy10ZWFsLTUwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLXRlYWwtNzAwIGZvY3VzOm91dGxpbmUtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0zIDE2LjV2Mi4yNUEyLjI1IDIuMjUgMCAwIDAgNS4yNSAyMWgxMy41QTIuMjUgMi4yNSAwIDAgMCAyMSAxOC43NVYxNi41TTE2LjUgMTIgMTIgMTYuNW0wIDBMNy41IDEybTQuNSA0LjVWM1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtdGlwcHktY29udGVudD1cIkltcHJpbWVyXCIgZGF0YS1jb250cm9sbGVyPVwic2xpZGVyXCIgZGF0YS1zbGlkZXI9XCJwcmludFwiIGRhdGEtYWN0aW9uPVwiY2xpY2stPnNsaWRlciNsb2FkXCIgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1hbWJlci01MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1hbWJlci02MDAgZm9jdXM6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTYuNzIgMTMuODI5Yy0uMjQuMDMtLjQ4LjA2Mi0uNzIuMDk2bS43Mi0uMDk2YTQyLjQxNSA0Mi40MTUgMCAwIDEgMTAuNTYgMG0tMTAuNTYgMEw2LjM0IDE4bTEwLjk0LTQuMTcxYy4yNC4wMy40OC4wNjIuNzIuMDk2bS0uNzItLjA5NkwxNy42NiAxOG0wIDAgLjIyOSAyLjUyM2ExLjEyNSAxLjEyNSAwIDAgMS0xLjEyIDEuMjI3SDcuMjMxYy0uNjYyIDAtMS4xOC0uNTY4LTEuMTItMS4yMjdMNi4zNCAxOG0xMS4zMTggMGgxLjA5MUEyLjI1IDIuMjUgMCAwIDAgMjEgMTUuNzVWOS40NTZjMC0xLjA4MS0uNzY4LTIuMDE1LTEuODM3LTIuMTc1YTQ4LjA1NSA0OC4wNTUgMCAwIDAtMS45MTMtLjI0N002LjM0IDE4SDUuMjVBMi4yNSAyLjI1IDAgMCAxIDMgMTUuNzVWOS40NTZjMC0xLjA4MS43NjgtMi4wMTUgMS44MzctMi4xNzVhNDguMDQxIDQ4LjA0MSAwIDAgMSAxLjkxMy0uMjQ3bTEwLjUgMGE0OC41MzYgNDguNTM2IDAgMCAwLTEwLjUgMG0xMC41IDBWMy4zNzVjMC0uNjIxLS41MDQtMS4xMjUtMS4xMjUtMS4xMjVoLTguMjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2My42NTlNMTggMTAuNWguMDA4di4wMDhIMThWMTAuNVptLTMgMGguMDA4di4wMDhIMTVWMTAuNVpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8YSB2LWlmPVwiY2FuRW1haWxcIiBkYXRhLXRpcHB5LWNvbnRlbnQ9XCJFbnZveWVyXCIgZGF0YS1jb250cm9sbGVyPVwic2xpZGVyXCIgZGF0YS1zbGlkZXI9XCJlbWFpbFwiIGRhdGEtYWN0aW9uPVwiY2xpY2stPnNsaWRlciNsb2FkXCIgZGF0YS10eXBlPVwiaW52b2ljZVwiIDpkYXRhLWRvY3VtZW50LWlkPVwiaW52b2ljZVwiIGNsYXNzPVwiZGZhLWJ1dHRvbiBjaXJjbGUgYmctY3lhbi03MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1jeWFuLTkwMCBmb2N1czpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMjEuNzUgNi43NXYxMC41YTIuMjUgMi4yNSAwIDAgMS0yLjI1IDIuMjVoLTE1YTIuMjUgMi4yNSAwIDAgMS0yLjI1LTIuMjVWNi43NW0xOS41IDBBMi4yNSAyLjI1IDAgMCAwIDE5LjUgNC41aC0xNWEyLjI1IDIuMjUgMCAwIDAtMi4yNSAyLjI1bTE5LjUgMHYuMjQzYTIuMjUgMi4yNSAwIDAgMS0xLjA3IDEuOTE2bC03LjUgNC42MTVhMi4yNSAyLjI1IDAgMCAxLTIuMzYgMEwzLjMyIDguOTFhMi4yNSAyLjI1IDAgMCAxLTEuMDctMS45MTZWNi43NVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIEBjbGljaz1cImRlbGV0ZUludm9pY2VcIiB2LWlmPVwiIWlzV29uXCIgaHJlZj1cIiNcIiBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIHRleHQtc20gZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC13aGl0ZSBiZy1yZWQtODAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJtMTQuNzQgOS0uMzQ2IDltLTQuNzg4IDBMOS4yNiA5bTkuOTY4LTMuMjFjLjM0Mi4wNTIuNjgyLjEwNyAxLjAyMi4xNjZtLTEuMDIyLS4xNjVMMTguMTYgMTkuNjczYTIuMjUgMi4yNSAwIDAgMS0yLjI0NCAyLjA3N0g4LjA4NGEyLjI1IDIuMjUgMCAwIDEtMi4yNDQtMi4wNzdMNC43NzIgNS43OW0xNC40NTYgMGE0OC4xMDggNDguMTA4IDAgMCAwLTMuNDc4LS4zOTdtLTEyIC41NjJjLjM0LS4wNTkuNjgtLjExNCAxLjAyMi0uMTY1bTAgMGE0OC4xMSA0OC4xMSAwIDAgMSAzLjQ3OC0uMzk3bTcuNSAwdi0uOTE2YzAtMS4xOC0uOTEtMi4xNjQtMi4wOS0yLjIwMWE1MS45NjQgNTEuOTY0IDAgMCAwLTMuMzIgMGMtMS4xOC4wMzctMi4wOSAxLjAyMi0yLjA5IDIuMjAxdi45MTZtNy41IDBhNDguNjY3IDQ4LjY2NyAwIDAgMC03LjUgMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBDb250ZW5ldXIgcHJpbmNpcGFsIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBtdC01IGdhcC00IGRvY3VtZW50XCI+XG5cbiAgICAgICAgICAgIDwhLS0gQ29sb25uZSBnYXVjaGUgOiBDdXN0b21lciAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTYgaW52b2ljZS1jdXN0b21lciBtZDpjb2wtc3Bhbi0xIGJnLXdoaXRlIHJvdW5kZWQtbGdcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwibWUtMiBzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAgMCAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAgMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxIDAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwIDEgMTIgMjFhOC45NjYgOC45NjYgMCAwIDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIENsaWVudFxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPEN1c3RvbWVyIDppcy13b249XCJpc1dvblwiIDpjdXN0b21lcj1cImN1c3RvbWVyXCIgQHVwZGF0ZS1jdXN0b21lcj1cInVwZGF0ZUN1c3RvbWVyXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIENvbG9ubmUgZHJvaXRlIDogTGlzdGUgZGVzIGxpZ25lcyAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTYgaW52b2ljZS1saW5lcyBtZDpjb2wtc3Bhbi0yIGJnLXdoaXRlIHJvdW5kZWQtbGdcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01IGJnLWdyYXktNTAgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCBwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgbWItMiBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtZS0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOC42MjUgOS43NWEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFptMCAwSDguMjVtNC4xMjUgMGEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFptMCAwSDEybTQuMTI1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBabTAgMGgtLjM3NW0tMTMuNSAzLjAxYzAgMS42IDEuMTIzIDIuOTk0IDIuNzA3IDMuMjI3IDEuMDg3LjE2IDIuMTg1LjI4MyAzLjI5My4zNjlWMjFsNC4xODQtNC4xODNhMS4xNCAxLjE0IDAgMCAxIC43NzgtLjMzMiA0OC4yOTQgNDguMjk0IDAgMCAwIDUuODMtLjQ5OGMxLjU4NS0uMjMzIDIuNzA4LTEuNjI2IDIuNzA4LTMuMjI4VjYuNzQxYzAtMS42MDItMS4xMjMtMi45OTUtMi43MDctMy4yMjhBNDguMzk0IDQ4LjM5NCAwIDAgMCAxMiAzYy0yLjM5MiAwLTQuNzQ0LjE3NS03LjA0My41MTNDMy4zNzMgMy43NDYgMi4yNSA1LjE0IDIuMjUgNi43NDF2Ni4wMThaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmpldCBkZSBsYSBmYWN0dXJlXG5cbiAgICAgICAgICAgICAgICAgICAgPC9oMj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIiFpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJvYmplY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJvYmplY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9iamV0IGRlIGxhIGZhY3R1cmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMiBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtNTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHYtaWY9XCJpc1dvblwiIGNsYXNzPVwicGwtOCB0ZXh0LXRnIGZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9iamVjdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgdi1pZj1cIiFpc1dvbiAmJiAoKGRlc2NyaXB0aW9uID09PSBudWxsIHx8IGRlc2NyaXB0aW9uID09PSAnJykgJiYgIXNob3dEZXNjcmlwdGlvbilcIiBAY2xpY2sucHJldmVudD1cInNob3dEZXNjXCIgY2xhc3M9XCJ0ZXh0LXNtIGZsZXggaXRlbXMtY2VudGVyIG10LTEgaG92ZXI6dW5kZXJsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNCBtZS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMiA5djZtMy0zSDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFqb3V0ZXIgdW5lIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgcmVmPVwiZGVzY3JpcHRpb25BcmVhXCIgIHYtaWY9XCIhaXNXb25cIiB2LW1vZGVsPVwiZGVzY3JpcHRpb25cIiBuYW1lPVwiZGVzY3JpcHRpb25cIiBpZD1cIlwiIHJvd3M9XCIyXCIgIDpjbGFzcz1cInsgaGlkZGVuOiAhc2hvd0Rlc2NyaXB0aW9uICYmICFkZXNjcmlwdGlvbiB9IFwiIGNsYXNzPVwibXQtNSB3LWZ1bGxcIiBwbGFjZWhvbGRlcj1cIkRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGV4dGFyZWE+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgQGNsaWNrLnByZXZlbnQ9XCJyZW1vdmVEZXNjXCIgaHJlZj1cIiNcIiB2LWlmPVwiIWlzV29uICYmICgoZGVzY3JpcHRpb24gIT09IG51bGwgJiYgZGVzY3JpcHRpb24gIT09ICcnKSB8fCBzaG93RGVzY3JpcHRpb24pXCIgY2xhc3M9XCJ0ZXh0LXJlZC04MDAgdGV4dC1zbSBob3Zlcjp1bmRlcmxpbmUgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS00IG1lLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE1IDEySDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIFN1cHByaW1lciBsYSBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPHAgdi1pZj1cImlzV29uICYmIChkZXNjcmlwdGlvbiAhPT0gbnVsbCAmJiBkZXNjcmlwdGlvbiAhPT0gJycpXCIgY2xhc3M9XCJwbC04XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5LTUwIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcC00XCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgbWItMiBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtZS0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMi4yNSAzaDEuMzg2Yy41MSAwIC45NTUuMzQzIDEuMDg3LjgzNWwuMzgzIDEuNDM3TTcuNSAxNC4yNWEzIDMgMCAwIDAtMyAzaDE1Ljc1bS0xMi43NS0zaDExLjIxOGMxLjEyMS0yLjMgMi4xLTQuNjg0IDIuOTI0LTcuMTM4YTYwLjExNCA2MC4xMTQgMCAwIDAtMTYuNTM2LTEuODRNNy41IDE0LjI1IDUuMTA2IDUuMjcyTTYgMjAuMjVhLjc1Ljc1IDAgMSAxLTEuNSAwIC43NS43NSAwIDAgMSAxLjUgMFptMTIuNzUgMGEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgw4lsw6ltZW50c1xuICAgICAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cIiFpc1dvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWZvcj1cImxpbmUgaW4gbGluZXNcIiA6a2V5PVwibGluZS5pZFwiIGNsYXNzPVwibWItNCB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppcy13b249XCJpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpsaW5lPVwibGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB1cGRhdGUtbGluZT1cInVwZGF0ZUxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGVsZXRlLWxpbmU9XCJkZWxldGVMaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImlzV29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZS1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWxlZnQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb21cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWNlbnRlciBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtOCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1YW50aXTDqVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtY2VudGVyIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpeCB1bml0YWlyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtcmlnaHQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgdi1mb3I9XCJsaW5lIGluIGxpbmVzXCIgOmtleT1cImxpbmUuaWRcIiBjbGFzcz1cIm1iLTQgdy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppcy13b249XCJpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bGluZT1cImxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHVwZGF0ZS1saW5lPVwidXBkYXRlTGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGVsZXRlLWxpbmU9XCJkZWxldGVMaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIzXCIgdi1odG1sPVwibWVudGlvblwiIGNsYXNzPVwiIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwIGRhcms6dGV4dC1zbGF0ZS00MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicHJpY2UgZm9udC1ib2xkIGJnLXNsYXRlLTgwMCB0ZXh0LXdoaXRlIHAtNCBwbC04XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCA6IHt7IG1haW5Ub3RhbCB9fSDigqxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICB2LWlmPVwiIWlzV29uXCIgY2xhc3M9XCIgZmxleCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC01IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwiYWRkTGluZShmYWxzZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gYmctc2xhdGUtNTAwIGhvdmVyOmJnLXNsYXRlLTcwMCB0ZXh0LXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwibWUtMiBzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTIgOXY2bTMtM0g5bTEyIDBhOSA5IDAgMSAxLTE4IDAgOSA5IDAgMCAxIDE4IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFqb3V0ZXIgdW4gw6lsw6ltZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwiYWRkTGluZSh0cnVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGZhLWJ1dHRvbiBiZy1zbGF0ZS01MDAgaG92ZXI6Ymctc2xhdGUtNzAwIHRleHQtd2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtZS0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMiA5djZtMy0zSDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWpvdXRlciB1biB0aXRyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC01IHB5LTIgYmctc2xhdGUtODAwIHJvdW5kZWQgZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlciB0ZXh0LXdoaXRlIGp1c3RpZnktZW5kIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTUuNzUgMTUuNzVWMThtLTcuNS02Ljc1aC4wMDh2LjAwOEg4LjI1di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4SDguMjVWMTMuNVptMCAyLjI1aC4wMDh2LjAwOEg4LjI1di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4SDguMjVWMThabTIuNDk4LTYuNzVoLjAwN3YuMDA4aC0uMDA3di0uMDA4Wm0wIDIuMjVoLjAwN3YuMDA4aC0uMDA3VjEzLjVabTAgMi4yNWguMDA3di4wMDhoLS4wMDd2LS4wMDhabTAgMi4yNWguMDA3di4wMDhoLS4wMDdWMThabTIuNTA0LTYuNzVoLjAwOHYuMDA4aC0uMDA4di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4aC0uMDA4VjEzLjVabTAgMi4yNWguMDA4di4wMDhoLS4wMDh2LS4wMDhabTAgMi4yNWguMDA4di4wMDhoLS4wMDhWMThabTIuNDk4LTYuNzVoLjAwOHYuMDA4aC0uMDA4di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4aC0uMDA4VjEzLjVaTTguMjUgNmg3LjV2Mi4yNWgtNy41VjZaTTEyIDIuMjVjLTEuODkyIDAtMy43NTguMTEtNS41OTMuMzIyQzUuMzA3IDIuNyA0LjUgMy42NSA0LjUgNC43NTdWMTkuNWEyLjI1IDIuMjUgMCAwIDAgMi4yNSAyLjI1aDEwLjVhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNVY0Ljc1N2MwLTEuMTA4LS44MDYtMi4wNTctMS45MDctMi4xODVBNDguNTA3IDQ4LjUwNyAwIDAgMCAxMiAyLjI1WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCA6IHt7IG1haW5Ub3RhbCB9fSDigqxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCJub3RlICYmICghaXNXb24gfHwgJycgIT09IG5vdGUudmFsdWUpXCIgY2xhc3M9XCJxdWlsbC1jb250YWluZXIgbWQ6Y29sLXNwYW4tMyBwLTYgYmctd2hpdGUgcm91bmRlZC1sZ1wiPlxuXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgbWItMiBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTkgMTJoMy43NU05IDE1aDMuNzVNOSAxOGgzLjc1bTMgLjc1SDE4YTIuMjUgMi4yNSAwIDAgMCAyLjI1LTIuMjVWNi4xMDhjMC0xLjEzNS0uODQ1LTIuMDk4LTEuOTc2LTIuMTkyYTQ4LjQyNCA0OC40MjQgMCAwIDAtMS4xMjMtLjA4bS01LjgwMSAwYy0uMDY1LjIxLS4xLjQzMy0uMS42NjQgMCAuNDE0LjMzNi43NS43NS43NWg0LjVhLjc1Ljc1IDAgMCAwIC43NS0uNzUgMi4yNSAyLjI1IDAgMCAwLS4xLS42NjRtLTUuOCAwQTIuMjUxIDIuMjUxIDAgMCAxIDEzLjUgMi4yNUgxNWMxLjAxMiAwIDEuODY3LjY2OCAyLjE1IDEuNTg2bS01LjggMGMtLjM3Ni4wMjMtLjc1LjA1LTEuMTI0LjA4QzkuMDk1IDQuMDEgOC4yNSA0Ljk3MyA4LjI1IDYuMTA4VjguMjVtMCAwSDQuODc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djExLjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoOS43NWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNVY5LjM3NWMwLS42MjEtLjUwNC0xLjEyNS0xLjEyNS0xLjEyNUg4LjI1Wk02Ljc1IDEyaC4wMDh2LjAwOEg2Ljc1VjEyWm0wIDNoLjAwOHYuMDA4SDYuNzVWMTVabTAgM2guMDA4di4wMDhINi43NVYxOFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgTm90ZSBkZSBiYXMgZGUgcGFnZVxuICAgICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgICA8UXVpbGxFZGl0b3Igdi1pZj1cIiFpc1dvblwiIGNvbnRlbnRUeXBlPVwiaHRtbFwiIHRoZW1lPVwic25vd1wiIEBmb2N1cz1cImZvY3VzXCIgdi1tb2RlbDpjb250ZW50PVwibm90ZVwiLz5cblxuICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImlzV29uICYmIG5vdGUudmFsdWUgIT09ICcnIFwiIGNsYXNzPVwicmVsYXRpdmUgbXMtMyBwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgdi1odG1sPVwibm90ZVwiID5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuXG48c3R5bGUgc2NvcGVkPlxuXG4ucXVpbGwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5xdWlsbC1jb250YWluZXIgLnFsLWVkaXRvciB7XG4gICAgbWluLWhlaWdodDogMTAwcHg7IC8qIFVuZSBoYXV0ZXVyIG1pbmltYWxlIHBvdXIgbGUgZMOpcGFydCAqL1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgJi5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiPHNjcmlwdCBzZXR1cD5cblxuaW1wb3J0IHtkZWZpbmVFbWl0cywgZGVmaW5lUHJvcHMsIG9uTW91bnRlZCwgcmVmfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5cbmltcG9ydCB7IHVzZU5vdGlmeU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU5vdGlmeU1ldGhvZHMnXG5jb25zdCB7IG5vdGlmeSB9ID0gdXNlTm90aWZ5TWV0aG9kcygpXG5cbmNvbnN0IG5ld19yZWZlcmVuY2UgPSByZWYoJycpXG5jb25zdCBuZXdfbmFtZSA9IHJlZihudWxsKVxuY29uc3QgbmV3X3VuaXRQcmljZSA9IHJlZihudWxsKVxuY29uc3QgbmV3X2Rlc2NyaXB0aW9uID0gcmVmKG51bGwpXG5cbmNvbnN0IGVtaXQgPSBkZWZpbmVFbWl0cyhbXCJ1cGRhdGUtcHJvZHVjdFwiLCBcInVuZG8tdXBkYXRlXCIsIFwicHJvZHVjdC11cGRhdGVkXCJdKTtcblxuY29uc3QgcHJvcHMgPSBkZWZpbmVQcm9wcyh7XG4gICAgcHJvZHVjdElkOiB7XG4gICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgcmVmZXJlbmNlOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbmFtZToge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgdW5pdFByaWNlOiB7XG4gICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG5cbn0pXG5cbmNvbnN0IHVuZG8gPSAoKSA9PiB7XG4gICAgZW1pdCgndW5kby11cGRhdGUnKVxufVxuY29uc3Qgc2F2ZSA9IGFzeW5jICgpID0+IHtcblxuICAgIGlmKFxuICAgICAgICBuZXdfdW5pdFByaWNlLnZhbHVlID09PSBudWxsXG4gICAgICAgIHx8IG5ld191bml0UHJpY2UudmFsdWUgPT09ICcnXG4gICAgICAgIHx8IG5ld19uYW1lLnZhbHVlID09PSBudWxsXG4gICAgICAgIHx8IG5ld19uYW1lLnZhbHVlID09PSAnJ1xuICAgICkge1xuICAgICAgICBhd2FpdCBub3RpZnkoJ0Zvcm11bGFpcmUgaW5jb21wbGV0JywgJ2Vycm9yJylcbiAgICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvcHJvZHVjdHMvdXBkYXRlLyR7cHJvcHMucHJvZHVjdElkfWAsIHtcbiAgICAgICAgcmVmZXJlbmNlOiBuZXdfcmVmZXJlbmNlLnZhbHVlLFxuICAgICAgICBuYW1lOiBuZXdfbmFtZS52YWx1ZSxcbiAgICAgICAgdW5pdFByaWNlOiBuZXdfdW5pdFByaWNlLnZhbHVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogbmV3X2Rlc2NyaXB0aW9uLnZhbHVlLFxuICAgIH0pXG5cbiAgICBpZihyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBuZXdfcmVmZXJlbmNlLnZhbHVlID0gbnVsbFxuICAgICAgICBuZXdfZGVzY3JpcHRpb24udmFsdWUgPSBudWxsXG4gICAgICAgIG5ld191bml0UHJpY2UudmFsdWUgPSBudWxsXG4gICAgICAgIG5ld19uYW1lLnZhbHVlID0gbnVsbFxuICAgICAgICBlbWl0KCdwcm9kdWN0LXVwZGF0ZWQnLCByZXNwb25zZS5kYXRhKVxuICAgICAgICBhd2FpdCBub3RpZnkoJ1Byb2R1aXQgbWlzIMOgIGpvdXInKVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdVbmUgZXJyZXVyIHNcXCdlc3QgcHJvZHVpdGUnLCAnZXJyb3InKVxuICAgIH1cbn1cblxub25Nb3VudGVkKCgpID0+IHtcbiAgICBuZXdfcmVmZXJlbmNlLnZhbHVlID0gcHJvcHMucmVmZXJlbmNlXG4gICAgbmV3X2Rlc2NyaXB0aW9uLnZhbHVlID0gcHJvcHMuZGVzY3JpcHRpb25cbiAgICBuZXdfdW5pdFByaWNlLnZhbHVlID0gcHJvcHMudW5pdFByaWNlXG4gICAgbmV3X25hbWUudmFsdWUgPSBwcm9wcy5uYW1lXG59KVxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLXVwZGF0ZVwiIGRhdGEtdGV4dD1cIk1pc2Ugw6Agam91ciDDiWzDqW1lbnRcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+UsOpZsOpcmVuY2U8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Ob208L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfbmFtZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRlYWwtNTAwXCJcbiAgICAgICAgICA+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+RGVzY3JpcHRpb248L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPlByaXggdW5pdGFpcmUgKjwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRlYWwtNTAwXCJcbiAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfdW5pdFByaWNlXCJcbiAgICAgICAgICA+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm10LTMgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRmYS1idXR0b24gYmctY3lhbi02MDAgdGV4dC13aGl0ZVwiIEBjbGljaz1cInNhdmVcIj5FbnJlZ2lzdHJlcjwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkZmEtYnV0dG9uIGJnLWdyYXktNjAwIHRleHQtd2hpdGVcIiBAY2xpY2s9XCJ1bmRvXCI+YW5udWxlcjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHN0eWxlIHNjb3BlZD5cbiAgICAubW9kYWwtdXBkYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgcGFkZGluZzoxNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggOHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT4iLCI8c2NyaXB0IHNldHVwPlxuXG5pbXBvcnQge29uTW91bnRlZCwgb25Vbm1vdW50ZWQsIHJlZn0gZnJvbSBcInZ1ZVwiXG5pbXBvcnQgRGF0YVRhYmxlIGZyb20gJ3ByaW1ldnVlL2RhdGF0YWJsZSdcbmltcG9ydCBDb2x1bW4gZnJvbSAncHJpbWV2dWUvY29sdW1uJ1xuaW1wb3J0IFNrZWxldG9uIGZyb20gJ3ByaW1ldnVlL3NrZWxldG9uJ1xuY29uc3QgYXBwQ29uZmlnID0gd2luZG93LmFwcENvbmZpZ1xuXG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCJcbmltcG9ydCBQcm9kdWN0QWRkIGZyb20gXCIuL1Byb2R1Y3RBZGQudnVlXCJcbmltcG9ydCBTd2FsIGZyb20gXCJzd2VldGFsZXJ0MlwiXG5cbmltcG9ydCB7IHVzZU1vbmV5TWV0aG9kcyB9IGZyb20gJy4vY29tcG9zYWJsZXMvdXNlTW9uZXlNZXRob2RzJ1xuY29uc3QgeyBmb3JtYXRDdXJyZW5jeSB9ID0gdXNlTW9uZXlNZXRob2RzKCk7XG5cbmltcG9ydCB7IHVzZU5vdGlmeU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU5vdGlmeU1ldGhvZHMnXG5jb25zdCB7IG5vdGlmeSB9ID0gdXNlTm90aWZ5TWV0aG9kcygpXG5cbmltcG9ydCB7IHVzZVRhYmxlQ29sb3JzTWV0aG9kcyB9IGZyb20gXCIuL2NvbXBvc2FibGVzL3VzZVRhYmxlQ29sb3JzTWV0aG9kc1wiO1xuY29uc3QgeyBnZXRSb3dDbGFzcyB9ID0gdXNlVGFibGVDb2xvcnNNZXRob2RzKClcblxuXG5pbXBvcnQgUHJvZHVjdENvbnRleHRNZW51IGZyb20gXCIuL0NvbnRleHRNZW51cy9Qcm9kdWN0Q29udGV4dE1lbnUudnVlXCI7XG5pbXBvcnQgUHJvZHVjdFVwZGF0ZSBmcm9tIFwiLi9Qcm9kdWN0VXBkYXRlLnZ1ZVwiO1xuXG5jb25zdCBlbWl0ID0gZGVmaW5lRW1pdHMoW1wic2hvdy11cGRhdGVcIl0pXG5cbmNvbnN0IHByb2R1Y3RzID0gcmVmKFtdKVxuY29uc3Qgc2hvd25Sb3dzID0gcmVmKFtdKVxuY29uc3Qgb3JkZXJlZFByb2R1Y3RzID0gcmVmKHByb2R1Y3RzKVxuY29uc3QgcGFnaW5hdG9yRmlyc3QgPSByZWYoMClcbmNvbnN0IHJvd3NQZXJQYWdlID0gcmVmKGFwcENvbmZpZy5ERUZBVUxUX1JPV1NfSU5fVEFCTEVTKVxuY29uc3QgZmlsdGVycyA9IHJlZih7fSlcbmNvbnN0IHNvcnRGaWVsZCA9IHJlZignbmFtZScpXG5jb25zdCBzb3J0T3JkZXIgPSByZWYoMSlcbmNvbnN0IGZpcnN0ID0gcmVmKDApXG5jb25zdCBleGNlbEZpbGVQYXRoID0gcmVmKG51bGwpXG5jb25zdCBleGNlbEZpbGVVcmwgPSByZWYobnVsbClcbmNvbnN0IGNvbnRhaW5lciA9IHJlZihudWxsKVxuY29uc3QgaGlkZUZvcm0gPSByZWYodHJ1ZSlcbmNvbnN0IHRvdGFsUmVjb3JkcyA9IHJlZigwKVxuY29uc3QgbG9hZGluZyA9IHJlZih0cnVlKVxuXG5jb25zdCBzaG93Q29udGV4dE1lbnUgPSByZWYoZmFsc2UpXG5jb25zdCBjb250ZXh0TGluZUlkID0gcmVmKG51bGwpXG5jb25zdCBjb250ZXh0VGl0bGUgPSByZWYobnVsbClcbmNvbnN0IGNvbnRleHRUb3AgPSByZWYobnVsbClcbmNvbnN0IGNvbnRleHRMZWZ0ID0gcmVmKG51bGwpXG5cbmNvbnN0IHNob3dVcGRhdGVGb3JtID0gcmVmKGZhbHNlKVxuY29uc3QgcElkID0gcmVmKG51bGwpXG5jb25zdCBwUmVmZXJlbmNlID0gcmVmKG51bGwpXG5jb25zdCBwTmFtZSA9IHJlZihudWxsKVxuY29uc3QgcERlc2NyaXB0aW9uID0gcmVmKG51bGwpXG5jb25zdCBwVW5pdFByaWNlID0gcmVmKG51bGwpXG5jb25zdCB1cGRhdGVGb3JtVG9wID0gcmVmKG51bGwpXG5jb25zdCB1cGRhdGVGb3JtTGVmdCA9IHJlZihudWxsKVxuXG5jb25zdCBoYW5kbGVTaG93VXBkYXRlRm9ybSA9IChlKSA9PiB7XG4gICAgbGV0IGxpc3QgPSBwcm9kdWN0cy52YWx1ZVxuICAgIGNvbnN0IHByb2R1Y3QgPSBsaXN0LmZpbHRlcigocHJvZHVjdCkgPT4gcHJvZHVjdC5yZWZJZCA9PT0gZS5pZClcblxuICAgIHVwZGF0ZUZvcm1MZWZ0LnZhbHVlID0gY29udGV4dExlZnQudmFsdWVcbiAgICB1cGRhdGVGb3JtVG9wLnZhbHVlID0gY29udGV4dFRvcC52YWx1ZVxuXG4gICAgcElkLnZhbHVlID0gcHJvZHVjdFswXS5yZWZJZFxuICAgIHBOYW1lLnZhbHVlID0gcHJvZHVjdFswXS5uYW1lXG4gICAgcFJlZmVyZW5jZS52YWx1ZSA9IHByb2R1Y3RbMF0ucmVmZXJlbmNlXG4gICAgcERlc2NyaXB0aW9uLnZhbHVlID0gcHJvZHVjdFswXS5kZXNjcmlwdGlvbiA/PyAnJ1xuICAgIHBVbml0UHJpY2UudmFsdWUgPSBwcm9kdWN0WzBdLnVuaXRQcmljZVxuXG4gICAgc2hvd1VwZGF0ZUZvcm0udmFsdWUgPSB0cnVlXG59XG5cbmNvbnN0IHVuZG9BZGQgPSAoKSA9PiB7XG4gICAgaGlkZUZvcm0udmFsdWUgPSB0cnVlXG59XG5cbmNvbnN0IGhpZGVVcGRhdGVGb3JtID0gKCkgPT4ge1xuICAgIHNob3dVcGRhdGVGb3JtLnZhbHVlID0gZmFsc2Vcbn1cblxuY29uc3QgcHJvZHVjdFVwZGF0ZWQgPSAoZSkgPT4ge1xuICAgIGxvYWREYXRhKClcbiAgICBoaWRlVXBkYXRlRm9ybSgpXG59XG5cbmNvbnN0IG9uUGFnZUNoYW5nZSA9IChldmVudCkgPT4ge1xuICAgIGV4Y2VsRmlsZVBhdGgudmFsdWUgPSBudWxsXG4gICAgZmlyc3QudmFsdWUgPSBldmVudC5maXJzdDtcbiAgICByb3dzUGVyUGFnZS52YWx1ZSA9IGV2ZW50LnJvd3NcbiAgICBzb3J0RmllbGQudmFsdWUgPSBldmVudC5zb3J0RmllbGRcbiAgICBzb3J0T3JkZXIudmFsdWUgPSBldmVudC5zb3J0T3JkZXJcbiAgICBsb2FkRGF0YSgpXG59O1xuXG5vbk1vdW50ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInByb2R1Y3RzLWRhdGF0YWJsZVwiKVxuICAgIGNvbnRhaW5lci52YWx1ZSA9IGVsZW1lbnRcbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJmaWx0ZXI6Y2hhbmdlXCIsIG9uRmlsdGVyKVxuICAgIGxvYWREYXRhKClcblxufSlcblxub25Vbm1vdW50ZWQoKCkgPT4ge1xuICAgIGNvbnRhaW5lci52YWx1ZS5yZW1vdmVFdmVudExpc3RlbmVyKFwiZmlsdGVyOmNoYW5nZVwiLCBvbkZpbHRlcilcbn0pXG5cbmNvbnN0IG9uRmlsdGVyID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGV2ZW50LmRldGFpbC5yZXN1bHRzXG59XG5cbmNvbnN0IGxvYWREYXRhID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvYWRpbmcudmFsdWUgPSB0cnVlXG5cbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgICAgZmlyc3Q6IGZpcnN0LnZhbHVlLFxuICAgICAgICByb3dzOiByb3dzUGVyUGFnZS52YWx1ZSxcbiAgICAgICAgc29ydEZpZWxkOiBzb3J0RmllbGQudmFsdWUsXG4gICAgICAgIHNvcnRPcmRlcjogc29ydE9yZGVyLnZhbHVlID8/IDEsXG4gICAgfSlcblxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlICAgICA9IGF3YWl0IGZldGNoKGAvcHJvZHVjdHMvcHJvdmlkZS8/JHtwYXJhbXN9YClcbiAgICAgICAgY29uc3QgZGF0YSAgICAgICAgID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgIHByb2R1Y3RzLnZhbHVlICAgICA9IGRhdGEuaXRlbXNcbiAgICAgICAgdG90YWxSZWNvcmRzLnZhbHVlID0gZGF0YS50b3RhbFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VycmV1ciBsb3JzIGR1IGNoYXJnZW1lbnQgZGVzIGRvbm7DqWVzOicsIGVycm9yKVxuICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbG9hZGluZy52YWx1ZSA9IGZhbHNlXG4gICAgICAgIH0sIDUwMClcbiAgICB9XG59XG5jb25zdCBvblNvcnQgPSAoZXZlbnQpID0+IHtcbiAgICBmaXJzdC52YWx1ZSA9IGV2ZW50LmZpcnN0XG4gICAgc29ydEZpZWxkLnZhbHVlID0gZXZlbnQuc29ydEZpZWxkXG4gICAgc29ydE9yZGVyLnZhbHVlID0gZXZlbnQuc29ydE9yZGVyXG4gICAgZXhjZWxGaWxlUGF0aC52YWx1ZSA9IG51bGxcblxuICAgIGxvYWREYXRhKClcbn07XG5cbmNvbnN0IGV4cG9ydFRvRXhjZWwgPSBhc3luYyAoKSA9PiB7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoJy9leHBvcnQtdG8tZXhjZWwnLCB7XG4gICAgICAgIHJvd3M6IHByb2R1Y3RzLnZhbHVlXG4gICAgfSlcblxuICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGV4Y2VsRmlsZVBhdGgudmFsdWUgPSByZXNwb25zZS5kYXRhLmZpbGVVcmxcbiAgICAgICAgZG93bmxvYWQocmVzcG9uc2UuZGF0YS5maWxlVXJsLCAncHJvZHVpdHMnKVxuICAgICAgICBhd2FpdCBub3RpZnkoJ0V4cG9ydCBleGNlbCB0ZXJtaW7DqScpXG4gICAgfVxuICAgIGVsc2Uge1xuXG4gICAgICAgIGV4Y2VsRmlsZVBhdGgudmFsdWUgPSBudWxsXG5cbiAgICAgICAgYXdhaXQgbm90aWZ5KCdFeHBvcnQgZXhjZWwgw6ljaG91w6knLCAnZXJyb3InKVxuICAgIH1cbn1cblxuY29uc3QgZG93bmxvYWQgPSAocGF0aCwgdGl0bGUpID0+IHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgbGluay5ocmVmID0gcGF0aDsgLy8gVVJMIGR1IGZpY2hpZXIgcmV0b3VybsOpIHBhciBsZSBiYWNrZW5kXG4gICAgbGluay5kb3dubG9hZCA9IGBleHBvcnRfJHt0aXRsZX0ueGxzeGAgLy8gTm9tIHN1Z2fDqXLDqSBwb3VyIGxlIGZpY2hpZXJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspXG4gICAgbGluay5jbGljaygpXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKVxufVxuXG5jb25zdCBhZGRQcm9kdWN0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGhpZGVGb3JtLnZhbHVlID0gdHJ1ZVxuICAgIGF3YWl0IGxvYWREYXRhKClcbn1cblxuY29uc3Qgc2hvd0Zvcm0gPSAoKSA9PiB7XG4gICAgaGlkZUZvcm0udmFsdWUgPSAhaGlkZUZvcm0udmFsdWVcbn1cblxuY29uc3QgY29udGV4dE1lbnUgPSAoZSkgPT4ge1xuICAgIGUub3JpZ2luYWxFdmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgY29uc3QgZWxlbWVudCA9IGUuZGF0YVxuICAgIGNvbnRleHRMaW5lSWQudmFsdWUgPSBlbGVtZW50LnJlZklkXG4gICAgY29udGV4dFRpdGxlLnZhbHVlID0gZWxlbWVudC5uYW1lXG4gICAgY29udGV4dExlZnQudmFsdWUgPSBlLm9yaWdpbmFsRXZlbnQuY2xpZW50WFxuICAgIGNvbnRleHRUb3AudmFsdWUgPSBlLm9yaWdpbmFsRXZlbnQuY2xpZW50WVxuICAgIHNob3dDb250ZXh0TWVudS52YWx1ZSA9IHRydWVcbn1cblxuY29uc3QgY2xvc2VDb250ZXh0TWVudSA9ICgpID0+IHtcbiAgICBzaG93Q29udGV4dE1lbnUudmFsdWUgPSBmYWxzZVxufVxuXG5jb25zdCBkZWxldGVQcm9kdWN0ID0gYXN5bmMgKGUpID0+IHtcblxuICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiBcIjxzdHJvbmc+QXR0ZW50aW9uPC9zdHJvbmc+XCIsXG4gICAgICAgIGh0bWw6IGBcbiAgICDDinRlcy12b3VzIHPDu3ItZSBkZSB2b3Vsb2lyIHN1cHByaW1lciBsJ8OpbMOpbWVudDxicj48Yj4ke2UubmFtZX08L2I+Ljxicj5cbiAgYCxcbiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgIGZvY3VzQ29uZmlybTogZmFsc2UsXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBgXG4gICAgIFN1cHByaW1lciBsJ8OpbMOpbWVudFxuICBgLFxuICAgICAgICBjb25maXJtQnV0dG9uQXJpYUxhYmVsOiBcImNvbmZpcm1cIixcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogYFxuICAgIEFubnVsZXJcbiAgYCxcbiAgICAgICAgY2FuY2VsQnV0dG9uQXJpYUxhYmVsOiBcInVuZG9cIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IFwiYmctY3lhbi02MDBcIixcbiAgICAgICAgfVxuICAgIH0pLnRoZW4oYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0LmlzQ29uZmlybWVkKSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9wcm9kdWN0cy9yZW1vdmUvJHtlLmlkfWApXG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGF3YWl0IGxvYWREYXRhKClcbiAgICAgICAgICAgICAgICBhd2FpdCBub3RpZnkoJ8OJbMOpbWVudCBzdXBwcmltw6knKVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgIHtcblxuICAgICAgICB9XG4gICAgfSk7XG59XG5cblxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNoYWRvdy1tZCB6LTEwIGp1c3RpZnktYmV0d2VlbiBweC00IG1zLTY0IHctc2NyZWVuLW1pbnVzLTY0IGdhcC00IGZpeGVkIHRvcC0wIGxlZnQtMCBweS0zIGJnLXdoaXRlXCI+XG5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRmYS1idXR0b24gYmctY3lhbi02MDAgdGV4dC13aGl0ZSBpdGVtcy1jZW50ZXJcIiBAY2xpY2s9XCJzaG93Rm9ybVwiPlxuXG4gICAgICAgICAgICA8c3ZnIHYtaWY9XCJoaWRlRm9ybVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMiA5djZtMy0zSDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgIDxzdmcgdi1pZj1cIiFoaWRlRm9ybVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNSAxMkg5bTEyIDBhOSA5IDAgMSAxLTE4IDAgOSA5IDAgMCAxIDE4IDBaXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICBBam91dGVyIHVuIHByb2R1aXRcbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1wcm9kdWN0LWZvcm0gYWJzb2x1dGVcIiA6Y2xhc3M9XCJ7IGhpZGRlbjogaGlkZUZvcm0gfVwiPlxuICAgICAgICAgICAgPHByb2R1Y3QtYWRkIEBhZGQtcHJvZHVjdD1cImFkZFByb2R1Y3RcIiBAdW5kby1hZGQtcHJvZHVjdD1cInVuZG9BZGRcIj48L3Byb2R1Y3QtYWRkPlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gICAgPFByb2R1Y3RDb250ZXh0TWVudVxuICAgICAgICBAZGVsZXRlPVwiZGVsZXRlUHJvZHVjdFwiXG4gICAgICAgIEB1cGRhdGU9XCJoYW5kbGVTaG93VXBkYXRlRm9ybVwiXG4gICAgICAgIEBjbG9zZT1cImNsb3NlQ29udGV4dE1lbnVcIlxuICAgICAgICB2LWlmPVwic2hvd0NvbnRleHRNZW51XCJcbiAgICAgICAgOmxpbmUtaWQ9XCJjb250ZXh0TGluZUlkXCJcbiAgICAgICAgOnRpdGxlPVwiY29udGV4dFRpdGxlXCJcbiAgICAgICAgOnN0eWxlPVwieyB0b3A6IGAke2NvbnRleHRUb3B9cHhgLCBsZWZ0OiBgJHtjb250ZXh0TGVmdH1weGAgfVwiXG4gICAgICAgID5cbiAgICA8L1Byb2R1Y3RDb250ZXh0TWVudT5cblxuICAgIDxQcm9kdWN0VXBkYXRlXG4gICAgICAgIHYtaWY9XCJzaG93VXBkYXRlRm9ybVwiXG4gICAgICAgIDpuYW1lPVwicE5hbWVcIlxuICAgICAgICA6ZGVzY3JpcHRpb249XCJwRGVzY3JpcHRpb25cIlxuICAgICAgICA6cmVmZXJlbmNlPVwicFJlZmVyZW5jZVwiXG4gICAgICAgIDp1bml0LXByaWNlPVwicFVuaXRQcmljZVwiXG4gICAgICAgIDpwcm9kdWN0LWlkPVwicElkXCJcbiAgICAgICAgOnN0eWxlPVwie3Bvc2l0aW9uOiBgYWJzb2x1dGVgLCB0b3A6IGAke3VwZGF0ZUZvcm1Ub3B9cHhgLCBsZWZ0OiBgJHt1cGRhdGVGb3JtTGVmdH1weGAgfVwiXG4gICAgICAgIEB1bmRvLXVwZGF0ZT1cImhpZGVVcGRhdGVGb3JtXCJcbiAgICAgICAgQHByb2R1Y3QtdXBkYXRlZD1cInByb2R1Y3RVcGRhdGVkXCJcbiAgICA+XG4gICAgPC9Qcm9kdWN0VXBkYXRlPlxuXG4gICAgPERhdGFUYWJsZVxuICAgICAgICB2LWlmPVwiIWxvYWRpbmdcIlxuICAgICAgICA6dmFsdWU9XCJwcm9kdWN0c1wiXG4gICAgICAgIDpsYXp5PVwidHJ1ZVwiXG4gICAgICAgIDpwYWdpbmF0b3I9XCJ0cnVlXCJcbiAgICAgICAgOnJvd3M9XCJyb3dzUGVyUGFnZVwiXG4gICAgICAgIDp0b3RhbFJlY29yZHM9XCJ0b3RhbFJlY29yZHNcIlxuICAgICAgICA6cm93c1BlclBhZ2VPcHRpb25zPVwiYXBwQ29uZmlnLkRFRkFVTFRfQ0hPSUNFU19GT1JfVEFCTEVTXCJcbiAgICAgICAgcmVtb3ZhYmxlU29ydFxuICAgICAgICBzdHJpcGVkUm93c1xuICAgICAgICByZXNpemFibGVDb2x1bW5zXG4gICAgICAgIGNvbHVtblJlc2l6ZU1vZGU9XCJmaXRcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDUwcHhcIlxuICAgICAgICA6Y2xhc3M9XCInZG9jdW1lbnQtdGFibGUgcHJvZHVjdHMnXCJcbiAgICAgICAgdi1tb2RlbDpmaWx0ZXJzPVwiZmlsdGVyc1wiXG4gICAgICAgIEByb3ctY29udGV4dG1lbnU9XCJjb250ZXh0TWVudVwiXG4gICAgICAgIEBwYWdlPVwib25QYWdlQ2hhbmdlXCJcbiAgICAgICAgQHNvcnQ9XCJvblNvcnRcIlxuICAgICAgICA6cm93Q2xhc3M9XCJnZXRSb3dDbGFzc1wiXG4gICAgPlxuICAgICAgICA8dGVtcGxhdGUgI3BhZ2luYXRvcmVuZD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgZmxleC1yb3ctcmV2ZXJzZVwiPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB2LWlmPVwicHJvZHVjdHMubGVuZ3RoID49IDBcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzcGFtLWNsaWNrLXByZXZlbnQgYmctc2xhdGUtMjAwIGhvdmVyOmJnLXNsYXRlLTQwMCBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiIGxhYmVsPVwiRXhwb3J0XCIgQGNsaWNrPVwiZXhwb3J0VG9FeGNlbFwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgIHYtaWY9XCJleGNlbEZpbGVQYXRoID09PSBudWxsXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTMuMzc1IDE5LjVoMTcuMjVtLTE3LjI1IDBhMS4xMjUgMS4xMjUgMCAwIDEtMS4xMjUtMS4xMjVNMy4zNzUgMTkuNWg3LjVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVtLTkuNzUgMFY1LjYyNW0wIDEyLjc1di0xLjVjMC0uNjIxLjUwNC0xLjEyNSAxLjEyNS0xLjEyNW0xOC4zNzUgMi42MjVWNS42MjVtMCAxMi43NWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNW0xLjEyNS0xLjEyNXYtMS41YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1bTAgMy43NWgtNy41QTEuMTI1IDEuMTI1IDAgMCAxIDEyIDE4LjM3NW05Ljc1LTEyLjc1YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1SDMuMzc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1bTE5LjUgMHYxLjVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVNMi4yNSA1LjYyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0wIDBoMTcuMjVtLTE3LjI1IDBoNy41Yy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVNMy4zNzUgOC4yNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0xNy4yNS0zLjc1aC03LjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjVtOC42MjUtMS4xMjVjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNXYxLjVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVtLTE3LjI1IDBoNy41bS03LjUgMGMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNU0xMiAxMC44NzV2LTEuNW0wIDEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNU0xMiAxMC44NzVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0tMi4yNSAwYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVNMTMuMTI1IDEyaDcuNW0tNy41IDBjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjVNMjAuNjI1IDEyYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjV2MS41YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1bS0xNy4yNSAwaDcuNU0xMiAxNC42MjV2LTEuNW0wIDEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNU0xMiAxNC42MjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0tMi4yNSAwYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVtMCAxLjV2LTEuNW0wIDBjMC0uNjIxLjUwNC0xLjEyNSAxLjEyNS0xLjEyNW0wIDBoNy41XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2LWlmPVwiZXhjZWxGaWxlUGF0aFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMC41IDE5LjUgMyAxMm0wIDAgNy41LTcuNU0zIDEyaDE4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0IGV4Y2VsXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgdi1pZj1cImV4Y2VsRmlsZVBhdGhcIlxuICAgICAgICAgICAgICAgICAgICA6aHJlZj1cImV4Y2VsRmlsZVBhdGhcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGFtLWNsaWNrLXByZXZlbnQgIGJnLXNsYXRlLTQwMCBob3ZlcjpiZy1zbGF0ZS02MDAgaG92ZXI6dGV4dC13aGl0ZSBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRXhwb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQ9XCJleHBvcnRfcHJvZHVpdHMueGxzeFwiXG4gICAgICAgICAgICAgICAgPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwibTkgMTMuNSAzIDNtMCAwIDMtM20tMyAzdi02bTEuMDYtNC4xOS0yLjEyLTIuMTJhMS41IDEuNSAwIDAgMC0xLjA2MS0uNDRINC41QTIuMjUgMi4yNSAwIDAgMCAyLjI1IDZ2MTJhMi4yNSAyLjI1IDAgMCAwIDIuMjUgMi4yNWgxNUEyLjI1IDIuMjUgMCAwIDAgMjEuNzUgMThWOWEyLjI1IDIuMjUgMCAwIDAtMi4yNS0yLjI1aC01LjM3OWExLjUgMS41IDAgMCAxLTEuMDYtLjQ0WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2hpdGVzcGFjZS1ub3dyYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFTDqWzDqWNoYXJnZXJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L3RlbXBsYXRlPlxuXG4gICAgICAgIDxkaXYgdi1pZj1cInByb2R1Y3RzLmxlbmd0aCA9PT0gMCAmJiAhbG9hZGluZ1wiIGNsYXNzPVwidGV4dC14bCBiZy1jeWFuLTEwMCByb3VuZGVkLW1kIHAtWzIwcHhdIG10LTYgbWItNlwiPlxuICAgICAgICAgICAgVm91cyBuJ2F2ZXogcGFzIGVuY29yZSBham91dMOpIGRlIHByb2R1aXQuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJyZWZJZFwiIGhlYWRlcj1cIklEXCI+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cInJlZmVyZW5jZVwiIGhlYWRlcj1cIlLDqWbDqXJlbmNlXCI+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cIm5hbWVcIiBoZWFkZXI9XCJEw6lub21pbmF0aW9uXCIgc29ydGFibGUgPjwvQ29sdW1uPlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJkZXNjcmlwdGlvblwiIGhlYWRlcj1cIkRlc2NyaXB0aW9uXCI+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cInVuaXRQcmljZVwiIGhlYWRlcj1cIlByaXggdW5pdGFpcmVcIiBzb3J0YWJsZT5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZSAjYm9keT1cInNsb3RQcm9wc1wiID5cbiAgICAgICAgICAgICAgICA8c3BhbiA6Y2xhc3M9XCIndG90YWwtY2VsbCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZm9ybWF0Q3VycmVuY3koc2xvdFByb3BzLmRhdGEudW5pdFByaWNlKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgIDwvQ29sdW1uPlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJcIiBoZWFkZXI9XCJBY3Rpb25zXCIgPlxuXG4gICAgICAgICAgICA8dGVtcGxhdGUgI2JvZHk9XCJzbG90UHJvcHNcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG5cbiAgICAgICAgPC9Db2x1bW4+XG5cbiAgICA8L0RhdGFUYWJsZT5cblxuICAgIDx0ZW1wbGF0ZSB2LWVsc2U+XG4gICAgICAgIDxkaXYgIGNsYXNzPVwiIG10LVs1MHB4XVwiPlxuICAgICAgICAgICAgPGRpdiB2LWZvcj1cImkgaW4gM1wiIDprZXk9XCJpXCIgY2xhc3M9XCJwLW1iLTJcIj5cbiAgICAgICAgICAgICAgICA8U2tlbGV0b25cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiM3JlbVwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cIltcbiAgICAgICAgICAgICAgICAgICAgICAnbWItMiByb3VuZGVkLW1kIGFuaW1hdGUtcHVsc2UnLFxuICAgICAgICAgICAgICAgICAgICAgIGkgPT09IDEgPyAnYmctY3lhbi01MDAnIDogJ2JnLWdyYXktMjAwJ1xuICAgICAgICAgICAgICAgICAgICBdXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdGVtcGxhdGU+XG5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG5cbiAgICAuYWRkLXByb2R1Y3QtZm9ybS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5hZGQtcHJvZHVjdC1mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nOjIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCA3cHggcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuPC9zdHlsZT4iLCI8c2NyaXB0IHNldHVwPlxuXG5pbXBvcnQge1F1aWxsRWRpdG9yfSBmcm9tIFwiQHZ1ZXVwL3Z1ZS1xdWlsbFwiO1xuaW1wb3J0ICdAdnVldXAvdnVlLXF1aWxsL2Rpc3QvdnVlLXF1aWxsLnNub3cuY3NzJztcbmltcG9ydCB7b25Nb3VudGVkLCBvblVubW91bnRlZCwgcmVmfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIjtcblxuaW1wb3J0IHsgdXNlTm90aWZ5TWV0aG9kcyB9IGZyb20gJy4vY29tcG9zYWJsZXMvdXNlTm90aWZ5TWV0aG9kcydcbmNvbnN0IHsgbm90aWZ5IH0gPSB1c2VOb3RpZnlNZXRob2RzKClcblxuY29uc3Qgbm90ZSA9IHJlZignJyk7XG5jb25zdCBtZW50aW9uID0gcmVmKCcnKTtcblxub25Nb3VudGVkKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZWZhdWx0LXNldHRpbmdzXCIpO1xuICAgICAgICBub3RlLnZhbHVlICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQubm90ZSk7XG4gICAgICAgIG1lbnRpb24udmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5tZW50aW9uKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbCdpbml0aWFsaXNhdGlvbiA6XCIsIGVycm9yKTtcbiAgICB9XG59KTtcblxub25Vbm1vdW50ZWQoKCkgPT4ge1xuXG59KTtcblxuXG5jb25zdCBzYXZlID0gYXN5bmMgICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXCIvc2V0dGluZ3Mvc2F2ZVwiLCB7XG4gICAgICAgICAgICBub3RlOiBub3RlLnZhbHVlLFxuICAgICAgICAgICAgbWVudGlvbjogbWVudGlvbi52YWx1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBpZihyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGF3YWl0IHN1Y2Nlc3NOb3RpZmljYXRpb24oKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IGVycm9yTm90aWZpY2F0aW9uKClcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGF3YWl0IGVycm9yTm90aWZpY2F0aW9uKClcbiAgICB9XG59XG5cblxuXG5jb25zdCBzdWNjZXNzTm90aWZpY2F0aW9uID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IG5vdGlmeSgnRW5yZWdpc3RyZW1lbnQgZWZmZWN0dcOpZScpXG59XG5cbmNvbnN0IGVycm9yTm90aWZpY2F0aW9uID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IG5vdGlmeSgnVW5lIGVycmV1ciBzXFwnZXN0IHByb2R1aXRlJywgJ2Vycm9yJylcblxufVxuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJxdWlsbC1jb250YWluZXIgbXQtNlwiPlxuXG4gICAgPGg0IGNsYXNzPVwidGV4dC1tZCBmb250LWJvbGQgbWItMiBmbGV4XCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IG1lLTJcIj5cbiAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOSAxMmgzLjc1TTkgMTVoMy43NU05IDE4aDMuNzVtMyAuNzVIMThhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNVY2LjEwOGMwLTEuMTM1LS44NDUtMi4wOTgtMS45NzYtMi4xOTJhNDguNDI0IDQ4LjQyNCAwIDAgMC0xLjEyMy0uMDhtLTUuODAxIDBjLS4wNjUuMjEtLjEuNDMzLS4xLjY2NCAwIC40MTQuMzM2Ljc1Ljc1Ljc1aDQuNWEuNzUuNzUgMCAwIDAgLjc1LS43NSAyLjI1IDIuMjUgMCAwIDAtLjEtLjY2NG0tNS44IDBBMi4yNTEgMi4yNTEgMCAwIDEgMTMuNSAyLjI1SDE1YzEuMDEyIDAgMS44NjcuNjY4IDIuMTUgMS41ODZtLTUuOCAwYy0uMzc2LjAyMy0uNzUuMDUtMS4xMjQuMDhDOS4wOTUgNC4wMSA4LjI1IDQuOTczIDguMjUgNi4xMDhWOC4yNW0wIDBINC44NzVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2MTEuMjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWg5Ljc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjkuMzc1YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1SDguMjVaTTYuNzUgMTJoLjAwOHYuMDA4SDYuNzVWMTJabTAgM2guMDA4di4wMDhINi43NVYxNVptMCAzaC4wMDh2LjAwOEg2Ljc1VjE4WlwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICBOb3RlIGRlIGJhcyBkZSBwYWdlIHBhciBkw6lmYXV0XG4gICAgPC9oND5cblxuICAgICAgPHAgY2xhc3M9XCJtYi00XCI+XG4gICAgICAgICAgUGFyYW3DqXRyZXogdW5lIG5vdGUgcXVpIGFwcGFyYWl0cmEgcGFyIGTDqWZhdXQgc3VyIHRvdXMgdm9zIGRvY3VtZW50c1xuICAgICAgPC9wPlxuXG4gICAgPFF1aWxsRWRpdG9yIDp0b29sYmFyPVwiW1t7ICdoZWFkZXInOiBbMSwgMiwgMywgZmFsc2VdIH1dLCBbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZScsICdsaW5rJ10sIFt7ICdsaXN0JzogJ29yZGVyZWQnfSwgeyAnbGlzdCc6ICdidWxsZXQnIH1dXVwiIGNvbnRlbnRUeXBlPVwiaHRtbFwiIHRoZW1lPVwic25vd1wiIEBmb2N1cz1cImZvY3VzXCIgdi1tb2RlbDpjb250ZW50PVwibm90ZVwiLz5cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwicXVpbGwtY29udGFpbmVyIG10LTZcIj5cblxuICAgIDxoNCBjbGFzcz1cInRleHQtbWQgZm9udC1ib2xkIG1iLTIgZmxleFwiPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTkgMTJoMy43NU05IDE1aDMuNzVNOSAxOGgzLjc1bTMgLjc1SDE4YTIuMjUgMi4yNSAwIDAgMCAyLjI1LTIuMjVWNi4xMDhjMC0xLjEzNS0uODQ1LTIuMDk4LTEuOTc2LTIuMTkyYTQ4LjQyNCA0OC40MjQgMCAwIDAtMS4xMjMtLjA4bS01LjgwMSAwYy0uMDY1LjIxLS4xLjQzMy0uMS42NjQgMCAuNDE0LjMzNi43NS43NS43NWg0LjVhLjc1Ljc1IDAgMCAwIC43NS0uNzUgMi4yNSAyLjI1IDAgMCAwLS4xLS42NjRtLTUuOCAwQTIuMjUxIDIuMjUxIDAgMCAxIDEzLjUgMi4yNUgxNWMxLjAxMiAwIDEuODY3LjY2OCAyLjE1IDEuNTg2bS01LjggMGMtLjM3Ni4wMjMtLjc1LjA1LTEuMTI0LjA4QzkuMDk1IDQuMDEgOC4yNSA0Ljk3MyA4LjI1IDYuMTA4VjguMjVtMCAwSDQuODc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djExLjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoOS43NWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNVY5LjM3NWMwLS42MjEtLjUwNC0xLjEyNS0xLjEyNS0xLjEyNUg4LjI1Wk02Ljc1IDEyaC4wMDh2LjAwOEg2Ljc1VjEyWm0wIDNoLjAwOHYuMDA4SDYuNzVWMTVabTAgM2guMDA4di4wMDhINi43NVYxOFpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgTWVudGlvbiBUVkEgcGFyIGTDqWZhdXRcbiAgICA8L2g0PlxuXG4gICAgICAgIDxwIGNsYXNzPVwibWItNFwiPlxuICAgICAgICAgICAgUGFyYW3DqXRyZXogdW5lIG1lbnRpb24gcXVpIGFwcGFyYWl0cmEgcGFyIGTDqWZhdXQgc3VyIHRvdXMgdm9zIGRvY3VtZW50cywgc291cyBsZSB0YWJsZWF1IGRlcyBwcml4LlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPFF1aWxsRWRpdG9yIDpwbGFjZWhvbGRlcj1cIicnXCIgOnRvb2xiYXI9XCJbWydib2xkJywgJ2l0YWxpYycsICd1bmRlcmxpbmUnXV1cIiBjb250ZW50VHlwZT1cImh0bWxcIiB0aGVtZT1cInNub3dcIiBAZm9jdXM9XCJmb2N1c1wiIHYtbW9kZWw6Y29udGVudD1cIm1lbnRpb25cIi8+XG4gICAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm10LTZcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJkZmEtYnV0dG9uIGJnLXNsYXRlLTYwMCB0ZXh0LXdoaXRlXCIgQGNsaWNrPVwic2F2ZVwiPmVucmVnaXN0cmVyPC9idXR0b24+XG4gIDwvZGl2PlxuXG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuXG4gIC5xdWlsbC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuXG48L3N0eWxlPiIsIjxzY3JpcHQgc2V0dXA+XG5cbmltcG9ydCB7ZGVmaW5lRW1pdHMsIGRlZmluZVByb3BzLCBvbk1vdW50ZWQsIHJlZn0gZnJvbSBcInZ1ZVwiO1xuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuXG5pbXBvcnQgeyB1c2VOb3RpZnlNZXRob2RzIH0gZnJvbSAnLi9jb21wb3NhYmxlcy91c2VOb3RpZnlNZXRob2RzJ1xuY29uc3QgeyBub3RpZnkgfSA9IHVzZU5vdGlmeU1ldGhvZHMoKVxuXG5jb25zdCBuZXdfbmFtZSA9IHJlZihudWxsKVxuY29uc3QgbmV3X2FkZHJlc3MgPSByZWYobnVsbClcbmNvbnN0IG5ld19hZGRyZXNzQ29tcGxlbWVudCA9IHJlZihudWxsKVxuY29uc3QgbmV3X3ppcENvZGUgPSByZWYobnVsbClcbmNvbnN0IG5ld19jaXR5ID0gcmVmKG51bGwpXG5jb25zdCBuZXdfY29udGFjdE5hbWUgPSByZWYobnVsbClcbmNvbnN0IG5ld19jb250YWN0UGhvbmUgPSByZWYobnVsbClcbmNvbnN0IG5ld19jb250YWN0RW1haWwgPSByZWYobnVsbClcbmNvbnN0IG5ld19zaXJldCA9IHJlZihudWxsKVxuXG5jb25zdCBlbWl0ID0gZGVmaW5lRW1pdHMoW1widXBkYXRlXCIsIFwidW5kby11cGRhdGVcIiwgXCJjdXN0b21lci11cGRhdGVkXCJdKTtcblxuY29uc3QgcHJvcHMgPSBkZWZpbmVQcm9wcyh7XG4gICAgY3VzdG9tZXJJZDoge1xuICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5hbWU6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBhZGRyZXNzOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgYWRkcmVzc0NvbXBsZW1lbnQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICB6aXBDb2RlOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgY2l0eToge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGNvbnRhY3ROYW1lOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgY29udGFjdFBob25lOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgY29udGFjdEVtYWlsOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgc2lyZXQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbn0pXG5cbmNvbnN0IHVuZG8gPSAoKSA9PiB7XG4gICAgZW1pdCgndW5kby11cGRhdGUnKVxufVxuY29uc3Qgc2F2ZSA9IGFzeW5jICgpID0+IHtcblxuICAgIGlmKFxuICAgICAgICBuZXdfbmFtZS52YWx1ZSA9PT0gbnVsbFxuICAgICAgICB8fCBuZXdfbmFtZS52YWx1ZSA9PT0gJydcbiAgICApIHtcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdGb3JtdWxhaXJlIGluY29tcGxldCcsICdlcnJvcicpXG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChgL2N1c3RvbWVyL3VwZGF0ZS8ke3Byb3BzLmN1c3RvbWVySWR9YCwge1xuICAgICAgICBuYW1lOiBuZXdfbmFtZS52YWx1ZSxcbiAgICAgICAgYWRkcmVzczogbmV3X2FkZHJlc3MudmFsdWUsXG4gICAgICAgIGFkZHJlc3NDb21wbGVtZW50OiBuZXdfYWRkcmVzc0NvbXBsZW1lbnQudmFsdWUsXG4gICAgICAgIHppcENvZGU6IG5ld196aXBDb2RlLnZhbHVlLFxuICAgICAgICBjaXR5OiBuZXdfY2l0eS52YWx1ZSxcbiAgICAgICAgY29udGFjdE5hbWU6IG5ld19jb250YWN0TmFtZS52YWx1ZSxcbiAgICAgICAgY29udGFjdFBob25lOiBuZXdfY29udGFjdFBob25lLnZhbHVlLFxuICAgICAgICBjb250YWN0RW1haWw6IG5ld19jb250YWN0RW1haWwudmFsdWUsXG4gICAgICAgIHNpcmV0OiBuZXdfc2lyZXQudmFsdWUsXG4gICAgfSlcblxuICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGVtaXQoJ2N1c3RvbWVyLXVwZGF0ZWQnLCByZXNwb25zZS5kYXRhKVxuICAgICAgICBhd2FpdCBub3RpZnkoJ0NsaWVudCBtaXMgw6Agam91cicpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBhd2FpdCBub3RpZnkoJ1VuZSBlcnJldXIgc1xcJ2VzdCBwcm9kdWl0ZScsICdlcnJvcicpXG4gICAgfVxufVxuXG5vbk1vdW50ZWQoKCkgPT4ge1xuICAgIG5ld19uYW1lLnZhbHVlID0gcHJvcHMubmFtZVxuICAgIG5ld19hZGRyZXNzLnZhbHVlID0gcHJvcHMuYWRkcmVzc1xuICAgIG5ld19hZGRyZXNzQ29tcGxlbWVudC52YWx1ZSA9IHByb3BzLmFkZHJlc3NDb21wbGVtZW50XG4gICAgbmV3X3ppcENvZGUudmFsdWUgPSBwcm9wcy56aXBDb2RlXG4gICAgbmV3X2NpdHkudmFsdWUgPSBwcm9wcy5jaXR5XG4gICAgbmV3X2NvbnRhY3ROYW1lLnZhbHVlID0gcHJvcHMuY29udGFjdE5hbWVcbiAgICBuZXdfY29udGFjdFBob25lLnZhbHVlID0gcHJvcHMuY29udGFjdFBob25lXG4gICAgbmV3X2NvbnRhY3RFbWFpbC52YWx1ZSA9IHByb3BzLmNvbnRhY3RFbWFpbFxuICAgIG5ld19zaXJldC52YWx1ZSA9IHByb3BzLnNpcmV0XG59KVxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLXVwZGF0ZVwiIGRhdGEtdGV4dD1cIk1pc2Ugw6Agam91ciBjbGllbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPk5vbTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cIm5ld19uYW1lXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+QWRyZXNzZTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cIm5ld19hZGRyZXNzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+Q29tcGzDqW1lbnQgZCdhZHJlc3NlPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X2FkZHJlc3NDb21wbGVtZW50XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+Q29kZSBwb3N0YWw8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfemlwQ29kZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+VmlsbGU8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfY2l0eVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+Tm9tIGR1IGNvbnRhY3Q8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfY29udGFjdE5hbWVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPlTDqWzDqXBob25lIGR1IGNvbnRhY3Q8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfY29udGFjdFBob25lXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5FbWFpbCBkdSBjb250YWN0PC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X2NvbnRhY3RFbWFpbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRlYWwtNTAwXCJcbiAgICAgICAgICA+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+bsKwIFNpcmV0PC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X3NpcmV0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZGZhLWJ1dHRvbiBiZy1jeWFuLTYwMCB0ZXh0LXdoaXRlXCIgQGNsaWNrPVwic2F2ZVwiPkVucmVnaXN0cmVyPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRmYS1idXR0b24gYmctZ3JheS02MDAgdGV4dC13aGl0ZVwiIEBjbGljaz1cInVuZG9cIj5hbm51bGVyPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuICAgIC5tb2RhbC11cGRhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICBwYWRkaW5nOjE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCA4cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPiIsIjxzY3JpcHQgc2V0dXA+XG5cbmltcG9ydCB7b25Nb3VudGVkLCBvblVubW91bnRlZCwgcmVmfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgRGF0YVRhYmxlIGZyb20gJ3ByaW1ldnVlL2RhdGF0YWJsZSc7XG5pbXBvcnQgQ29sdW1uIGZyb20gJ3ByaW1ldnVlL2NvbHVtbic7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIjtcbmNvbnN0IGFwcENvbmZpZyA9IHdpbmRvdy5hcHBDb25maWdcblxuaW1wb3J0IEN1c3RvbWVyQWRkIGZyb20gXCIuL0N1c3RvbWVyQWRkLnZ1ZVwiO1xuaW1wb3J0IEN1c3RvbWVyQ29udGV4dE1lbnUgZnJvbSBcIi4vQ29udGV4dE1lbnVzL0N1c3RvbWVyQ29udGV4dE1lbnUudnVlXCI7XG5pbXBvcnQgQ3VzdG9tZXJVcGRhdGUgZnJvbSBcIi4vQ3VzdG9tZXJVcGRhdGUudnVlXCI7XG5cbmltcG9ydCB7IHVzZU5vdGlmeU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU5vdGlmeU1ldGhvZHMnXG5pbXBvcnQgeyB1c2VUYWJsZUNvbG9yc01ldGhvZHMgfSBmcm9tIFwiLi9jb21wb3NhYmxlcy91c2VUYWJsZUNvbG9yc01ldGhvZHNcIjtcbmNvbnN0IHsgZ2V0Um93Q2xhc3MgfSA9IHVzZVRhYmxlQ29sb3JzTWV0aG9kcygpXG5cbmNvbnN0IHsgbm90aWZ5IH0gPSB1c2VOb3RpZnlNZXRob2RzKClcblxuaW1wb3J0IHsgdXNlTW9uZXlNZXRob2RzIH0gZnJvbSAnLi9jb21wb3NhYmxlcy91c2VNb25leU1ldGhvZHMnXG5pbXBvcnQgU2tlbGV0b24gZnJvbSBcInByaW1ldnVlL3NrZWxldG9uXCI7XG5jb25zdCB7IGZvcm1hdEN1cnJlbmN5IH0gPSB1c2VNb25leU1ldGhvZHMoKTtcblxuY29uc3QgY3VzdG9tZXJzID0gcmVmKFtdKVxuY29uc3Qgc2hvd25Sb3dzID0gcmVmKFtdKVxuY29uc3Qgb3JkZXJlZEN1c3RvbWVycyA9IHJlZihjdXN0b21lcnMpXG5jb25zdCBwYWdpbmF0b3JGaXJzdCA9IHJlZigwKTtcbmNvbnN0IHJvd3NQZXJQYWdlID0gcmVmKGFwcENvbmZpZy5ERUZBVUxUX1JPV1NfSU5fVEFCTEVTKTtcbmNvbnN0IGZpbHRlcnMgPSByZWYoe30pO1xuY29uc3Qgc29ydEZpZWxkID0gcmVmKG51bGwpO1xuY29uc3Qgc29ydE9yZGVyID0gcmVmKDEpO1xuY29uc3QgZmlyc3QgPSByZWYoMCk7XG5jb25zdCBleGNlbEZpbGVQYXRoID0gcmVmKG51bGwpO1xuY29uc3QgZXhjZWxGaWxlVXJsID0gcmVmKG51bGwpO1xuY29uc3QgY29udGFpbmVyID0gcmVmKG51bGwpXG5jb25zdCBoaWRlRm9ybSA9IHJlZih0cnVlKVxuY29uc3QgdG90YWxSZWNvcmRzID0gcmVmKDApXG5jb25zdCBsb2FkaW5nID0gcmVmKHRydWUpO1xuXG5jb25zdCBzaG93Q29udGV4dE1lbnUgPSByZWYoZmFsc2UpXG5jb25zdCBjb250ZXh0TGluZUlkID0gcmVmKG51bGwpXG5jb25zdCBjb250ZXh0TmFtZSA9IHJlZihudWxsKVxuY29uc3QgY29udGV4dFRvcCA9IHJlZihudWxsKVxuY29uc3QgY29udGV4dExlZnQgPSByZWYobnVsbClcblxuY29uc3Qgc2hvd1VwZGF0ZUZvcm0gPSByZWYoZmFsc2UpXG5jb25zdCBwSWQgPSByZWYobnVsbClcbmNvbnN0IHBOYW1lID0gcmVmKG51bGwpXG5jb25zdCBwQWRkcmVzcyA9IHJlZihudWxsKVxuY29uc3QgcEFkZHJlc3NDb21wbGVtZW50ID0gcmVmKG51bGwpXG5jb25zdCBwWmlwY29kZSA9IHJlZihudWxsKVxuY29uc3QgcENpdHkgPSByZWYobnVsbClcbmNvbnN0IHBDb250YWN0TmFtZSA9IHJlZihudWxsKVxuY29uc3QgcENvbnRhY3RQaG9uZSA9IHJlZihudWxsKVxuY29uc3QgcENvbnRhY3RFbWFpbCA9IHJlZihudWxsKVxuY29uc3QgcFNpcmV0ID0gcmVmKG51bGwpXG5jb25zdCB1cGRhdGVGb3JtVG9wID0gcmVmKG51bGwpXG5jb25zdCB1cGRhdGVGb3JtTGVmdCA9IHJlZihudWxsKVxuXG5jb25zdCBoYW5kbGVTaG93VXBkYXRlRm9ybSA9IChlKSA9PiB7XG4gICAgbGV0IGxpc3QgPSBjdXN0b21lcnMudmFsdWVcbiAgICBjb25zdCBjdXN0b21lciA9IGxpc3QuZmlsdGVyKChjdXN0b21lcikgPT4gY3VzdG9tZXIucmVmSWQgPT09IGUuaWQpXG5cbiAgICB1cGRhdGVGb3JtTGVmdC52YWx1ZSA9IGNvbnRleHRMZWZ0LnZhbHVlXG4gICAgdXBkYXRlRm9ybVRvcC52YWx1ZSA9IGNvbnRleHRUb3AudmFsdWVcbiAgICBwSWQudmFsdWUgPSBjdXN0b21lclswXS5yZWZJZFxuICAgIHBOYW1lLnZhbHVlID0gY3VzdG9tZXJbMF0ubmFtZVxuICAgIHBBZGRyZXNzLnZhbHVlID0gY3VzdG9tZXJbMF0uYWRkcmVzcyA/PyAnJ1xuICAgIHBBZGRyZXNzQ29tcGxlbWVudC52YWx1ZSA9IGN1c3RvbWVyWzBdLmFkZHJlc3NDb21wbGVtZW50XG4gICAgcFppcGNvZGUudmFsdWUgPSBjdXN0b21lclswXS56aXBDb2RlXG4gICAgcENpdHkudmFsdWUgPSBjdXN0b21lclswXS5jaXR5XG4gICAgcENvbnRhY3ROYW1lLnZhbHVlID0gY3VzdG9tZXJbMF0uY29udGFjdE5hbWVcbiAgICBwQ29udGFjdFBob25lLnZhbHVlID0gY3VzdG9tZXJbMF0uY29udGFjdFBob25lXG4gICAgcENvbnRhY3RFbWFpbC52YWx1ZSA9IGN1c3RvbWVyWzBdLmNvbnRhY3RFbWFpbFxuICAgIHBTaXJldC52YWx1ZSA9IGN1c3RvbWVyWzBdLnNpcmV0XG5cbiAgICBzaG93VXBkYXRlRm9ybS52YWx1ZSA9IHRydWVcbn1cblxuY29uc3Qgb25QYWdlQ2hhbmdlID0gKGV2ZW50KSA9PiB7XG4gICAgZXhjZWxGaWxlUGF0aC52YWx1ZSA9IG51bGxcbiAgICBmaXJzdC52YWx1ZSA9IGV2ZW50LmZpcnN0O1xuICAgIHJvd3NQZXJQYWdlLnZhbHVlID0gZXZlbnQucm93c1xuICAgIHNvcnRGaWVsZC52YWx1ZSA9IGV2ZW50LnNvcnRGaWVsZFxuICAgIHNvcnRPcmRlci52YWx1ZSA9IGV2ZW50LnNvcnRPcmRlclxuICAgIGxvYWREYXRhKCl9O1xuXG5vbk1vdW50ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImN1c3RvbWVycy1kYXRhdGFibGVcIik7XG4gICAgY29udGFpbmVyLnZhbHVlID0gZWxlbWVudFxuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImZpbHRlcjpjaGFuZ2VcIiwgb25GaWx0ZXIpO1xuICAgIGxvYWREYXRhKClcblxufSlcblxub25Vbm1vdW50ZWQoKCkgPT4ge1xuICAgIGNvbnRhaW5lci52YWx1ZS5yZW1vdmVFdmVudExpc3RlbmVyKFwiZmlsdGVyOmNoYW5nZVwiLCB0aGlzLm9uRmlsdGVyKTtcbn0pXG5cbmNvbnN0IGxvYWREYXRhID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvYWRpbmcudmFsdWUgPSB0cnVlXG5cbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgICAgZmlyc3Q6IGZpcnN0LnZhbHVlLFxuICAgICAgICByb3dzOiByb3dzUGVyUGFnZS52YWx1ZSxcbiAgICAgICAgc29ydEZpZWxkOiBzb3J0RmllbGQudmFsdWUsXG4gICAgICAgIHNvcnRPcmRlcjogc29ydE9yZGVyLnZhbHVlID8/IDEsXG4gICAgfSlcblxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlICAgICA9IGF3YWl0IGZldGNoKGAvY3VzdG9tZXIvcHJvdmlkZS8/JHtwYXJhbXN9YCk7XG4gICAgICAgIGNvbnN0IGRhdGEgICAgICAgICA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgY3VzdG9tZXJzLnZhbHVlICAgICA9IGRhdGEuaXRlbXM7XG4gICAgICAgIHRvdGFsUmVjb3Jkcy52YWx1ZSA9IGRhdGEudG90YWw7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyZXVyIGxvcnMgZHUgY2hhcmdlbWVudCBkZXMgZG9ubsOpZXM6JywgZXJyb3IpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbG9hZGluZy52YWx1ZSA9IGZhbHNlXG4gICAgICAgIH0sIDUwMClcbiAgICB9XG59XG5cbmNvbnN0IG9uU29ydCA9IChldmVudCkgPT4ge1xuICAgIGZpcnN0LnZhbHVlID0gZXZlbnQuZmlyc3RcbiAgICBzb3J0RmllbGQudmFsdWUgPSBldmVudC5zb3J0RmllbGRcbiAgICBzb3J0T3JkZXIudmFsdWUgPSBldmVudC5zb3J0T3JkZXJcbiAgICBleGNlbEZpbGVQYXRoLnZhbHVlID0gbnVsbFxuXG4gICAgbG9hZERhdGEoKVxufTtcblxuY29uc3QgZXhwb3J0VG9FeGNlbCA9IGFzeW5jICgpID0+IHtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdCgnL2V4cG9ydC10by1leGNlbCcsIHtcbiAgICAgICAgcm93czogY3VzdG9tZXJzLnZhbHVlXG4gICAgfSlcblxuICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGV4Y2VsRmlsZVBhdGgudmFsdWUgPSByZXNwb25zZS5kYXRhLmZpbGVVcmxcbiAgICAgICAgZG93bmxvYWQocmVzcG9uc2UuZGF0YS5maWxlVXJsLCAnY2xpZW50cycpXG4gICAgICAgIGF3YWl0IG5vdGlmeSgnRXhwb3J0IGV4Y2VsIHRlcm1pbsOpJylcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGV4Y2VsRmlsZVBhdGgudmFsdWUgPSBudWxsXG4gICAgICAgIGF3YWl0IG5vdGlmeSgnRXhwb3J0IGV4Y2VsIMOpY2hvdcOpJywgJ2Vycm9yJylcbiAgICB9XG59XG5cbmNvbnN0IGRvd25sb2FkID0gKHBhdGgsIHRpdGxlKSA9PiB7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmhyZWYgPSBwYXRoOyAvLyBVUkwgZHUgZmljaGllciByZXRvdXJuw6kgcGFyIGxlIGJhY2tlbmRcbiAgICBsaW5rLmRvd25sb2FkID0gYGV4cG9ydF8ke3RpdGxlfS54bHN4YDsgLy8gTm9tIHN1Z2fDqXLDqSBwb3VyIGxlIGZpY2hpZXJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xufVxuXG5jb25zdCBvbkZpbHRlciA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBldmVudC5kZXRhaWwucmVzdWx0c1xufVxuXG5jb25zdCBjdXN0b21lclVwZGF0ZWQgPSAoZSkgPT4ge1xuICAgIGhpZGVVcGRhdGVGb3JtKClcbiAgICBsb2FkRGF0YSgpXG59XG5cbmNvbnN0IGFkZEN1c3RvbWVyID0gYXN5bmMgKGV2ZW50KSA9PiB7XG5cbiAgICBhd2FpdCBsb2FkRGF0YSgpXG4gICAgaGlkZUZvcm0udmFsdWUgPSB0cnVlXG59XG5cbmNvbnN0IHNob3dGb3JtID0gKCkgPT4ge1xuICAgIGhpZGVGb3JtLnZhbHVlID0gIWhpZGVGb3JtLnZhbHVlXG59XG5cbmNvbnN0IGhpZGVVcGRhdGVGb3JtID0gKCkgPT4ge1xuICAgIHNob3dVcGRhdGVGb3JtLnZhbHVlID0gZmFsc2Vcbn1cblxuXG5jb25zdCBjb250ZXh0TWVudSA9IChlKSA9PiB7XG4gICAgZS5vcmlnaW5hbEV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBjb25zdCBlbGVtZW50ID0gZS5kYXRhXG4gICAgY29udGV4dExpbmVJZC52YWx1ZSA9IGVsZW1lbnQucmVmSWRcbiAgICBjb250ZXh0TmFtZS52YWx1ZSA9IGVsZW1lbnQubmFtZVxuICAgIGNvbnRleHRMZWZ0LnZhbHVlID0gZS5vcmlnaW5hbEV2ZW50LmNsaWVudFhcbiAgICBjb250ZXh0VG9wLnZhbHVlID0gZS5vcmlnaW5hbEV2ZW50LmNsaWVudFlcbiAgICBzaG93Q29udGV4dE1lbnUudmFsdWUgPSB0cnVlXG59XG5cbmNvbnN0IGNsb3NlQ29udGV4dE1lbnUgPSAoKSA9PiB7XG4gICAgc2hvd0NvbnRleHRNZW51LnZhbHVlID0gZmFsc2Vcbn1cblxuY29uc3QgZGVsZXRlQ3VzdG9tZXIgPSBhc3luYyAoZSkgPT4ge1xuXG4gICAgU3dhbC5maXJlKHtcbiAgICAgICAgdGl0bGU6IFwiPHN0cm9uZz5BdHRlbnRpb248L3N0cm9uZz5cIixcbiAgICAgICAgaHRtbDogYFxuICAgIMOKdGVzLXZvdXMgc8O7ci1lIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGxlIGNsaWVudDxicj48Yj4ke2UubmFtZX08L2I+Ljxicj5cbiAgYCxcbiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgIGZvY3VzQ29uZmlybTogZmFsc2UsXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBgXG4gICAgIFN1cHByaW1lciBsZSBjbGllbnRcbiAgYCxcbiAgICAgICAgY29uZmlybUJ1dHRvbkFyaWFMYWJlbDogXCJjb25maXJtXCIsXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGBcbiAgICBBbm51bGVyXG4gIGAsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkFyaWFMYWJlbDogXCJ1bmRvXCIsXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XG4gICAgICAgICAgICBjb25maXJtQnV0dG9uOiBcImJnLWN5YW4tNjAwXCIsXG4gICAgICAgIH1cbiAgICB9KS50aGVuKGFzeW5jIChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvY3VzdG9tZXIvcmVtb3ZlLyR7ZS5pZH1gKVxuXG4gICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBsb2FkRGF0YSgpXG4gICAgICAgICAgICAgICAgYXdhaXQgbm90aWZ5KCfDiWzDqW1lbnQgc3VwcHJpbcOpJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlICB7XG5cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggc2hhZG93LW1kIHotMTAganVzdGlmeS1iZXR3ZWVuIHB4LTQgbXMtNjQgdy1zY3JlZW4tbWludXMtNjQgZ2FwLTQgZml4ZWQgdG9wLTAgbGVmdC0wIHB5LTMgYmctd2hpdGVcIj5cblxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZGZhLWJ1dHRvbiBiZy1hbWJlci00MDAgdGV4dC13aGl0ZSBpdGVtcy1jZW50ZXJcIiBAY2xpY2s9XCJzaG93Rm9ybVwiPlxuXG4gICAgICAgICAgICA8c3ZnIHYtaWY9XCJoaWRlRm9ybVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMiA5djZtMy0zSDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgIDxzdmcgdi1pZj1cIiFoaWRlRm9ybVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNSAxMkg5bTEyIDBhOSA5IDAgMSAxLTE4IDAgOSA5IDAgMCAxIDE4IDBaXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICBBam91dGVyIHVuIGNsaWVudFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLWN1c3RvbWVyLWZvcm0gYWJzb2x1dGVcIiA6Y2xhc3M9XCJ7IGhpZGRlbjogaGlkZUZvcm0gfVwiPlxuICAgICAgICAgICAgPGN1c3RvbWVyLWFkZCBAYWRkLWN1c3RvbWVyPVwiYWRkQ3VzdG9tZXJcIj48L2N1c3RvbWVyLWFkZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuICAgIDxDdXN0b21lckNvbnRleHRNZW51XG4gICAgICAgIEBkZWxldGU9XCJkZWxldGVDdXN0b21lclwiXG4gICAgICAgIEBjbG9zZT1cImNsb3NlQ29udGV4dE1lbnVcIlxuICAgICAgICBAdXBkYXRlPVwiaGFuZGxlU2hvd1VwZGF0ZUZvcm1cIlxuICAgICAgICB2LWlmPVwic2hvd0NvbnRleHRNZW51XCJcbiAgICAgICAgOmxpbmUtaWQ9XCJjb250ZXh0TGluZUlkXCJcbiAgICAgICAgOm5hbWU9XCJjb250ZXh0TmFtZVwiXG4gICAgICAgIDpzdHlsZT1cInsgdG9wOiBgJHtjb250ZXh0VG9wfXB4YCwgbGVmdDogYCR7Y29udGV4dExlZnR9cHhgIH1cIlxuICAgID5cblxuICAgIDwvQ3VzdG9tZXJDb250ZXh0TWVudT5cblxuICAgIDxDdXN0b21lclVwZGF0ZVxuICAgICAgICB2LWlmPVwic2hvd1VwZGF0ZUZvcm1cIlxuICAgICAgICA6Y3VzdG9tZXItaWQ9XCJwSWRcIlxuICAgICAgICA6bmFtZT1cInBOYW1lXCJcbiAgICAgICAgOmFkZHJlc3M9XCJwQWRkcmVzc1wiXG4gICAgICAgIDphZGRyZXNzLWNvbXBsZW1lbnQ9XCJwQWRkcmVzc0NvbXBsZW1lbnRcIlxuICAgICAgICA6emlwLWNvZGU9XCJwWmlwY29kZVwiXG4gICAgICAgIDpjaXR5PVwicENpdHlcIlxuICAgICAgICA6Y29udGFjdC1uYW1lPVwicENvbnRhY3ROYW1lXCJcbiAgICAgICAgOmNvbnRhY3QtcGhvbmU9XCJwQ29udGFjdFBob25lXCJcbiAgICAgICAgOmNvbnRhY3QtZW1haWw9XCJwQ29udGFjdEVtYWlsXCJcbiAgICAgICAgOnNpcmV0PVwicFNpcmV0XCJcbiAgICAgICAgOnN0eWxlPVwie3Bvc2l0aW9uOiBgYWJzb2x1dGVgLCB0b3A6IGAke3VwZGF0ZUZvcm1Ub3B9cHhgLCBsZWZ0OiBgJHt1cGRhdGVGb3JtTGVmdH1weGAgfVwiXG4gICAgICAgIEB1bmRvLXVwZGF0ZT1cImhpZGVVcGRhdGVGb3JtXCJcbiAgICAgICAgQGN1c3RvbWVyLXVwZGF0ZWQ9XCJjdXN0b21lclVwZGF0ZWRcIlxuICAgID5cbiAgICA8L0N1c3RvbWVyVXBkYXRlPlxuXG4gICAgPERhdGFUYWJsZVxuICAgICAgICB2LWlmPVwiIWxvYWRpbmdcIlxuICAgICAgICA6dmFsdWU9XCJjdXN0b21lcnNcIlxuICAgICAgICA6bGF6eT1cInRydWVcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDUwcHhcIlxuICAgICAgICB2LW1vZGVsOmZpbHRlcnM9XCJmaWx0ZXJzXCJcbiAgICAgICAgOnBhZ2luYXRvcj1cInRydWVcIlxuICAgICAgICByZW1vdmFibGVTb3J0XG4gICAgICAgIHN0cmlwZWRSb3dzXG4gICAgICAgIDp0b3RhbFJlY29yZHM9XCJ0b3RhbFJlY29yZHNcIlxuICAgICAgICA6cm93c1BlclBhZ2VPcHRpb25zPVwiYXBwQ29uZmlnLkRFRkFVTFRfQ0hPSUNFU19GT1JfVEFCTEVTXCJcbiAgICAgICAgOnJvd3M9XCJyb3dzUGVyUGFnZVwiXG4gICAgICAgIDpjbGFzcz1cIidkb2N1bWVudC10YWJsZSBjdXN0b21lcnMnXCJcbiAgICAgICAgQHBhZ2U9XCJvblBhZ2VDaGFuZ2VcIlxuICAgICAgICBAc29ydD1cIm9uU29ydFwiXG4gICAgICAgIHJlc2l6YWJsZUNvbHVtbnNcbiAgICAgICAgY29sdW1uUmVzaXplTW9kZT1cImZpdFwiXG4gICAgICAgIEByb3ctY29udGV4dG1lbnU9XCJjb250ZXh0TWVudVwiXG4gICAgICAgIDpyb3dDbGFzcz1cImdldFJvd0NsYXNzXCJcbiAgICA+XG4gICAgICAgIDx0ZW1wbGF0ZSAjcGFnaW5hdG9yZW5kPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBmbGV4LXJvdy1yZXZlcnNlXCI+XG5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHYtaWY9XCJjdXN0b21lcnMubGVuZ3RoID4gMFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNwYW0tY2xpY2stcHJldmVudCBiZy1zbGF0ZS0yMDAgaG92ZXI6Ymctc2xhdGUtNDAwIHB4LTMgcHktMiByb3VuZGVkLW1kIGZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCIgbGFiZWw9XCJFeHBvcnRcIiBAY2xpY2s9XCJleHBvcnRUb0V4Y2VsXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAgdi1pZj1cImV4Y2VsRmlsZVBhdGggPT09IG51bGxcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMy4zNzUgMTkuNWgxNy4yNW0tMTcuMjUgMGExLjEyNSAxLjEyNSAwIDAgMS0xLjEyNS0xLjEyNU0zLjM3NSAxOS41aDcuNWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNW0tOS43NSAwVjUuNjI1bTAgMTIuNzV2LTEuNWMwLS42MjEuNTA0LTEuMTI1IDEuMTI1LTEuMTI1bTE4LjM3NSAyLjYyNVY1LjYyNW0wIDEyLjc1YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1bTEuMTI1LTEuMTI1di0xLjVjMC0uNjIxLS41MDQtMS4xMjUtMS4xMjUtMS4xMjVtMCAzLjc1aC03LjVBMS4xMjUgMS4xMjUgMCAwIDEgMTIgMTguMzc1bTkuNzUtMTIuNzVjMC0uNjIxLS41MDQtMS4xMjUtMS4xMjUtMS4xMjVIMy4zNzVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjVtMTkuNSAwdjEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNU0yLjI1IDUuNjI1djEuNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1bTAgMGgxNy4yNW0tMTcuMjUgMGg3LjVjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNU0zLjM3NSA4LjI1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djEuNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1bTE3LjI1LTMuNzVoLTcuNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNW04LjYyNS0xLjEyNWMuNjIxIDAgMS4xMjUuNTA0IDEuMTI1IDEuMTI1djEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNW0tMTcuMjUgMGg3LjVtLTcuNSAwYy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djEuNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1TTEyIDEwLjg3NXYtMS41bTAgMS41YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1TTEyIDEwLjg3NWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1bS0yLjI1IDBjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNU0xMy4xMjUgMTJoNy41bS03LjUgMGMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNU0yMC42MjUgMTJjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNXYxLjVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVtLTE3LjI1IDBoNy41TTEyIDE0LjYyNXYtMS41bTAgMS41YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1TTEyIDE0LjYyNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1bS0yLjI1IDBjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNW0wIDEuNXYtMS41bTAgMGMwLS42MjEuNTA0LTEuMTI1IDEuMTI1LTEuMTI1bTAgMGg3LjVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHYtaWY9XCJleGNlbEZpbGVQYXRoXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEwLjUgMTkuNSAzIDEybTAgMCA3LjUtNy41TTMgMTJoMThcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndoaXRlc3BhY2Utbm93cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBleHBvcnQgZXhjZWxcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICB2LWlmPVwiZXhjZWxGaWxlUGF0aFwiXG4gICAgICAgICAgICAgICAgICAgIDpocmVmPVwiZXhjZWxGaWxlUGF0aFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwYW0tY2xpY2stcHJldmVudCAgYmctc2xhdGUtNDAwIGhvdmVyOmJnLXNsYXRlLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIHB4LTMgcHktMiByb3VuZGVkLW1kIGZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJFeHBvcnRcIlxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZD1cImV4cG9ydF9wcm9kdWl0cy54bHN4XCJcbiAgICAgICAgICAgICAgICA+XG5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJtOSAxMy41IDMgM20wIDAgMy0zbS0zIDN2LTZtMS4wNi00LjE5LTIuMTItMi4xMmExLjUgMS41IDAgMCAwLTEuMDYxLS40NEg0LjVBMi4yNSAyLjI1IDAgMCAwIDIuMjUgNnYxMmEyLjI1IDIuMjUgMCAwIDAgMi4yNSAyLjI1aDE1QTIuMjUgMi4yNSAwIDAgMCAyMS43NSAxOFY5YTIuMjUgMi4yNSAwIDAgMC0yLjI1LTIuMjVoLTUuMzc5YTEuNSAxLjUgMCAwIDEtMS4wNi0uNDRaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgVMOpbMOpY2hhcmdlclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvdGVtcGxhdGU+XG5cbiAgICAgICAgPGRpdiB2LWlmPVwiY3VzdG9tZXJzLmxlbmd0aCA9PT0gMCAmJiAhbG9hZGluZ1wiIGNsYXNzPVwidGV4dC14bCBiZy1hbWJlci0xMDAgcm91bmRlZC1tZCBwLVsyMHB4XSBtdC02IG1iLTZcIj5cbiAgICAgICAgICAgIFZvdXMgbidhdmV6IHBhcyBlbmNvcmUgYWpvdXTDqSBkZSBjbGllbnQuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJyZWZJZFwiIGhlYWRlcj1cIklEXCI+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cIm5hbWVcIiBoZWFkZXI9XCJOb21cIiBzb3J0YWJsZSA+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cImNpdHlcIiBoZWFkZXI9XCJWaWxsZVwiIHNvcnRhYmxlPjwvQ29sdW1uPlxuICAgICAgICA8Q29sdW1uIGZpZWxkPVwiY29udGFjdE5hbWVcIiBoZWFkZXI9XCJDb250YWN0XCIgc29ydGFibGU+PC9Db2x1bW4+XG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJjb250YWN0UGhvbmVcIiBoZWFkZXI9XCJUw6lsLlwiIHNvcnRhYmxlPjwvQ29sdW1uPlxuICAgICAgICA8Q29sdW1uIGZpZWxkPVwiY29udGFjdEVtYWlsXCIgaGVhZGVyPVwiRW1haWwuXCIgc29ydGFibGU+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cIlwiIGhlYWRlcj1cIkFjdGlvbnNcIiA+XG5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZSAjYm9keT1cInNsb3RQcm9wc1wiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC90ZW1wbGF0ZT5cblxuICAgICAgICA8L0NvbHVtbj5cblxuICAgIDwvRGF0YVRhYmxlPlxuXG4gICAgPHRlbXBsYXRlIHYtZWxzZT5cbiAgICAgICAgPGRpdiAgY2xhc3M9XCIgbXQtWzUwcHhdXCI+XG4gICAgICAgICAgICA8ZGl2IHYtZm9yPVwiaSBpbiAzXCIgOmtleT1cImlcIiBjbGFzcz1cInAtbWItMlwiPlxuICAgICAgICAgICAgICAgIDxTa2VsZXRvblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIzcmVtXCJcbiAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwiW1xuICAgICAgICAgICAgICAgICAgICAgICdtYi0yIHJvdW5kZWQtbWQgYW5pbWF0ZS1wdWxzZScsXG4gICAgICAgICAgICAgICAgICAgICAgaSA9PT0gMSA/ICdiZy15ZWxsb3ctNTAwJyA6ICdiZy1ncmF5LTIwMCdcbiAgICAgICAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3RlbXBsYXRlPlxuXG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuXG4gICAgLmFkZC1jdXN0b21lci1mb3JtLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmFkZC1jdXN0b21lci1mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nOjIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCA3cHggcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuPC9zdHlsZT4iLCJAdGFpbHdpbmQgYmFzZTtcbkB0YWlsd2luZCBjb21wb25lbnRzO1xuQHRhaWx3aW5kIHV0aWxpdGllczsiLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIFF1aWxsIEVkaXRvciB2Mi4wLjNcbiAqIGh0dHBzOi8vcXVpbGxqcy5jb21cbiAqIENvcHlyaWdodCAoYykgMjAxNy0yMDI0LCBTbGFiXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQsIEphc29uIENoZW5cbiAqIENvcHlyaWdodCAoYykgMjAxMywgc2FsZXNmb3JjZS5jb21cbiAqL1xuLnFsLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xbC1jb250YWluZXIucWwtZGlzYWJsZWQgLnFsLXRvb2x0aXAge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5xbC1jb250YWluZXI6bm90KC5xbC1kaXNhYmxlZCkgbGlbZGF0YS1saXN0PWNoZWNrZWRdID4gLnFsLXVpLCAucWwtY29udGFpbmVyOm5vdCgucWwtZGlzYWJsZWQpIGxpW2RhdGEtbGlzdD11bmNoZWNrZWRdID4gLnFsLXVpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucWwtY2xpcGJvYXJkIHtcbiAgbGVmdDogLTEwMDAwMHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xufVxuXG4ucWwtY2xpcGJvYXJkIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5xbC1lZGl0b3Ige1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb3VudGVyLXJlc2V0OiBsaXN0LTAgbGlzdC0xIGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDEycHggMTVweDtcbiAgdGFiLXNpemU6IDQ7XG4gIC1tb3otdGFiLXNpemU6IDQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ucWwtZWRpdG9yID4gKiB7XG4gIGN1cnNvcjogdGV4dDtcbn1cblxuLnFsLWVkaXRvciBwLCAucWwtZWRpdG9yIG9sLCAucWwtZWRpdG9yIHByZSwgLnFsLWVkaXRvciBibG9ja3F1b3RlLCAucWwtZWRpdG9yIGgxLCAucWwtZWRpdG9yIGgyLCAucWwtZWRpdG9yIGgzLCAucWwtZWRpdG9yIGg0LCAucWwtZWRpdG9yIGg1LCAucWwtZWRpdG9yIGg2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5Ac3VwcG9ydHMgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgcCwgLnFsLWVkaXRvciBoMSwgLnFsLWVkaXRvciBoMiwgLnFsLWVkaXRvciBoMywgLnFsLWVkaXRvciBoNCwgLnFsLWVkaXRvciBoNSwgLnFsLWVkaXRvciBoNiB7XG4gICAgY291bnRlci1zZXQ6IGxpc3QtMCBsaXN0LTEgbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBwLCAucWwtZWRpdG9yIGgxLCAucWwtZWRpdG9yIGgyLCAucWwtZWRpdG9yIGgzLCAucWwtZWRpdG9yIGg0LCAucWwtZWRpdG9yIGg1LCAucWwtZWRpdG9yIGg2IHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTAgbGlzdC0xIGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbi5xbC1lZGl0b3IgdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4ucWwtZWRpdG9yIHRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuLnFsLWVkaXRvciBvbCB7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnFsLWVkaXRvciBsaSA+IC5xbC11aTpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAtMS41ZW07XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMS4yZW07XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PWNoZWNrZWRdID4gLnFsLXVpLCAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD11bmNoZWNrZWRdID4gLnFsLXVpIHtcbiAgY29sb3I6ICM3Nzc7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PWJ1bGxldF0gPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogXCLigKJcIjtcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9Y2hlY2tlZF0gPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogXCLimJFcIjtcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9dW5jaGVja2VkXSA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKYkFwiO1xufVxuXG5Ac3VwcG9ydHMgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XSB7XG4gICAgY291bnRlci1zZXQ6IGxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG5Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LTA7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC0wLCBkZWNpbWFsKSBcIi4gXCI7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0xIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtMTtcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTEgPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihsaXN0LTEsIGxvd2VyLWFscGhhKSBcIi4gXCI7XG59XG5cbkBzdXBwb3J0cyAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0xIHtcbiAgICBjb3VudGVyLXNldDogbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0xIHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtMiB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LTI7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0yID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC0yLCBsb3dlci1yb21hbikgXCIuIFwiO1xufVxuXG5Ac3VwcG9ydHMgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMiB7XG4gICAgY291bnRlci1zZXQ6IGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0yIHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0zIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtMztcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTMgPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihsaXN0LTMsIGRlY2ltYWwpIFwiLiBcIjtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTMge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0zIHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTQge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC00O1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNCA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGxpc3QtNCwgbG93ZXItYWxwaGEpIFwiLiBcIjtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTQge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG5Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTQge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC01IHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtNTtcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTUgPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihsaXN0LTUsIGxvd2VyLXJvbWFuKSBcIi4gXCI7XG59XG5cbkBzdXBwb3J0cyAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC01IHtcbiAgICBjb3VudGVyLXNldDogbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG5Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTUge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTYge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC02O1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNiA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGxpc3QtNiwgZGVjaW1hbCkgXCIuIFwiO1xufVxuXG5Ac3VwcG9ydHMgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNiB7XG4gICAgY291bnRlci1zZXQ6IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG5Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTYge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNyB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LTc7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC03ID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC03LCBsb3dlci1hbHBoYSkgXCIuIFwiO1xufVxuXG5Ac3VwcG9ydHMgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNyB7XG4gICAgY291bnRlci1zZXQ6IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNyB7XG4gICAgY291bnRlci1yZXNldDogbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTgge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC04O1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtOCA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGxpc3QtOCwgbG93ZXItcm9tYW4pIFwiLiBcIjtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTgge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtOCB7XG4gICAgY291bnRlci1yZXNldDogbGlzdC05O1xuICB9XG59XG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtOSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LTk7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC05ID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC05LCBkZWNpbWFsKSBcIi4gXCI7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC0xOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDNlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiA0LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTEucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDNlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNC41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC0yOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDZlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMjpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiA3LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTIucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDZlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMi5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNy41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC0zOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDllbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMzpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAxMC41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC0zLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiA5ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTMucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwLjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTQ6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMTJlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNDpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAxMy41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC00LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMmVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC00LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMy41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC01Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDE1ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTU6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMTYuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTYuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNjpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAxOGVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC02Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDE5LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTYucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE4ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTYucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE5LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTc6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMjFlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNzpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAyMi41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC03LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAyMWVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC03LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAyMi41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC04Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDI0ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTg6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMjUuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtOC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjRlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtOC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjUuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtOTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAyN2VtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC05Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDI4LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTkucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI3ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTkucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI4LjVlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1kaXJlY3Rpb24tcnRsIHtcbiAgcGFkZGluZy1yaWdodDogMS41ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtZGlyZWN0aW9uLXJ0bCA+IC5xbC11aTpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMC4zZW07XG4gIG1hcmdpbi1yaWdodDogLTEuNWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucWwtZWRpdG9yIHRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5xbC1lZGl0b3IgdGFibGUgdGQge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1jb2RlLWJsb2NrLWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG59XG5cbi5xbC1lZGl0b3IgLnFsLXZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnFsLWVkaXRvciAucWwtdmlkZW8ucWwtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5xbC1lZGl0b3IgLnFsLXZpZGVvLnFsLWFsaWduLXJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1iZy1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWJnLXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjAwMDA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWJnLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOTA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWJnLXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWJnLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGEwMDtcbn1cblxuLnFsLWVkaXRvciAucWwtYmctYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNmM7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWJnLXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5M2Y7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWNvbG9yLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWNvbG9yLXJlZCB7XG4gIGNvbG9yOiAjZTYwMDAwO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1jb2xvci1vcmFuZ2Uge1xuICBjb2xvcjogI2Y5MDtcbn1cblxuLnFsLWVkaXRvciAucWwtY29sb3IteWVsbG93IHtcbiAgY29sb3I6ICNmZjA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWNvbG9yLWdyZWVuIHtcbiAgY29sb3I6ICMwMDhhMDA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWNvbG9yLWJsdWUge1xuICBjb2xvcjogIzA2Yztcbn1cblxuLnFsLWVkaXRvciAucWwtY29sb3ItcHVycGxlIHtcbiAgY29sb3I6ICM5M2Y7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWZvbnQtc2VyaWYge1xuICBmb250LWZhbWlseTogR2VvcmdpYSwgVGltZXMgTmV3IFJvbWFuLCBzZXJpZjtcbn1cblxuLnFsLWVkaXRvciAucWwtZm9udC1tb25vc3BhY2Uge1xuICBmb250LWZhbWlseTogTW9uYWNvLCBDb3VyaWVyIE5ldywgbW9ub3NwYWNlO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1zaXplLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLXNpemUtbGFyZ2Uge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1zaXplLWh1Z2Uge1xuICBmb250LXNpemU6IDIuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1kaXJlY3Rpb24tcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnFsLWVkaXRvciAucWwtYWxpZ24tanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5xbC1lZGl0b3IgLnFsLXVpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucWwtZWRpdG9yLnFsLWJsYW5rOjpiZWZvcmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjb250ZW50OiBhdHRyKGRhdGEtcGxhY2Vob2xkZXIpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxlZnQ6IDE1cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNXB4O1xufVxuXG4ucWwtc25vdy5xbC10b29sYmFyOmFmdGVyLCAucWwtc25vdyAucWwtdG9vbGJhcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24sIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG4gIHdpZHRoOiAyOHB4O1xufVxuXG4ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbiBzdmcsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbiBzdmcge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjphY3RpdmU6aG92ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjphY3RpdmU6aG92ZXIge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ucWwtc25vdy5xbC10b29sYmFyIGlucHV0LnFsLWltYWdlW3R5cGU9ZmlsZV0sIC5xbC1zbm93IC5xbC10b29sYmFyIGlucHV0LnFsLWltYWdlW3R5cGU9ZmlsZV0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cywgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQge1xuICBjb2xvcjogIzA2Yztcbn1cblxuLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLWZpbGwsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UucWwtZmlsbCB7XG4gIGZpbGw6ICMwNmM7XG59XG5cbi5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLXN0cm9rZSwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZSwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZSwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZSwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLXN0cm9rZSwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UtbWl0ZXIge1xuICBzdHJva2U6ICMwNmM7XG59XG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSB7XG4gICAgY29sb3I6ICM0NDQ7XG4gIH1cbiAgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UucWwtZmlsbCB7XG4gICAgZmlsbDogIzQ0NDtcbiAgfVxuICAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZSwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtc3Ryb2tlLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtc3Ryb2tlLW1pdGVyIHtcbiAgICBzdHJva2U6ICM0NDQ7XG4gIH1cbn1cbi5xbC1zbm93IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnFsLXNub3cgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5xbC1zbm93IC5xbC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWwtc25vdyAucWwtb3V0LWJvdHRvbSwgLnFsLXNub3cgLnFsLW91dC10b3Age1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAucWwtZmxpcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG59XG5cbi5xbC1zbm93IC5xbC1mb3JtYXRzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucWwtc25vdyAucWwtZm9ybWF0czphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnFsLXNub3cgLnFsLXN0cm9rZSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZTogIzQ0NDtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICBzdHJva2Utd2lkdGg6IDI7XG59XG5cbi5xbC1zbm93IC5xbC1zdHJva2UtbWl0ZXIge1xuICBmaWxsOiBub25lO1xuICBzdHJva2U6ICM0NDQ7XG4gIHN0cm9rZS1taXRlcmxpbWl0OiAxMDtcbiAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4ucWwtc25vdyAucWwtZmlsbCwgLnFsLXNub3cgLnFsLXN0cm9rZS5xbC1maWxsIHtcbiAgZmlsbDogIzQ0NDtcbn1cblxuLnFsLXNub3cgLnFsLWVtcHR5IHtcbiAgZmlsbDogbm9uZTtcbn1cblxuLnFsLXNub3cgLnFsLWV2ZW4ge1xuICBmaWxsLXJ1bGU6IGV2ZW5vZGQ7XG59XG5cbi5xbC1zbm93IC5xbC10aGluLCAucWwtc25vdyAucWwtc3Ryb2tlLnFsLXRoaW4ge1xuICBzdHJva2Utd2lkdGg6IDE7XG59XG5cbi5xbC1zbm93IC5xbC10cmFuc3BhcmVudCB7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuLnFsLXNub3cgLnFsLWRpcmVjdGlvbiBzdmc6bGFzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5xbC1zbm93IC5xbC1kaXJlY3Rpb24ucWwtYWN0aXZlIHN2ZzpsYXN0LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ucWwtc25vdyAucWwtZGlyZWN0aW9uLnFsLWFjdGl2ZSBzdmc6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGgxIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgaDIge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGgzIHtcbiAgZm9udC1zaXplOiAxLjE3ZW07XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgaDQge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLnFsLXNub3cgLnFsLWVkaXRvciBoNSB7XG4gIGZvbnQtc2l6ZTogMC44M2VtO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGg2IHtcbiAgZm9udC1zaXplOiAwLjY3ZW07XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgY29kZSwgLnFsLXNub3cgLnFsLWVkaXRvciAucWwtY29kZS1ibG9jay1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgLnFsLWNvZGUtYmxvY2stY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGNvZGUge1xuICBmb250LXNpemU6IDg1JTtcbiAgcGFkZGluZzogMnB4IDRweDtcbn1cblxuLnFsLXNub3cgLnFsLWVkaXRvciAucWwtY29kZS1ibG9jay1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyNDFmO1xuICBjb2xvcjogI2Y4ZjhmMjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyIHtcbiAgY29sb3I6ICM0NDQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXItbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLWxhYmVsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLW9wdGlvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci1vcHRpb25zIC5xbC1waWNrZXItaXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZXhwYW5kZWQgLnFsLXBpY2tlci1sYWJlbCB7XG4gIGNvbG9yOiAjY2NjO1xuICB6LWluZGV4OiAyO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWV4cGFuZGVkIC5xbC1waWNrZXItbGFiZWwgLnFsLWZpbGwge1xuICBmaWxsOiAjY2NjO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWV4cGFuZGVkIC5xbC1waWNrZXItbGFiZWwgLnFsLXN0cm9rZSB7XG4gIHN0cm9rZTogI2NjYztcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLW9wdGlvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuXG4ucWwtc25vdyAucWwtY29sb3ItcGlja2VyLCAucWwtc25vdyAucWwtaWNvbi1waWNrZXIge1xuICB3aWR0aDogMjhweDtcbn1cblxuLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLWxhYmVsLCAucWwtc25vdyAucWwtaWNvbi1waWNrZXIgLnFsLXBpY2tlci1sYWJlbCB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1sYWJlbCBzdmcsIC5xbC1zbm93IC5xbC1pY29uLXBpY2tlciAucWwtcGlja2VyLWxhYmVsIHN2ZyB7XG4gIHJpZ2h0OiA0cHg7XG59XG5cbi5xbC1zbm93IC5xbC1pY29uLXBpY2tlciAucWwtcGlja2VyLW9wdGlvbnMge1xuICBwYWRkaW5nOiA0cHggMDtcbn1cblxuLnFsLXNub3cgLnFsLWljb24tcGlja2VyIC5xbC1waWNrZXItaXRlbSB7XG4gIGhlaWdodDogMjRweDtcbiAgd2lkdGg6IDI0cHg7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1vcHRpb25zIHtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgd2lkdGg6IDE1MnB4O1xufVxuXG4ucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItaXRlbSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW46IDJweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDE2cHg7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXI6bm90KC5xbC1jb2xvci1waWNrZXIpOm5vdCgucWwtaWNvbi1waWNrZXIpIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogLTlweDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMThweDtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9XCJcIl0pOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWxhYmVsW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD1cIlwiXSk6OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWxbZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPVwiXCJdKTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPVwiXCJdKTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD1cIlwiXSk6OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9XCJcIl0pOjpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciB7XG4gIHdpZHRoOiA5OHB4O1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWxhYmVsOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJOb3JtYWxcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiMVwiXTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjFcIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiSGVhZGluZyAxXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjJcIl06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIyXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkhlYWRpbmcgMlwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9XCIzXCJdOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiM1wiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJIZWFkaW5nIDNcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiNFwiXTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjRcIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiSGVhZGluZyA0XCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjVcIl06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCI1XCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkhlYWRpbmcgNVwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9XCI2XCJdOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiNlwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJIZWFkaW5nIDZcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIxXCJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIyXCJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjNcIl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS4xN2VtO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjRcIl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjVcIl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMC44M2VtO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjZcIl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMC42N2VtO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQge1xuICB3aWR0aDogMTA4cHg7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWxhYmVsOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiU2FucyBTZXJpZlwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPXNlcmlmXTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9c2VyaWZdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlNlcmlmXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9bW9ub3NwYWNlXTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bW9ub3NwYWNlXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJNb25vc3BhY2VcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPXNlcmlmXTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIFRpbWVzIE5ldyBSb21hbiwgc2VyaWY7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1tb25vc3BhY2VdOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogTW9uYWNvLCBDb3VyaWVyIE5ldywgbW9ub3NwYWNlO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUge1xuICB3aWR0aDogOThweDtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWw6OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJOb3JtYWxcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1zbWFsbF06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPXNtYWxsXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJTbWFsbFwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPWxhcmdlXTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bGFyZ2VdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkxhcmdlXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9aHVnZV06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPWh1Z2VdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkh1Z2VcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPXNtYWxsXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bGFyZ2VdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1odWdlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAzMnB4O1xufVxuXG4ucWwtc25vdyAucWwtY29sb3ItcGlja2VyLnFsLWJhY2tncm91bmQgLnFsLXBpY2tlci1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlci5xbC1jb2xvciAucWwtcGlja2VyLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ucWwtY29kZS1ibG9jay1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xbC1jb2RlLWJsb2NrLWNvbnRhaW5lciAucWwtdWkge1xuICByaWdodDogNXB4O1xuICB0b3A6IDVweDtcbn1cblxuLnFsLXRvb2xiYXIucWwtc25vdyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogOHB4O1xufVxuXG4ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1mb3JtYXRzIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1waWNrZXItbGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnFsLXRvb2xiYXIucWwtc25vdyAucWwtcGlja2VyLW9wdGlvbnMge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpIDAgMnB4IDhweDtcbn1cblxuLnFsLXRvb2xiYXIucWwtc25vdyAucWwtcGlja2VyLnFsLWV4cGFuZGVkIC5xbC1waWNrZXItbGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjY2M7XG59XG5cbi5xbC10b29sYmFyLnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLW9wdGlvbnMge1xuICBib3JkZXItY29sb3I6ICNjY2M7XG59XG5cbi5xbC10b29sYmFyLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQsIC5xbC10b29sYmFyLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLWl0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwMDA7XG59XG5cbi5xbC10b29sYmFyLnFsLXNub3cgKyAucWwtY29udGFpbmVyLnFsLXNub3cge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2RkZDtcbiAgY29sb3I6ICM0NDQ7XG4gIHBhZGRpbmc6IDVweCAxMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJWaXNpdCBVUkw6XCI7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG4gIHdpZHRoOiAxNzBweDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAgYS5xbC1wcmV2aWV3IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcCBhLnFsLWFjdGlvbjo6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICBjb250ZW50OiBcIkVkaXRcIjtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAgYS5xbC1yZW1vdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiUmVtb3ZlXCI7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwIGEge1xuICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAucWwtZWRpdGluZyBhLnFsLXByZXZpZXcsIC5xbC1zbm93IC5xbC10b29sdGlwLnFsLWVkaXRpbmcgYS5xbC1yZW1vdmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcC5xbC1lZGl0aW5nIGlucHV0W3R5cGU9dGV4dF0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwLnFsLWVkaXRpbmcgYS5xbC1hY3Rpb246OmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBjb250ZW50OiBcIlNhdmVcIjtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXBbZGF0YS1tb2RlPWxpbmtdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkVudGVyIGxpbms6XCI7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwW2RhdGEtbW9kZT1mb3JtdWxhXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJFbnRlciBmb3JtdWxhOlwiO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcFtkYXRhLW1vZGU9dmlkZW9dOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkVudGVyIHZpZGVvOlwiO1xufVxuXG4ucWwtc25vdyBhIHtcbiAgY29sb3I6ICMwNmM7XG59XG5cbi5xbC1jb250YWluZXIucWwtc25vdyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG59XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIG5vdHlmLWZhZGVpbnVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG5vdHlmLWZhZGVpbnVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbm90eWYtZmFkZWlubGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNSUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBub3R5Zi1mYWRlaW5sZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbm90eWYtZmFkZW91dHJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNSUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG5vdHlmLWZhZGVvdXRyaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIG5vdHlmLWZhZGVvdXRkb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG5vdHlmLWZhZGVvdXRkb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcmlwcGxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSk7XG4gIH1cbn1cbi5ub3R5ZiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2ZmZjtcbiAgei1pbmRleDogOTk5OTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLm5vdHlmX19pY29uLS1lcnJvciwgLm5vdHlmX19pY29uLS1zdWNjZXNzIHtcbiAgaGVpZ2h0OiAyMXB4O1xuICB3aWR0aDogMjFweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5vdHlmX19pY29uLS1lcnJvcjphZnRlciwgLm5vdHlmX19pY29uLS1lcnJvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbGVmdDogOXB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIHRvcDogNXB4O1xufVxuXG4ubm90eWZfX2ljb24tLWVycm9yOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLm5vdHlmX19pY29uLS1lcnJvcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5ub3R5Zl9faWNvbi0tc3VjY2VzczphZnRlciwgLm5vdHlmX19pY29uLS1zdWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ubm90eWZfX2ljb24tLXN1Y2Nlc3M6YWZ0ZXIge1xuICBoZWlnaHQ6IDZweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdG9wOiA5cHg7XG4gIGxlZnQ6IDZweDtcbn1cblxuLm5vdHlmX19pY29uLS1zdWNjZXNzOmJlZm9yZSB7XG4gIGhlaWdodDogMTFweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0b3A6IDVweDtcbiAgbGVmdDogMTBweDtcbn1cblxuLm5vdHlmX190b2FzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vdHlmLWZhZGVpbnVwIDAuM3MgZWFzZS1pbiBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiBub3R5Zi1mYWRlaW51cCAwLjNzIGVhc2UtaW4gZm9yd2FyZHM7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLm5vdHlmX190b2FzdC0tZGlzYXBwZWFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAtd2Via2l0LWFuaW1hdGlvbjogbm90eWYtZmFkZW91dGRvd24gMC4zcyBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiBub3R5Zi1mYWRlb3V0ZG93biAwLjNzIGZvcndhcmRzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG59XG5cbi5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciAubm90eWZfX2ljb24sIC5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciAubm90eWZfX21lc3NhZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbjogbm90eWYtZmFkZW91dGRvd24gMC4zcyBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiBub3R5Zi1mYWRlb3V0ZG93biAwLjNzIGZvcndhcmRzO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciAubm90eWZfX2Rpc21pc3Mge1xuICAtd2Via2l0LWFuaW1hdGlvbjogbm90eWYtZmFkZW91dHJpZ2h0IDAuM3MgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogbm90eWYtZmFkZW91dHJpZ2h0IDAuM3MgZm9yd2FyZHM7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLm5vdHlmX190b2FzdC0tZGlzYXBwZWFyIC5ub3R5Zl9fbWVzc2FnZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjA1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjA1cztcbn1cblxuLm5vdHlmX190b2FzdC0tdXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubm90eWZfX3RvYXN0LS1sb3dlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5ub3R5Zl9fdG9hc3QtLWRpc21pc3NpYmxlIC5ub3R5Zl9fd3JhcHBlciB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG5cbi5ub3R5Zl9fcmlwcGxlIHtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgd2lkdGg6IDQwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoLTUxJSkgdHJhbnNsYXRlWCgxMyUpO1xuICB6LWluZGV4OiA1O1xuICAtd2Via2l0LWFuaW1hdGlvbjogcmlwcGxlIDAuNHMgZWFzZS1vdXQgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogcmlwcGxlIDAuNHMgZWFzZS1vdXQgZm9yd2FyZHM7XG59XG5cbi5ub3R5Zl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ubm90eWZfX2ljb24ge1xuICB3aWR0aDogMjJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuM2VtO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWFuaW1hdGlvbjogbm90eWYtZmFkZWludXAgMC4zcyBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiBub3R5Zi1mYWRlaW51cCAwLjNzIGZvcndhcmRzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG59XG5cbi5ub3R5Zl9fZGlzbWlzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMjZweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vdHlmLWZhZGVpbmxlZnQgMC4zcyBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiBub3R5Zi1mYWRlaW5sZWZ0IDAuM3MgZm9yd2FyZHM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjM1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjM1cztcbiAgb3BhY2l0eTogMDtcbn1cblxuLm5vdHlmX19kaXNtaXNzLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ub3R5Zl9fZGlzbWlzcy1idG46YWZ0ZXIsIC5ub3R5Zl9fZGlzbWlzcy1idG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogY2FsYyg1MCUgLSAxcHgpO1xuICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbn1cblxuLm5vdHlmX19kaXNtaXNzLWJ0bjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5ub3R5Zl9fZGlzbWlzcy1idG46YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4ubm90eWZfX2Rpc21pc3MtYnRuOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4ubm90eWZfX2Rpc21pc3MtYnRuOmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLm5vdHlmX19tZXNzYWdlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWFuaW1hdGlvbjogbm90eWYtZmFkZWludXAgMC4zcyBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiBub3R5Zi1mYWRlaW51cCAwLjNzIGZvcndhcmRzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAubm90eWYge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm5vdHlmX19yaXBwbGUge1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgfVxuICAubm90eWZfX3RvYXN0IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiAwIC0ycHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEzKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubm90eWZfX2Rpc21pc3Mge1xuICAgIHdpZHRoOiA1NnB4O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuLnNwaW4ge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xuICBjb2xvcjogIzI5ODg0YTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuYm9keS5sb2dpbiB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4vLi4vaW1hZ2VzL2NlcmNsZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgcmdiKDMwLCA0MSwgNTkpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5idXR0b24uc3dhbDItY29uZmlybSB7XG4gIGJhY2tncm91bmQ6ICMwZjY2NzQ7XG59XG5idXR0b24uc3dhbDItY29uZmlybS5iZy1jeWFuLTYwMCB7XG4gIGJhY2tncm91bmQ6ICMwODkxYjI7XG59XG5cbi5zd2FsMi1odG1sLWNvbnRhaW5lciBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzI0MjQyNDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2FsMi1odG1sLWNvbnRhaW5lciBpbnB1dCwgLnN3YWwyLWh0bWwtY29udGFpbmVyIHNlbGVjdCB7XG4gIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTUwcHg7XG59XG4uc3dhbDItaHRtbC1jb250YWluZXIgaW5wdXQ6Zm9jdXMsIC5zd2FsMi1odG1sLWNvbnRhaW5lciBpbnB1dDphY3RpdmUsIC5zd2FsMi1odG1sLWNvbnRhaW5lciBzZWxlY3Q6Zm9jdXMsIC5zd2FsMi1odG1sLWNvbnRhaW5lciBzZWxlY3Q6YWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmZvcm0gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbmZvcm0gZGl2Om5vdCgubm8tbSkge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5mb3JtIGRpdjpub3QoLnJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuZm9ybSBkaXYuYWRqdXN0IGRpdiB7XG4gIHdpZHRoOiA1MCU7XG59XG5mb3JtIGRpdiBsYWJlbCB7XG4gIGNvbG9yOiAjY2NjO1xufVxuZm9ybSBkaXYgLmhlbHAtdGV4dCB7XG4gIGNvbG9yOiAjY2NjO1xufVxuZm9ybSBkaXYgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGNvbG9yOiAjMjQyNDI0O1xufVxuXG4uZG9jdW1lbnQgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICMyNDI0MjQ7XG59XG4uZG9jdW1lbnQgdGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG59XG5cbi5kb2N1bWVudC10YWJsZS5pbnZvaWNlIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgQGFwcGx5IGJnLWdyZWVuLTUwMDtcbn1cbi5kb2N1bWVudC10YWJsZS5pbnZvaWNlIG5hdiBidXR0b25bZGF0YS1wLWFjdGl2ZT10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNCQkY3RDAgIWltcG9ydGFudDtcbn1cbi5kb2N1bWVudC10YWJsZS5xdW90YXRpb24gdGFibGUgdGhlYWQgdHIgdGgge1xuICBiYWNrZ3JvdW5kOiAjRUE1ODBDO1xufVxuLmRvY3VtZW50LXRhYmxlLnF1b3RhdGlvbiBuYXYgYnV0dG9uW2RhdGEtcC1hY3RpdmU9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjZWZiNTk3ICFpbXBvcnRhbnQ7XG59XG4uZG9jdW1lbnQtdGFibGUucHJvZHVjdHMgdGFibGUgdGhlYWQgdHIgdGgge1xuICBAYXBwbHkgYmctY3lhbi01MDA7XG59XG4uZG9jdW1lbnQtdGFibGUucHJvZHVjdHMgbmF2IGJ1dHRvbltkYXRhLXAtYWN0aXZlPXRydWVdIHtcbiAgYmFja2dyb3VuZDogI2FkZWFlYyAhaW1wb3J0YW50O1xufVxuLmRvY3VtZW50LXRhYmxlLmN1c3RvbWVycyB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gIEBhcHBseSBiZy1hbWJlci00MDA7XG59XG4uZG9jdW1lbnQtdGFibGUuY3VzdG9tZXJzIG5hdiBidXR0b25bZGF0YS1wLWFjdGl2ZT10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNmZmVmYTYgIWltcG9ydGFudDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0ciB7XG4gIGhlaWdodDogNDVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdHIgdGgge1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0ciB0ZCB7XG4gIHBhZGRpbmc6IDhweCA1cHg7XG4gIGhlaWdodDogNDVweDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0aGVhZCB7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xufVxuLmRvY3VtZW50LXRhYmxlIHRhYmxlIHRoZWFkIHRyIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGhlYWQgdHIgdGgge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6ICMyNDI0MjQ7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGhlYWQgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA4cHggMCAwIDA7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGhlYWQgdHIgdGg6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgOHB4IDAgMDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0aGVhZCB0ciB0aCBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjQxLCAyNDUsIDI0OSk7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDQ0M7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNDQ0M7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICBAYXBwbHkgYmctc2xhdGUtMjAwO1xufVxuLmRvY3VtZW50LXRhYmxlIG5hdiBbZGF0YS1wYy1uYW1lPXBjcGFnaW5hdG9yXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA1cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0gYnV0dG9uW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbi5kb2N1bWVudC10YWJsZSBuYXYgW2RhdGEtcGMtbmFtZT1wY3BhZ2luYXRvcl0gW2RhdGEtcGMtc2VjdGlvbj1jb250ZW50XSBbZGF0YS1wYy1ncm91cC1zZWN0aW9uPXBhZ2Vkcm9wZG93bl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGdhcDogOHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0gW2RhdGEtcGMtc2VjdGlvbj1wYWdlc10ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDNweDtcbn1cbi5kb2N1bWVudC10YWJsZSBuYXYgW2RhdGEtcGMtbmFtZT1wY3BhZ2luYXRvcl0gW2RhdGEtcGMtc2VjdGlvbj1jb250ZW50XSBbZGF0YS1wYy1zZWN0aW9uPXBhZ2VzXSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0gW2RhdGEtcGMtc2VjdGlvbj1wYWdlc10gYnV0dG9uW2RhdGEtcC1hY3RpdmU9dHJ1ZV0ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICM2QkJCQjI7XG59XG5cbnVsW2RhdGEtcGMtc2VjdGlvbj1saXN0XSB7XG4gIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogM3B4O1xufVxudWxbZGF0YS1wYy1zZWN0aW9uPWxpc3RdIGxpIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGZhLWJ1dHRvbiB7XG4gIEBhcHBseSBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IHctbWF4IHNoYWRvdy1tZCBpdGVtcy1jZW50ZXI7XG59XG4uZGZhLWJ1dHRvbi5sYXJnZSB7XG4gIEBhcHBseSBweC03IHB5LTQgcm91bmRlZC1tZCBmbGV4IHctbWF4IHNoYWRvdy1tZCBpdGVtcy1jZW50ZXI7XG59XG4uZGZhLWJ1dHRvbi5jaXJjbGUge1xuICBwYWRkaW5nOiAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5kZmEtYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50YWJsZS5kZmEtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlLmRmYS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gIEBhcHBseSB0ZXh0LWxlZnQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDA7XG59XG50YWJsZS5kZmEtdGFibGUgdGJvZHkgdHI6bGFzdC1vZi10eXBlIHRkIHtcbiAgQGFwcGx5IHAtNCBwbC04IHRleHQtZ3JheS01MDAgYm9yZGVyLTA7XG59XG50YWJsZS5kZmEtdGFibGUgdGJvZHkgdHIgdGQge1xuICBAYXBwbHkgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTg7XG59XG50YWJsZS5kZmEtdGFibGUgdGJvZHkgdHIgdGQ6bm90KC50ZXh0LXdoaXRlKSB7XG4gIEBhcHBseSB0ZXh0LWdyYXktNTAwO1xufVxuXG4uY2hpcCB7XG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBweC0zIHB5LTIgYmctZ3JlZW4tMjAwIHRleHQtc20gcm91bmRlZC1tZDtcbn1cbi5jaGlwLmRyYWZ0IHtcbiAgQGFwcGx5IGJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTcwMDtcbn1cbi5jaGlwLmlzc3VlZCB7XG4gIEBhcHBseSBiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi03MDA7XG59XG4uY2hpcC5zZW50IHtcbiAgQGFwcGx5IGJnLWN5YW4tMTAwIHRleHQtY3lhbi03MDA7XG59XG4uY2hpcC5jbGlja2VkIHtcbiAgQGFwcGx5IGJnLWFtYmVyLTEwMCB0ZXh0LWFtYmVyLTcwMDtcbn1cbi5jaGlwLnJlYWQge1xuICBAYXBwbHkgYmctb3JhbmdlLTEwMCB0ZXh0LW9yYW5nZS03MDA7XG59XG4uY2hpcC5wYWlkIHtcbiAgQGFwcGx5IGJnLXJlZC01MDAgdGV4dC13aGl0ZTtcbn1cbi5jaGlwLmludm9pY2VkIHtcbiAgQGFwcGx5IGJnLXJlZC0xMDAgdGV4dC1yZWQtNzAwO1xufVxuLmNoaXAucXVvdGF0aW9uLXJlZiB7XG4gIEBhcHBseSBiZy1jeWFuLTgwMDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmNoaXAuaW52b2ljZS1yZWYge1xuICBAYXBwbHkgYmctY3lhbi04MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnN3YWwyLWNvbmZpcm0ud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZjg4MDA7XG59XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBhbmltYXRpb246IGZhZGUtaW4gMC4zcyBsaW5lYXI7XG4gIHotaW5kZXg6IDk5NTtcbn1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDQwdnc7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDElKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiA1MHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgei1pbmRleDogOTk5O1xufVxuLnNsaWRlci52aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICBib3gtc2hhZG93OiAwIC0zMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjUpLCAwIC02MHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnNsaWRlciBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucWwtdG9vbGJhci5xbC1zbm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAwO1xufVxuXG4ucWwtY29udGFpbmVyLnFsLXNub3cge1xuICBtaW4taGVpZ2h0OiAxNTBweCAhaW1wb3J0YW50O1xufVxuXG4uY29udGV4dC1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgYm94LXNoYWRvdzogNHB4IDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpLCA4cHggOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGFuaW1hdGlvbjogZmFkZS1pbiAwLjJzIGxpbmVhcjtcbn1cbi5jb250ZXh0LW1lbnUgaHIge1xuICBtYXJnaW46IDdweCAwO1xufVxuLmNvbnRleHQtbWVudSBsaSB7XG4gIHRyYW5zaXRpb246IDAuMjVzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiAzcHggMTBweDtcbn1cbi5jb250ZXh0LW1lbnUgbGkudGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5jb250ZXh0LW1lbnUgbGkubm8tcCB7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuLmNvbnRleHQtbWVudSBsaSBhIHtcbiAgdHJhbnNpdGlvbjogMC4yNXM7XG4gIGNvbG9yOiAjZDBkMGQwO1xuICB0ZXh0LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uY29udGV4dC1tZW51IGxpIGE6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wYXltZW50LW5vdGlmLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBAYXBwbHkgYmctZ3JheS04MDA7XG59XG4ucGF5bWVudC1ub3RpZi1jb250YWluZXIgLmxvZ28ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnBheW1lbnQtbm90aWYtY29udGFpbmVyIC5wYXltZW50LWluZm8ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyOiAxcHg7XG4gIGJveC1zaGFkb3c6IDEwcHggMTBweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgd2lkdGg6IDU1MHB4O1xuICBtYXgtd2lkdGg6IDkwdnc7XG59XG4ucGF5bWVudC1ub3RpZi1jb250YWluZXIgLnBheW1lbnQtaW5mbyAuaGVhZCB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHggMTJweCAwIDA7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgcGFkZGluZzogMjVweCAwO1xufVxuLnBheW1lbnQtbm90aWYtY29udGFpbmVyIC5wYXltZW50LWluZm8gLmNvbnRlbnQge1xuICBwYWRkaW5nOiAyNXB4O1xufVxuLnBheW1lbnQtbm90aWYtY29udGFpbmVyIC5wYXltZW50LWluZm8gLmNvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLnBheW1lbnQtbm90aWYtY29udGFpbmVyIC5wYXltZW50LWluZm8gLmNvbnRlbnQgcC5yZWNlaXB0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuLnBheW1lbnQtbm90aWYtY29udGFpbmVyIC5wYXltZW50LWluZm8gLmNvbnRlbnQgcCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59IiwiLyohXG4gKiBRdWlsbCBFZGl0b3IgdjIuMC4zXG4gKiBodHRwczovL3F1aWxsanMuY29tXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyNCwgU2xhYlxuICogQ29weXJpZ2h0IChjKSAyMDE0LCBKYXNvbiBDaGVuXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMsIHNhbGVzZm9yY2UuY29tXG4gKi9cbi5xbC1jb250YWluZXJ7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxM3B4O2hlaWdodDoxMDAlO21hcmdpbjowO3Bvc2l0aW9uOnJlbGF0aXZlfS5xbC1jb250YWluZXIucWwtZGlzYWJsZWQgLnFsLXRvb2x0aXB7dmlzaWJpbGl0eTpoaWRkZW59LnFsLWNvbnRhaW5lcjpub3QoLnFsLWRpc2FibGVkKSBsaVtkYXRhLWxpc3Q9Y2hlY2tlZF0gPiAucWwtdWksLnFsLWNvbnRhaW5lcjpub3QoLnFsLWRpc2FibGVkKSBsaVtkYXRhLWxpc3Q9dW5jaGVja2VkXSA+IC5xbC11aXtjdXJzb3I6cG9pbnRlcn0ucWwtY2xpcGJvYXJke2xlZnQ6LTEwMDAwMHB4O2hlaWdodDoxcHg7b3ZlcmZsb3cteTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJX0ucWwtY2xpcGJvYXJkIHB7bWFyZ2luOjA7cGFkZGluZzowfS5xbC1lZGl0b3J7Ym94LXNpemluZzpib3JkZXItYm94O2NvdW50ZXItcmVzZXQ6bGlzdC0wIGxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O2xpbmUtaGVpZ2h0OjEuNDI7aGVpZ2h0OjEwMCU7b3V0bGluZTpub25lO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjEycHggMTVweDt0YWItc2l6ZTo0Oy1tb3otdGFiLXNpemU6NDt0ZXh0LWFsaWduOmxlZnQ7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOmJyZWFrLXdvcmR9LnFsLWVkaXRvciA+ICp7Y3Vyc29yOnRleHR9LnFsLWVkaXRvciBwLC5xbC1lZGl0b3Igb2wsLnFsLWVkaXRvciBwcmUsLnFsLWVkaXRvciBibG9ja3F1b3RlLC5xbC1lZGl0b3IgaDEsLnFsLWVkaXRvciBoMiwucWwtZWRpdG9yIGgzLC5xbC1lZGl0b3IgaDQsLnFsLWVkaXRvciBoNSwucWwtZWRpdG9yIGg2e21hcmdpbjowO3BhZGRpbmc6MH1Ac3VwcG9ydHMgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgcCwucWwtZWRpdG9yIGgxLC5xbC1lZGl0b3IgaDIsLnFsLWVkaXRvciBoMywucWwtZWRpdG9yIGg0LC5xbC1lZGl0b3IgaDUsLnFsLWVkaXRvciBoNntjb3VudGVyLXNldDpsaXN0LTAgbGlzdC0xIGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgcCwucWwtZWRpdG9yIGgxLC5xbC1lZGl0b3IgaDIsLnFsLWVkaXRvciBoMywucWwtZWRpdG9yIGg0LC5xbC1lZGl0b3IgaDUsLnFsLWVkaXRvciBoNntjb3VudGVyLXJlc2V0Omxpc3QtMCBsaXN0LTEgbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19LnFsLWVkaXRvciB0YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9LnFsLWVkaXRvciB0ZHtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzoycHggNXB4fS5xbC1lZGl0b3Igb2x7cGFkZGluZy1sZWZ0OjEuNWVtfS5xbC1lZGl0b3IgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmU7cGFkZGluZy1sZWZ0OjEuNWVtO3Bvc2l0aW9uOnJlbGF0aXZlfS5xbC1lZGl0b3IgbGkgPiAucWwtdWk6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0Oi0xLjVlbTttYXJnaW4tcmlnaHQ6LjNlbTt0ZXh0LWFsaWduOnJpZ2h0O3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxLjJlbX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1jaGVja2VkXSA+IC5xbC11aSwucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD11bmNoZWNrZWRdID4gLnFsLXVpe2NvbG9yOiM3Nzd9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9YnVsbGV0XSA+IC5xbC11aTpiZWZvcmV7Y29udGVudDonXFwyMDIyJ30ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1jaGVja2VkXSA+IC5xbC11aTpiZWZvcmV7Y29udGVudDonXFwyNjExJ30ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD11bmNoZWNrZWRdID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OidcXDI2MTAnfUBzdXBwb3J0cyAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Rde2NvdW50ZXItc2V0Omxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX1Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF17Y291bnRlci1yZXNldDpsaXN0LTEgbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF17Y291bnRlci1pbmNyZW1lbnQ6bGlzdC0wfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC0wLCBkZWNpbWFsKSAnLiAnfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0xe2NvdW50ZXItaW5jcmVtZW50Omxpc3QtMX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtMSA+IC5xbC11aTpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtMSwgbG93ZXItYWxwaGEpICcuICd9QHN1cHBvcnRzIChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTF7Y291bnRlci1zZXQ6bGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19QHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0xe2NvdW50ZXItcmVzZXQ6bGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTJ7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC0yfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0yID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC0yLCBsb3dlci1yb21hbikgJy4gJ31Ac3VwcG9ydHMgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMntjb3VudGVyLXNldDpsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMntjb3VudGVyLXJlc2V0Omxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTN7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC0zfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0zID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC0zLCBkZWNpbWFsKSAnLiAnfUBzdXBwb3J0cyAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0ze2NvdW50ZXItc2V0Omxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX1Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTN7Y291bnRlci1yZXNldDpsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTR7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC00fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC00ID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC00LCBsb3dlci1hbHBoYSkgJy4gJ31Ac3VwcG9ydHMgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNHtjb3VudGVyLXNldDpsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX1Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTR7Y291bnRlci1yZXNldDpsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNXtjb3VudGVyLWluY3JlbWVudDpsaXN0LTV9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTUgPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTUsIGxvd2VyLXJvbWFuKSAnLiAnfUBzdXBwb3J0cyAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC01e2NvdW50ZXItc2V0Omxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19QHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC01e2NvdW50ZXItcmVzZXQ6bGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNntjb3VudGVyLWluY3JlbWVudDpsaXN0LTZ9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTYgPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTYsIGRlY2ltYWwpICcuICd9QHN1cHBvcnRzIChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTZ7Y291bnRlci1zZXQ6bGlzdC03IGxpc3QtOCBsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNntjb3VudGVyLXJlc2V0Omxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtN3tjb3VudGVyLWluY3JlbWVudDpsaXN0LTd9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTcgPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTcsIGxvd2VyLWFscGhhKSAnLiAnfUBzdXBwb3J0cyAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC03e2NvdW50ZXItc2V0Omxpc3QtOCBsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtN3tjb3VudGVyLXJlc2V0Omxpc3QtOCBsaXN0LTl9fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC04e2NvdW50ZXItaW5jcmVtZW50Omxpc3QtOH0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtOCA+IC5xbC11aTpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtOCwgbG93ZXItcm9tYW4pICcuICd9QHN1cHBvcnRzIChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTh7Y291bnRlci1zZXQ6bGlzdC05fX1Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTh7Y291bnRlci1yZXNldDpsaXN0LTl9fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC05e2NvdW50ZXItaW5jcmVtZW50Omxpc3QtOX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtOSA+IC5xbC11aTpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtOSwgZGVjaW1hbCkgJy4gJ30ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDozZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDo0LjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6M2VtfS5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTEucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjQuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC0yOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjZlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC0yOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjcuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC0yLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDo2ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMi5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6Ny41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTM6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6OWVtfS5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTM6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MTAuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC0zLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDo5ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMy5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTAuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC00Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjEyZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNDpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoxMy41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTQucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjEyZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTMuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC01Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjE1ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoxNi41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTUucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE1ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTYuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC02Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjE4ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNjpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoxOS41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTYucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE4ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNi5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTkuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC03Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjIxZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNzpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoyMi41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTcucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjIxZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNy5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjIuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC04Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjI0ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtODpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoyNS41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTgucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjI0ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtOC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjUuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC05Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjI3ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtOTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoyOC41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTkucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjI3ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtOS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjguNWVtfS5xbC1lZGl0b3IgbGkucWwtZGlyZWN0aW9uLXJ0bHtwYWRkaW5nLXJpZ2h0OjEuNWVtfS5xbC1lZGl0b3IgbGkucWwtZGlyZWN0aW9uLXJ0bCA+IC5xbC11aTpiZWZvcmV7bWFyZ2luLWxlZnQ6LjNlbTttYXJnaW4tcmlnaHQ6LTEuNWVtO3RleHQtYWxpZ246bGVmdH0ucWwtZWRpdG9yIHRhYmxle3RhYmxlLWxheW91dDpmaXhlZDt3aWR0aDoxMDAlfS5xbC1lZGl0b3IgdGFibGUgdGR7b3V0bGluZTpub25lfS5xbC1lZGl0b3IgLnFsLWNvZGUtYmxvY2stY29udGFpbmVye2ZvbnQtZmFtaWx5Om1vbm9zcGFjZX0ucWwtZWRpdG9yIC5xbC12aWRlb3tkaXNwbGF5OmJsb2NrO21heC13aWR0aDoxMDAlfS5xbC1lZGl0b3IgLnFsLXZpZGVvLnFsLWFsaWduLWNlbnRlcnttYXJnaW46MCBhdXRvfS5xbC1lZGl0b3IgLnFsLXZpZGVvLnFsLWFsaWduLXJpZ2h0e21hcmdpbjowIDAgMCBhdXRvfS5xbC1lZGl0b3IgLnFsLWJnLWJsYWNre2JhY2tncm91bmQtY29sb3I6IzAwMH0ucWwtZWRpdG9yIC5xbC1iZy1yZWR7YmFja2dyb3VuZC1jb2xvcjojZTYwMDAwfS5xbC1lZGl0b3IgLnFsLWJnLW9yYW5nZXtiYWNrZ3JvdW5kLWNvbG9yOiNmOTB9LnFsLWVkaXRvciAucWwtYmcteWVsbG93e2JhY2tncm91bmQtY29sb3I6I2ZmMH0ucWwtZWRpdG9yIC5xbC1iZy1ncmVlbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDhhMDB9LnFsLWVkaXRvciAucWwtYmctYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwNmN9LnFsLWVkaXRvciAucWwtYmctcHVycGxle2JhY2tncm91bmQtY29sb3I6IzkzZn0ucWwtZWRpdG9yIC5xbC1jb2xvci13aGl0ZXtjb2xvcjojZmZmfS5xbC1lZGl0b3IgLnFsLWNvbG9yLXJlZHtjb2xvcjojZTYwMDAwfS5xbC1lZGl0b3IgLnFsLWNvbG9yLW9yYW5nZXtjb2xvcjojZjkwfS5xbC1lZGl0b3IgLnFsLWNvbG9yLXllbGxvd3tjb2xvcjojZmYwfS5xbC1lZGl0b3IgLnFsLWNvbG9yLWdyZWVue2NvbG9yOiMwMDhhMDB9LnFsLWVkaXRvciAucWwtY29sb3ItYmx1ZXtjb2xvcjojMDZjfS5xbC1lZGl0b3IgLnFsLWNvbG9yLXB1cnBsZXtjb2xvcjojOTNmfS5xbC1lZGl0b3IgLnFsLWZvbnQtc2VyaWZ7Zm9udC1mYW1pbHk6R2VvcmdpYSxUaW1lcyBOZXcgUm9tYW4sc2VyaWZ9LnFsLWVkaXRvciAucWwtZm9udC1tb25vc3BhY2V7Zm9udC1mYW1pbHk6TW9uYWNvLENvdXJpZXIgTmV3LG1vbm9zcGFjZX0ucWwtZWRpdG9yIC5xbC1zaXplLXNtYWxse2ZvbnQtc2l6ZTouNzVlbX0ucWwtZWRpdG9yIC5xbC1zaXplLWxhcmdle2ZvbnQtc2l6ZToxLjVlbX0ucWwtZWRpdG9yIC5xbC1zaXplLWh1Z2V7Zm9udC1zaXplOjIuNWVtfS5xbC1lZGl0b3IgLnFsLWRpcmVjdGlvbi1ydGx7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOmluaGVyaXR9LnFsLWVkaXRvciAucWwtYWxpZ24tY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5xbC1lZGl0b3IgLnFsLWFsaWduLWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5fS5xbC1lZGl0b3IgLnFsLWFsaWduLXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnFsLWVkaXRvciAucWwtdWl7cG9zaXRpb246YWJzb2x1dGV9LnFsLWVkaXRvci5xbC1ibGFuazo6YmVmb3Jle2NvbG9yOnJnYmEoMCwwLDAsMC42KTtjb250ZW50OmF0dHIoZGF0YS1wbGFjZWhvbGRlcik7Zm9udC1zdHlsZTppdGFsaWM7bGVmdDoxNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTVweH0ucWwtc25vdy5xbC10b29sYmFyOmFmdGVyLC5xbC1zbm93IC5xbC10b29sYmFyOmFmdGVye2NsZWFyOmJvdGg7Y29udGVudDonJztkaXNwbGF5OnRhYmxlfS5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbntiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bGVmdDtoZWlnaHQ6MjRweDtwYWRkaW5nOjNweCA1cHg7d2lkdGg6MjhweH0ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbiBzdmcsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uIHN2Z3tmbG9hdDpsZWZ0O2hlaWdodDoxMDAlfS5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmFjdGl2ZTpob3ZlciwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246YWN0aXZlOmhvdmVye291dGxpbmU6bm9uZX0ucWwtc25vdy5xbC10b29sYmFyIGlucHV0LnFsLWltYWdlW3R5cGU9ZmlsZV0sLnFsLXNub3cgLnFsLXRvb2xiYXIgaW5wdXQucWwtaW1hZ2VbdHlwZT1maWxlXXtkaXNwbGF5Om5vbmV9LnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cywucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWR7Y29sb3I6IzA2Y30ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtZmlsbCwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLXN0cm9rZS5xbC1maWxse2ZpbGw6IzA2Y30ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZSwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZSwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLW1pdGVye3N0cm9rZTojMDZjfUBtZWRpYSAocG9pbnRlcjpjb2Fyc2Upey5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpe2NvbG9yOiM0NDR9LnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UucWwtZmlsbHtmaWxsOiM0NDR9LnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtc3Ryb2tlLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZS1taXRlcntzdHJva2U6IzQ0NH19LnFsLXNub3d7Ym94LXNpemluZzpib3JkZXItYm94fS5xbC1zbm93ICp7Ym94LXNpemluZzpib3JkZXItYm94fS5xbC1zbm93IC5xbC1oaWRkZW57ZGlzcGxheTpub25lfS5xbC1zbm93IC5xbC1vdXQtYm90dG9tLC5xbC1zbm93IC5xbC1vdXQtdG9we3Zpc2liaWxpdHk6aGlkZGVufS5xbC1zbm93IC5xbC10b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpfS5xbC1zbm93IC5xbC10b29sdGlwIGF7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnFsLXNub3cgLnFsLXRvb2x0aXAucWwtZmxpcHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9LnFsLXNub3cgLnFsLWZvcm1hdHN7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5xbC1zbm93IC5xbC1mb3JtYXRzOmFmdGVye2NsZWFyOmJvdGg7Y29udGVudDonJztkaXNwbGF5OnRhYmxlfS5xbC1zbm93IC5xbC1zdHJva2V7ZmlsbDpub25lO3N0cm9rZTojNDQ0O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6Mn0ucWwtc25vdyAucWwtc3Ryb2tlLW1pdGVye2ZpbGw6bm9uZTtzdHJva2U6IzQ0NDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6Mn0ucWwtc25vdyAucWwtZmlsbCwucWwtc25vdyAucWwtc3Ryb2tlLnFsLWZpbGx7ZmlsbDojNDQ0fS5xbC1zbm93IC5xbC1lbXB0eXtmaWxsOm5vbmV9LnFsLXNub3cgLnFsLWV2ZW57ZmlsbC1ydWxlOmV2ZW5vZGR9LnFsLXNub3cgLnFsLXRoaW4sLnFsLXNub3cgLnFsLXN0cm9rZS5xbC10aGlue3N0cm9rZS13aWR0aDoxfS5xbC1zbm93IC5xbC10cmFuc3BhcmVudHtvcGFjaXR5Oi40fS5xbC1zbm93IC5xbC1kaXJlY3Rpb24gc3ZnOmxhc3QtY2hpbGR7ZGlzcGxheTpub25lfS5xbC1zbm93IC5xbC1kaXJlY3Rpb24ucWwtYWN0aXZlIHN2ZzpsYXN0LWNoaWxke2Rpc3BsYXk6aW5saW5lfS5xbC1zbm93IC5xbC1kaXJlY3Rpb24ucWwtYWN0aXZlIHN2ZzpmaXJzdC1jaGlsZHtkaXNwbGF5Om5vbmV9LnFsLXNub3cgLnFsLWVkaXRvciBoMXtmb250LXNpemU6MmVtfS5xbC1zbm93IC5xbC1lZGl0b3IgaDJ7Zm9udC1zaXplOjEuNWVtfS5xbC1zbm93IC5xbC1lZGl0b3IgaDN7Zm9udC1zaXplOjEuMTdlbX0ucWwtc25vdyAucWwtZWRpdG9yIGg0e2ZvbnQtc2l6ZToxZW19LnFsLXNub3cgLnFsLWVkaXRvciBoNXtmb250LXNpemU6LjgzZW19LnFsLXNub3cgLnFsLWVkaXRvciBoNntmb250LXNpemU6LjY3ZW19LnFsLXNub3cgLnFsLWVkaXRvciBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnFsLXNub3cgLnFsLWVkaXRvciBibG9ja3F1b3Rle2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjY2NjO21hcmdpbi1ib3R0b206NXB4O21hcmdpbi10b3A6NXB4O3BhZGRpbmctbGVmdDoxNnB4fS5xbC1zbm93IC5xbC1lZGl0b3IgY29kZSwucWwtc25vdyAucWwtZWRpdG9yIC5xbC1jb2RlLWJsb2NrLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7Ym9yZGVyLXJhZGl1czozcHh9LnFsLXNub3cgLnFsLWVkaXRvciAucWwtY29kZS1ibG9jay1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTo1cHg7bWFyZ2luLXRvcDo1cHg7cGFkZGluZzo1cHggMTBweH0ucWwtc25vdyAucWwtZWRpdG9yIGNvZGV7Zm9udC1zaXplOjg1JTtwYWRkaW5nOjJweCA0cHh9LnFsLXNub3cgLnFsLWVkaXRvciAucWwtY29kZS1ibG9jay1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMjMyNDFmO2NvbG9yOiNmOGY4ZjI7b3ZlcmZsb3c6dmlzaWJsZX0ucWwtc25vdyAucWwtZWRpdG9yIGltZ3ttYXgtd2lkdGg6MTAwJX0ucWwtc25vdyAucWwtcGlja2Vye2NvbG9yOiM0NDQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bGVmdDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjI0cHg7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5xbC1zbm93IC5xbC1waWNrZXItbGFiZWx7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5xbC1zbm93IC5xbC1waWNrZXItbGFiZWw6OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyMnB4fS5xbC1zbm93IC5xbC1waWNrZXItb3B0aW9uc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpub25lO21pbi13aWR0aDoxMDAlO3BhZGRpbmc6NHB4IDhweDtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXB9LnFsLXNub3cgLnFsLXBpY2tlci1vcHRpb25zIC5xbC1waWNrZXItaXRlbXtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLXRvcDo1cHh9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLWxhYmVse2NvbG9yOiNjY2M7ei1pbmRleDoyfS5xbC1zbm93IC5xbC1waWNrZXIucWwtZXhwYW5kZWQgLnFsLXBpY2tlci1sYWJlbCAucWwtZmlsbHtmaWxsOiNjY2N9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLWxhYmVsIC5xbC1zdHJva2V7c3Ryb2tlOiNjY2N9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLW9wdGlvbnN7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi0xcHg7dG9wOjEwMCU7ei1pbmRleDoxfS5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIsLnFsLXNub3cgLnFsLWljb24tcGlja2Vye3dpZHRoOjI4cHh9LnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLWxhYmVsLC5xbC1zbm93IC5xbC1pY29uLXBpY2tlciAucWwtcGlja2VyLWxhYmVse3BhZGRpbmc6MnB4IDRweH0ucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItbGFiZWwgc3ZnLC5xbC1zbm93IC5xbC1pY29uLXBpY2tlciAucWwtcGlja2VyLWxhYmVsIHN2Z3tyaWdodDo0cHh9LnFsLXNub3cgLnFsLWljb24tcGlja2VyIC5xbC1waWNrZXItb3B0aW9uc3twYWRkaW5nOjRweCAwfS5xbC1zbm93IC5xbC1pY29uLXBpY2tlciAucWwtcGlja2VyLWl0ZW17aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjJweCA0cHh9LnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLW9wdGlvbnN7cGFkZGluZzozcHggNXB4O3dpZHRoOjE1MnB4fS5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1pdGVte2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7ZmxvYXQ6bGVmdDtoZWlnaHQ6MTZweDttYXJnaW46MnB4O3BhZGRpbmc6MDt3aWR0aDoxNnB4fS5xbC1zbm93IC5xbC1waWNrZXI6bm90KC5xbC1jb2xvci1waWNrZXIpOm5vdCgucWwtaWNvbi1waWNrZXIpIHN2Z3twb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tdG9wOi05cHg7cmlnaHQ6MDt0b3A6NTAlO3dpZHRoOjE4cHh9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9JyddKTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWxhYmVsW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD0nJ10pOjpiZWZvcmUsLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWxbZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPScnXSk6OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPScnXSk6OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD0nJ10pOjpiZWZvcmUsLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9JyddKTo6YmVmb3Jle2NvbnRlbnQ6YXR0cihkYXRhLWxhYmVsKX0ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlcnt3aWR0aDo5OHB4fS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWw6OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW06OmJlZm9yZXtjb250ZW50OidOb3JtYWwnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjFcIl06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjFcIl06OmJlZm9yZXtjb250ZW50OidIZWFkaW5nIDEnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjJcIl06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjJcIl06OmJlZm9yZXtjb250ZW50OidIZWFkaW5nIDInfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjNcIl06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjNcIl06OmJlZm9yZXtjb250ZW50OidIZWFkaW5nIDMnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjRcIl06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjRcIl06OmJlZm9yZXtjb250ZW50OidIZWFkaW5nIDQnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjVcIl06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjVcIl06OmJlZm9yZXtjb250ZW50OidIZWFkaW5nIDUnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjZcIl06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjZcIl06OmJlZm9yZXtjb250ZW50OidIZWFkaW5nIDYnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiMVwiXTo6YmVmb3Jle2ZvbnQtc2l6ZToyZW19LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIyXCJdOjpiZWZvcmV7Zm9udC1zaXplOjEuNWVtfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiM1wiXTo6YmVmb3Jle2ZvbnQtc2l6ZToxLjE3ZW19LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCI0XCJdOjpiZWZvcmV7Zm9udC1zaXplOjFlbX0ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjVcIl06OmJlZm9yZXtmb250LXNpemU6LjgzZW19LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCI2XCJdOjpiZWZvcmV7Zm9udC1zaXplOi42N2VtfS5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udHt3aWR0aDoxMDhweH0ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbDo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW06OmJlZm9yZXtjb250ZW50OidTYW5zIFNlcmlmJ30ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPXNlcmlmXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1zZXJpZl06OmJlZm9yZXtjb250ZW50OidTZXJpZid9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1tb25vc3BhY2VdOjpiZWZvcmUsLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPW1vbm9zcGFjZV06OmJlZm9yZXtjb250ZW50OidNb25vc3BhY2UnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1zZXJpZl06OmJlZm9yZXtmb250LWZhbWlseTpHZW9yZ2lhLFRpbWVzIE5ldyBSb21hbixzZXJpZn0ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bW9ub3NwYWNlXTo6YmVmb3Jle2ZvbnQtZmFtaWx5Ok1vbmFjbyxDb3VyaWVyIE5ldyxtb25vc3BhY2V9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXple3dpZHRoOjk4cHh9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWw6OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtOjpiZWZvcmV7Y29udGVudDonTm9ybWFsJ30ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPXNtYWxsXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1zbWFsbF06OmJlZm9yZXtjb250ZW50OidTbWFsbCd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1sYXJnZV06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bGFyZ2VdOjpiZWZvcmV7Y29udGVudDonTGFyZ2UnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9aHVnZV06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9aHVnZV06OmJlZm9yZXtjb250ZW50OidIdWdlJ30ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9c21hbGxdOjpiZWZvcmV7Zm9udC1zaXplOjEwcHh9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPWxhcmdlXTo6YmVmb3Jle2ZvbnQtc2l6ZToxOHB4fS5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1odWdlXTo6YmVmb3Jle2ZvbnQtc2l6ZTozMnB4fS5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIucWwtYmFja2dyb3VuZCAucWwtcGlja2VyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfS5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIucWwtY29sb3IgLnFsLXBpY2tlci1pdGVte2JhY2tncm91bmQtY29sb3I6IzAwMH0ucWwtY29kZS1ibG9jay1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9LnFsLWNvZGUtYmxvY2stY29udGFpbmVyIC5xbC11aXtyaWdodDo1cHg7dG9wOjVweH0ucWwtdG9vbGJhci5xbC1zbm93e2JvcmRlcjoxcHggc29saWQgI2NjYztib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1mYW1pbHk6J0hlbHZldGljYSBOZXVlJywnSGVsdmV0aWNhJywnQXJpYWwnLHNhbnMtc2VyaWY7cGFkZGluZzo4cHh9LnFsLXRvb2xiYXIucWwtc25vdyAucWwtZm9ybWF0c3ttYXJnaW4tcmlnaHQ6MTVweH0ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1waWNrZXItbGFiZWx7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH0ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1waWNrZXItb3B0aW9uc3tib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JveC1zaGFkb3c6cmdiYSgwLDAsMCwwLjIpIDAgMnB4IDhweH0ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1waWNrZXIucWwtZXhwYW5kZWQgLnFsLXBpY2tlci1sYWJlbHtib3JkZXItY29sb3I6I2NjY30ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1waWNrZXIucWwtZXhwYW5kZWQgLnFsLXBpY2tlci1vcHRpb25ze2JvcmRlci1jb2xvcjojY2NjfS5xbC10b29sYmFyLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQsLnFsLXRvb2xiYXIucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItaXRlbTpob3Zlcntib3JkZXItY29sb3I6IzAwMH0ucWwtdG9vbGJhci5xbC1zbm93ICsgLnFsLWNvbnRhaW5lci5xbC1zbm93e2JvcmRlci10b3A6MH0ucWwtc25vdyAucWwtdG9vbHRpcHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JveC1zaGFkb3c6MCAwIDVweCAjZGRkO2NvbG9yOiM0NDQ7cGFkZGluZzo1cHggMTJweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnFsLXNub3cgLnFsLXRvb2x0aXA6OmJlZm9yZXtjb250ZW50OlwiVmlzaXQgVVJMOlwiO2xpbmUtaGVpZ2h0OjI2cHg7bWFyZ2luLXJpZ2h0OjhweH0ucWwtc25vdyAucWwtdG9vbHRpcCBpbnB1dFt0eXBlPXRleHRde2Rpc3BsYXk6bm9uZTtib3JkZXI6MXB4IHNvbGlkICNjY2M7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjI2cHg7bWFyZ2luOjA7cGFkZGluZzozcHggNXB4O3dpZHRoOjE3MHB4fS5xbC1zbm93IC5xbC10b29sdGlwIGEucWwtcHJldmlld3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MjAwcHg7b3ZlcmZsb3cteDpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnFsLXNub3cgLnFsLXRvb2x0aXAgYS5xbC1hY3Rpb246OmFmdGVye2JvcmRlci1yaWdodDoxcHggc29saWQgI2NjYztjb250ZW50OidFZGl0JzttYXJnaW4tbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6OHB4fS5xbC1zbm93IC5xbC10b29sdGlwIGEucWwtcmVtb3ZlOjpiZWZvcmV7Y29udGVudDonUmVtb3ZlJzttYXJnaW4tbGVmdDo4cHh9LnFsLXNub3cgLnFsLXRvb2x0aXAgYXtsaW5lLWhlaWdodDoyNnB4fS5xbC1zbm93IC5xbC10b29sdGlwLnFsLWVkaXRpbmcgYS5xbC1wcmV2aWV3LC5xbC1zbm93IC5xbC10b29sdGlwLnFsLWVkaXRpbmcgYS5xbC1yZW1vdmV7ZGlzcGxheTpub25lfS5xbC1zbm93IC5xbC10b29sdGlwLnFsLWVkaXRpbmcgaW5wdXRbdHlwZT10ZXh0XXtkaXNwbGF5OmlubGluZS1ibG9ja30ucWwtc25vdyAucWwtdG9vbHRpcC5xbC1lZGl0aW5nIGEucWwtYWN0aW9uOjphZnRlcntib3JkZXItcmlnaHQ6MDtjb250ZW50OidTYXZlJztwYWRkaW5nLXJpZ2h0OjB9LnFsLXNub3cgLnFsLXRvb2x0aXBbZGF0YS1tb2RlPWxpbmtdOjpiZWZvcmV7Y29udGVudDpcIkVudGVyIGxpbms6XCJ9LnFsLXNub3cgLnFsLXRvb2x0aXBbZGF0YS1tb2RlPWZvcm11bGFdOjpiZWZvcmV7Y29udGVudDpcIkVudGVyIGZvcm11bGE6XCJ9LnFsLXNub3cgLnFsLXRvb2x0aXBbZGF0YS1tb2RlPXZpZGVvXTo6YmVmb3Jle2NvbnRlbnQ6XCJFbnRlciB2aWRlbzpcIn0ucWwtc25vdyBhe2NvbG9yOiMwNmN9LnFsLWNvbnRhaW5lci5xbC1zbm93e2JvcmRlcjoxcHggc29saWQgI2NjY31cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9cXVpbGwuc25vdy5jc3MubWFwKi8iLCJALXdlYmtpdC1rZXlmcmFtZXMgbm90eWYtZmFkZWludXB7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDI1JSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIG5vdHlmLWZhZGVpbnVwezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyNSUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QC13ZWJraXQta2V5ZnJhbWVzIG5vdHlmLWZhZGVpbmxlZnR7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI1JSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIG5vdHlmLWZhZGVpbmxlZnR7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI1JSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1ALXdlYmtpdC1rZXlmcmFtZXMgbm90eWYtZmFkZW91dHJpZ2h0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjUlKX19QGtleWZyYW1lcyBub3R5Zi1mYWRlb3V0cmlnaHR7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNSUpfX1ALXdlYmtpdC1rZXlmcmFtZXMgbm90eWYtZmFkZW91dGRvd257MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyNSUpfX1Aa2V5ZnJhbWVzIG5vdHlmLWZhZGVvdXRkb3duezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjUlKX19QC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZXswJXt0cmFuc2Zvcm06c2NhbGUoMCkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSl9dG97dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoLTQ1JSkgdHJhbnNsYXRlWCgxMyUpfX1Aa2V5ZnJhbWVzIHJpcHBsZXswJXt0cmFuc2Zvcm06c2NhbGUoMCkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSl9dG97dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoLTQ1JSkgdHJhbnNsYXRlWCgxMyUpfX0ubm90eWZ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Y29sb3I6I2ZmZjt6LWluZGV4Ojk5OTk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoyMHB4fS5ub3R5Zl9faWNvbi0tZXJyb3IsLm5vdHlmX19pY29uLS1zdWNjZXNze2hlaWdodDoyMXB4O3dpZHRoOjIxcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ubm90eWZfX2ljb24tLWVycm9yOmFmdGVyLC5ub3R5Zl9faWNvbi0tZXJyb3I6YmVmb3Jle2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjlweDtoZWlnaHQ6MTJweDt0b3A6NXB4fS5ub3R5Zl9faWNvbi0tZXJyb3I6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5ub3R5Zl9faWNvbi0tZXJyb3I6YmVmb3Jle3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5ub3R5Zl9faWNvbi0tc3VjY2VzczphZnRlciwubm90eWZfX2ljb24tLXN1Y2Nlc3M6YmVmb3Jle2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjNweDtib3JkZXItcmFkaXVzOjNweH0ubm90eWZfX2ljb24tLXN1Y2Nlc3M6YWZ0ZXJ7aGVpZ2h0OjZweDt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dG9wOjlweDtsZWZ0OjZweH0ubm90eWZfX2ljb24tLXN1Y2Nlc3M6YmVmb3Jle2hlaWdodDoxMXB4O3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO3RvcDo1cHg7bGVmdDoxMHB4fS5ub3R5Zl9fdG9hc3R7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LWFuaW1hdGlvbjpub3R5Zi1mYWRlaW51cCAuM3MgZWFzZS1pbiBmb3J3YXJkczthbmltYXRpb246bm90eWYtZmFkZWludXAgLjNzIGVhc2UtaW4gZm9yd2FyZHM7Ym94LXNoYWRvdzowIDNweCA3cHggMCByZ2JhKDAsMCwwLC4yNSk7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXJhZGl1czoycHg7bWF4LXdpZHRoOjMwMHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKDI1JSk7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtc2hyaW5rOjB9Lm5vdHlmX190b2FzdC0tZGlzYXBwZWFye3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtYW5pbWF0aW9uOm5vdHlmLWZhZGVvdXRkb3duIC4zcyBmb3J3YXJkczthbmltYXRpb246bm90eWYtZmFkZW91dGRvd24gLjNzIGZvcndhcmRzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi4yNXM7YW5pbWF0aW9uLWRlbGF5Oi4yNXN9Lm5vdHlmX190b2FzdC0tZGlzYXBwZWFyIC5ub3R5Zl9faWNvbiwubm90eWZfX3RvYXN0LS1kaXNhcHBlYXIgLm5vdHlmX19tZXNzYWdley13ZWJraXQtYW5pbWF0aW9uOm5vdHlmLWZhZGVvdXRkb3duIC4zcyBmb3J3YXJkczthbmltYXRpb246bm90eWYtZmFkZW91dGRvd24gLjNzIGZvcndhcmRzO29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ubm90eWZfX3RvYXN0LS1kaXNhcHBlYXIgLm5vdHlmX19kaXNtaXNzey13ZWJraXQtYW5pbWF0aW9uOm5vdHlmLWZhZGVvdXRyaWdodCAuM3MgZm9yd2FyZHM7YW5pbWF0aW9uOm5vdHlmLWZhZGVvdXRyaWdodCAuM3MgZm9yd2FyZHM7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfS5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciAubm90eWZfX21lc3NhZ2V7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjA1czthbmltYXRpb24tZGVsYXk6LjA1c30ubm90eWZfX3RvYXN0LS11cHBlcnttYXJnaW4tYm90dG9tOjIwcHh9Lm5vdHlmX190b2FzdC0tbG93ZXJ7bWFyZ2luLXRvcDoyMHB4fS5ub3R5Zl9fdG9hc3QtLWRpc21pc3NpYmxlIC5ub3R5Zl9fd3JhcHBlcntwYWRkaW5nLXJpZ2h0OjMwcHh9Lm5vdHlmX19yaXBwbGV7aGVpZ2h0OjQwMHB4O3dpZHRoOjQwMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybS1vcmlnaW46Ym90dG9tIHJpZ2h0O3JpZ2h0OjA7dG9wOjA7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNmb3JtOnNjYWxlKDApIHRyYW5zbGF0ZVkoLTUxJSkgdHJhbnNsYXRlWCgxMyUpO3otaW5kZXg6NTstd2Via2l0LWFuaW1hdGlvbjpyaXBwbGUgLjRzIGVhc2Utb3V0IGZvcndhcmRzO2FuaW1hdGlvbjpyaXBwbGUgLjRzIGVhc2Utb3V0IGZvcndhcmRzfS5ub3R5Zl9fd3JhcHBlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctdG9wOjE3cHg7cGFkZGluZy1ib3R0b206MTdweDtwYWRkaW5nLXJpZ2h0OjE1cHg7Ym9yZGVyLXJhZGl1czozcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxMH0ubm90eWZfX2ljb257d2lkdGg6MjJweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MS4zZW07b3BhY2l0eTowOy13ZWJraXQtYW5pbWF0aW9uOm5vdHlmLWZhZGVpbnVwIC4zcyBmb3J3YXJkczthbmltYXRpb246bm90eWYtZmFkZWludXAgLjNzIGZvcndhcmRzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi4zczthbmltYXRpb24tZGVsYXk6LjNzO21hcmdpbi1yaWdodDoxM3B4fS5ub3R5Zl9fZGlzbWlzc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2hlaWdodDoxMDAlO3dpZHRoOjI2cHg7bWFyZ2luLXJpZ2h0Oi0xNXB4Oy13ZWJraXQtYW5pbWF0aW9uOm5vdHlmLWZhZGVpbmxlZnQgLjNzIGZvcndhcmRzO2FuaW1hdGlvbjpub3R5Zi1mYWRlaW5sZWZ0IC4zcyBmb3J3YXJkczstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouMzVzO2FuaW1hdGlvbi1kZWxheTouMzVzO29wYWNpdHk6MH0ubm90eWZfX2Rpc21pc3MtYnRue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjUpO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO291dGxpbmU6bm9uZTtvcGFjaXR5Oi4zNTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5ub3R5Zl9fZGlzbWlzcy1idG46YWZ0ZXIsLm5vdHlmX19kaXNtaXNzLWJ0bjpiZWZvcmV7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6I2ZmZjtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czozcHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDpjYWxjKDUwJSAtIDFweCk7dG9wOmNhbGMoNTAlIC0gNXB4KX0ubm90eWZfX2Rpc21pc3MtYnRuOmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0ubm90eWZfX2Rpc21pc3MtYnRuOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubm90eWZfX2Rpc21pc3MtYnRuOmhvdmVye29wYWNpdHk6Ljc7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xNSl9Lm5vdHlmX19kaXNtaXNzLWJ0bjphY3RpdmV7b3BhY2l0eTouOH0ubm90eWZfX21lc3NhZ2V7dmVydGljYWwtYWxpZ246bWlkZGxlO3Bvc2l0aW9uOnJlbGF0aXZlO29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjpub3R5Zi1mYWRlaW51cCAuM3MgZm9yd2FyZHM7YW5pbWF0aW9uOm5vdHlmLWZhZGVpbnVwIC4zcyBmb3J3YXJkczstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouMjVzO2FuaW1hdGlvbi1kZWxheTouMjVzO2xpbmUtaGVpZ2h0OjEuNWVtfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCl7Lm5vdHlme3BhZGRpbmc6MH0ubm90eWZfX3JpcHBsZXtoZWlnaHQ6NjAwcHg7d2lkdGg6NjAwcHg7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNXN9Lm5vdHlmX190b2FzdHttYXgtd2lkdGg6bm9uZTtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzowIC0ycHggN3B4IDAgcmdiYSgwLDAsMCwuMTMpO3dpZHRoOjEwMCV9Lm5vdHlmX19kaXNtaXNze3dpZHRoOjU2cHh9fSIsIkBrZXlmcmFtZXMgZmFkZS1pbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwXG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG4uc3BpbiB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gIGNvbG9yOiAjMjk4ODRhO1xufSIsImh0bWwge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbmJvZHkge1xuICAmLmxvZ2luIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2NlcmNsZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciByZ2IoMzAgNDEgNTkpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbn0iLCJidXR0b24ge1xuICAmLnN3YWwyLWNvbmZpcm0ge1xuICAgIGJhY2tncm91bmQ6ICMwZjY2NzQ7XG4gICAgJi5iZy1jeWFuLTYwMCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDg5MWIyO1xuICAgIH1cbiAgfVxufVxuXG4uc3dhbDItaHRtbC1jb250YWluZXIge1xuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMyNDI0MjQ7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgaW5wdXQsIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogI0Y1RjVGNTtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCJmb3JtIHtcbiAgZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICY6bm90KC5uby1tKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuICAgICY6bm90KC5yb3cpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJi5hZGp1c3Qge1xuICAgICAgZGl2IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6ICNjY2M7XG4gICAgfVxuXG4gICAgLmhlbHAtdGV4dCB7XG4gICAgICBjb2xvcjogI2NjYztcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgICAgIHBhZGRpbmc6IDhweCA2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAvL2JvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICBjb2xvcjogIzI0MjQyNDtcbiAgICB9XG4gIH1cbn1cblxuLmRvY3VtZW50IHtcbiAgaW5wdXQge1xuICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7XG4gICAgcGFkZGluZzogOHB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjMjQyNDI0O1xuICB9XG4gIHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICAgIHBhZGRpbmc6IDhweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIH1cbn0iLCIuZG9jdW1lbnQtdGFibGUge1xuICAmLmludm9pY2Uge1xuICAgIHRhYmxlIHtcbiAgICAgIHRoZWFkIHtcbiAgICAgICAgdHIge1xuICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgIEBhcHBseSBiZy1ncmVlbi01MDBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgICZbZGF0YS1wLWFjdGl2ZT1cInRydWVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNCQkY3RDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucXVvdGF0aW9uIHtcbiAgICB0YWJsZSB7XG4gICAgICB0aGVhZCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRUE1ODBDO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBuYXYge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgJltkYXRhLXAtYWN0aXZlPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2VmYjU5NyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wcm9kdWN0cyB7XG4gICAgdGFibGUge1xuICAgICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgQGFwcGx5IGJnLWN5YW4tNTAwXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG5hdiB7XG4gICAgICBidXR0b24ge1xuICAgICAgICAmW2RhdGEtcC1hY3RpdmU9XCJ0cnVlXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYWRlYWVjICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmN1c3RvbWVycyB7XG4gICAgdGFibGUge1xuICAgICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgQGFwcGx5IGJnLWFtYmVyLTQwMFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBuYXYge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgJltkYXRhLXAtYWN0aXZlPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZWZhNiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICB9XG4gICAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDhweCA1cHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIH1cblxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG5cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG5cbiAgICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyNDI0MjQ7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggMCAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDhweCAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDo4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigyNDEgMjQ1IDI0OSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0NDQztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGFwcGx5IGJnLXNsYXRlLTIwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5hdiB7XG4gICAgW2RhdGEtcGMtbmFtZT1cInBjcGFnaW5hdG9yXCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgW2RhdGEtcGMtc2VjdGlvbj1cImNvbnRlbnRcIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOjVweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgW2RhdGEtcGMtZ3JvdXAtc2VjdGlvbj1cInBhZ2Vkcm9wZG93blwiXSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6MXB4IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICAgICAgW2RhdGEtcGMtc2VjdGlvbj1cInBhZ2VzXCJdIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGdhcDozcHg7XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICZbZGF0YS1wLWFjdGl2ZT1cInRydWVcIl0ge1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM2QkJCQjI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnVsIHtcbiAgJltkYXRhLXBjLXNlY3Rpb249XCJsaXN0XCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOjNweDtcblxuICAgIGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn0iLCIuZGZhLWJ1dHRvbiB7XG4gIEBhcHBseSBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IHctbWF4IHNoYWRvdy1tZCBpdGVtcy1jZW50ZXI7XG4gICYubGFyZ2Uge1xuICAgIEBhcHBseSBweC03IHB5LTQgcm91bmRlZC1tZCBmbGV4IHctbWF4IHNoYWRvdy1tZCBpdGVtcy1jZW50ZXI7XG4gIH1cbiAgJi5jaXJjbGUge1xuICAgIHBhZGRpbmc6MCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn0iLCJ0YWJsZSB7XG4gICYuZGZhLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRoZWFkIHtcbiAgICAgIHRyIHtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgQGFwcGx5IHRleHQtbGVmdCBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtOCB0ZXh0LXNsYXRlLTUwMDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgdHIge1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgQGFwcGx5IHAtNCBwbC04IHRleHQtZ3JheS01MDAgYm9yZGVyLTA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgIEBhcHBseSBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtODtcbiAgICAgICAgICAmOm5vdCgudGV4dC13aGl0ZSkge1xuICAgICAgICAgICAgQGFwcGx5IHRleHQtZ3JheS01MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY2hpcCB7XG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBweC0zIHB5LTIgYmctZ3JlZW4tMjAwIHRleHQtc20gcm91bmRlZC1tZDtcbiAgJi5kcmFmdCB7XG4gICAgQGFwcGx5IGJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTcwMDtcbiAgfVxuICAmLmlzc3VlZCB7XG4gICAgQGFwcGx5IGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTcwMDtcbiAgfVxuICAmLnNlbnQge1xuICAgIEBhcHBseSBiZy1jeWFuLTEwMCB0ZXh0LWN5YW4tNzAwO1xuICB9XG4gICYuY2xpY2tlZCB7XG4gICAgQGFwcGx5IGJnLWFtYmVyLTEwMCB0ZXh0LWFtYmVyLTcwMDtcbiAgfVxuICAmLnJlYWQge1xuICAgIEBhcHBseSBiZy1vcmFuZ2UtMTAwIHRleHQtb3JhbmdlLTcwMDtcbiAgfVxuXG4gICYucGFpZCB7XG4gICAgQGFwcGx5IGJnLXJlZC01MDAgdGV4dC13aGl0ZTtcbiAgfVxuXG4gICYuaW52b2ljZWQge1xuICAgIEBhcHBseSBiZy1yZWQtMTAwIHRleHQtcmVkLTcwMDtcbiAgfVxuXG4gICYucXVvdGF0aW9uLXJlZiB7XG4gICAgQGFwcGx5IGJnLWN5YW4tODAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICYuaW52b2ljZS1yZWYge1xuICAgIEBhcHBseSBiZy1jeWFuLTgwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn0iLCIuc3dhbDItY29uZmlybSB7XG4gICYud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmODgwMDtcbiAgfVxufSIsIiR3aWR0aDogNDB2dztcblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG4gIGFuaW1hdGlvbjogZmFkZS1pbiAwLjNzIGxpbmVhcjtcbiAgei1pbmRleDogOTk1O1xufVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICAvL2NsaXAtcGF0aDogcG9seWdvbigzMHB4IDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUsIDAgMzBweCk7XG4gIHRvcDowO1xuICByaWdodDowO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogJHdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogNTBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHotaW5kZXg6IDk5OTtcbiAgJi52aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgYm94LXNoYWRvdzogMCAtMzBweCAzMHB4IHJnYmEoMCwwLDAsMC41KSwgMCAtNjBweCA1MHB4IHJnYmEoMCwwLDAsMC40KTtcbiAgfVxuXG4gIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG59IiwiLnFsLXRvb2xiYXIge1xuICAmLnFsLXNub3cge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4ucWwtY29udGFpbmVyIHtcbiAgJi5xbC1zbm93IHtcbiAgICBtaW4taGVpZ2h0OiAxNTBweCAhaW1wb3J0YW50O1xuICB9XG5cbn1cbiIsIi5jb250ZXh0LW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjkpO1xuICBib3gtc2hhZG93OiA0cHggNHB4IDhweCByZ2JhKDAsMCwwLDAuNiksIDhweCA4cHggMjBweCByZ2JhKDAsMCwwLDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzoxNXB4O1xuICB6LWluZGV4OiA5OTk5O1xuICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyBsaW5lYXI7XG4gIC8vYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4gIGhyIHtcbiAgICBtYXJnaW46IDdweCAwO1xuICB9XG4gIGxpIHtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgICYudGl0bGUge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAmLm5vLXAge1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICAgIGNvbG9yOiAjZDBkMGQwO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLDAsMCwwLjkpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucGF5bWVudC1ub3RpZi1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgQGFwcGx5IGJnLWdyYXktODAwO1xuXG4gIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOjE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB9XG4gIC5wYXltZW50LWluZm8ge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOjFweDtcbiAgICBib3gtc2hhZG93OiAxMHB4IDEwcHggMTVweCByZ2JhKDAsMCwwLDAuNik7XG4gICAgd2lkdGg6IDU1MHB4O1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgICAuaGVhZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDEycHggMCAwO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgcGFkZGluZzoyNXB4IDA7XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6MjVweDtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgJi5yZWNlaXB0IHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/