mayurankv_Obsidian-Code-Styler/styles.css
2023-08-11 12:06:04 +01:00

1191 lines
146 KiB
CSS

/* src/css/codeblocks.css */
body {
--border-radius: 10px;
--gradient-background-colour: transparent;
--code-padding: 8px;
--container-height: calc(var(--language-icon-size) + 2 * var(--header-inner-vertical-padding) * var(--header-font-size));
--container-min-height: calc((var(--header-font-size) + 2 * var(--header-inner-vertical-padding) * var(--header-font-size)) * var(--line-height-normal));
--language-border-colour: var(--code-styler-codeblock-background-colour);
--language-border-width: 0px;
--header-font-size: var(--code-size);
--header-padding: 0px;
--header-inner-vertical-padding: 0.3;
--header-spacing: 15px;
--header-button-spacing: 14px;
--header-separator-width: 2px;
--header-separator-width-padding: var(--header-separator-width);
--code-styler-header-border: none;
--collapsed-bottom-border: 0 solid transparent;
--language-icon-size: 28px;
--language-icon-filter: none;
--gradient-highlights-colour-stop: 100%;
--line-number-height-correction: 2px;
--line-number-gutter-padding: 16px;
--line-number-gutter-min-width: 32.67px;
--line-wrapping: pre-wrap;
--line-active-wrapping: var(--line-wrapping);
--code-styler-button-colour: var(--text-muted);
--code-styler-button-active-colour: white;
--duration-button: 240ms;
--dent-difference: 30px;
--polygon-in: polygon(0 0, 16px 0, 16px 36px, 0 36px);
--polygon-out: polygon(0 0, 100% 0, 100% 100%, 0 100%);
--copy-code-header-right-margin: calc(3 * var(--header-button-spacing));
}
.code-styler-pre-parent {
margin-bottom: 16px;
}
.code-styler pre.code-styler-pre {
background: var(--code-styler-codeblock-background-colour) !important;
border-radius: var(--border-radius) !important;
min-height: unset;
padding: 0px !important;
overflow: hidden !important;
}
.code-styler pre.code-styler-pre[class*=language-] {
background: linear-gradient(90deg, var(--language-border-colour), var(--language-border-colour) var(--language-border-width), var(--code-styler-codeblock-background-colour) var(--language-border-width), var(--code-styler-codeblock-background-colour) 100%) !important;
padding-left: var(--language-border-width) !important;
}
.code-styler code {
padding-top: var(--code-padding) !important;
padding-bottom: var(--code-padding) !important;
}
.code-styler pre.code-styler-pre > code {
display: grid;
grid-template-columns: min-content auto;
grid-template-rows: auto;
padding-top: var(--code-padding) !important;
padding-bottom: var(--code-padding) !important;
padding-left: 0px !important;
padding-right: 0px !important;
border-radius: 0px !important;
background: none !important;
transition-property:
max-height,
padding,
border-top;
transition-duration: var(--duration-button);
transition-timing-function: ease-in-out;
max-height: unset;
overflow-x: overlay;
white-space: var(--line-wrapping);
}
.code-styler pre.code-styler-pre.wrapped > code {
--line-wrapping: pre-wrap;
}
.code-styler pre.code-styler-pre.unwrapped > code {
--line-wrapping: pre;
--line-active-wrapping: pre;
}
.code-styler pre.code-styler-pre.unwrapped-inactive > code {
--line-wrapping: pre;
--line-active-wrapping: pre-wrap;
}
.code-styler pre.code-styler-pre code:not(:has(> input[style*="display: inline;"])):active {
--line-wrapping: var(--line-active-wrapping) !important;
}
.code-styler pre.code-styler-pre.code-styler-collapsed > code {
padding-top: 0 !important;
padding-bottom: 0 !important;
max-height: 0 !important;
}
.code-styler pre.code-styler-pre::before,
.code-styler pre.code-styler-pre::after {
content: none !important;
}
.markdown-source-view.mod-cm6 .cm-embed-block pre.code-styler-pre {
margin: 1em 0px;
}
.code-styler .markdown-source-view [class*=code-styler-line].HyperMD-codeblock-begin {
border-top-left-radius: 0px !important;
border-top-right-radius: 0px !important;
border-top: none !important;
}
.code-styler .markdown-source-view [class*=code-styler-line].HyperMD-codeblock-end {
border-bottom-left-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
}
body:not(.code-styler-show-langicons-always):not(.code-styler-show-langnames-always) .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container + .HyperMD-codeblock-begin,
body:not(.code-styler-show-langnames-always) .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has(img.code-styler-icon)) + .HyperMD-codeblock-begin,
body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has([class*=code-styler-header-language-tag-])) + .HyperMD-codeblock-begin,
body .markdown-source-view :not([class^=code-styler-header-container]) + [class*=code-styler-line].HyperMD-codeblock-begin,
body .markdown-source-view [class*=code-styler-line].HyperMD-codeblock-begin:nth-of-type(1) {
border-top-left-radius: var(--border-radius) !important;
border-top-right-radius: var(--border-radius) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line] {
background: linear-gradient(90deg, var(--gradient-background-colour) var(--gradient-highlights-colour-stop), transparent 100%), var(--code-styler-codeblock-background-colour) !important;
overflow: hidden;
padding: 0 !important;
padding-left: var(--size-4-4) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line][class*=language-] {
background: linear-gradient(90deg, var(--language-border-colour), var(--language-border-colour) var(--language-border-width), var(--gradient-background-colour) var(--language-border-width) var(--gradient-highlights-colour-stop), transparent 100%), var(--code-styler-codeblock-background-colour) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line][class*=language-] [class^=code-styler-line-number] {
margin-left: var(--language-border-width);
}
body:not([class*=code-styler-show-langicons]) .code-styler-header-container-specific div:has(> img.code-styler-icon),
body:not(.code-styler-show-langicons-always) .code-styler-header-container div:has(> img.code-styler-icon) {
display: none;
}
body:not([class*=code-styler-show-langnames]) .code-styler-header-container-specific [class^=code-styler-header-language-tag],
body:not(.code-styler-show-langnames-always) .code-styler-header-container [class^=code-styler-header-language-tag] {
display: none;
}
body:not(.code-styler-show-langicons-always):not(.code-styler-show-langnames-always) .code-styler-header-container,
body:not(.code-styler-show-langnames-always) .code-styler-header-container:not(:has(img.code-styler-icon)) {
display: none !important;
}
body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not([class*=language-]),
body pre.code-styler-pre:not([class*=language-]) .code-styler-header-container {
display: none !important;
}
[class^=code-styler-header-container] {
font-size: var(--header-font-size);
user-select: none;
height: var(--container-height);
min-height: var(--container-min-height);
padding-top: var(--header-padding);
margin-top: 0px !important;
display: flex !important;
overflow: visible;
transition: border-bottom ease-in-out var(--duration-button);
box-sizing: content-box;
}
.markdown-source-view :not(pre.code-styler-pre) > [class^=code-styler-header-container] {
background: linear-gradient(var(--code-styler-header-background-colour) 0%, var(--code-styler-header-background-colour) calc(100% - var(--header-separator-width)), var(--code-styler-header-separator-colour) calc(100% - var(--header-separator-width)), var(--code-styler-header-separator-colour) 100%) var(--language-border-width) bottom/100% border-box no-repeat, var(--language-border-colour) !important;
padding-left: var(--language-border-width);
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
padding-bottom: var(--header-separator-width);
border-top: var(--code-styler-header-border);
border-left: var(--code-styler-header-border);
border-right: var(--code-styler-header-border);
}
pre.code-styler-pre [class^=code-styler-header-container] {
background-color: var(--code-styler-header-background-colour);
border-bottom: var(--header-separator-width) solid var(--code-styler-header-separator-colour);
}
.markdown-source-view :not(pre.code-styler-pre) > [class^=code-styler-header-container]:not(:has(+ .HyperMD-codeblock-begin)) {
background: linear-gradient(var(--code-styler-header-background-colour) 0%, var(--code-styler-header-background-colour) 100%) var(--language-border-width) bottom/100% border-box no-repeat, var(--language-border-colour) !important;
padding-bottom: var(--header-padding);
border-bottom-left-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
border-bottom: var(--code-styler-header-border);
border-bottom: var(--collapsed-bottom-border);
}
pre.code-styler-pre.code-styler-collapsed [class^=code-styler-header-container] {
border-bottom: var(--collapsed-bottom-border);
}
[class^=code-styler-header-container] [class^=code-styler-header-language-tag] {
display: flex;
justify-content: center;
align-content: center;
flex-direction: column;
height: 100%;
padding-left: var(--header-spacing);
padding-right: var(--header-spacing);
margin-right: var(--header-spacing);
padding-top: calc(1em * var(--header-inner-vertical-padding));
padding-bottom: calc(1em * var(--header-inner-vertical-padding));
font-size: inherit;
border-radius: var(--border-radius) var(--border-radius) 0px 0px;
background-color: var(--code-styler-header-language-tag-background-colour);
color: var(--code-styler-header-language-tag-text-colour);
font-weight: var(--code-styler-header-language-tag-text-bold, normal);
font-style: var(--code-styler-header-language-tag-text-italic, normal);
text-align: center;
transition: border-radius ease-in-out var(--duration-button), padding ease-in-out var(--duration-button);
}
.markdown-source-view :not(pre.code-styler-pre) > [class^=code-styler-header-container]:not(:has(+ .HyperMD-codeblock-begin)) [class^=code-styler-header-language-tag],
pre.code-styler-pre.code-styler-collapsed [class^=code-styler-header-container] [class^=code-styler-header-language-tag] {
border-radius: var(--border-radius);
}
.code-styler-header-text {
display: flex;
justify-content: center;
align-content: center;
flex-direction: column;
padding-left: 0px;
padding-top: calc(1em * var(--header-inner-vertical-padding));
padding-bottom: calc(1em * var(--header-inner-vertical-padding));
font-size: inherit;
color: var(--code-styler-header-text-colour);
font-weight: var(--code-styler-header-title-text-bold, normal);
font-style: var(--code-styler-header-title-text-italic, normal);
transition: padding ease-in-out var(--duration-button);
}
body:not([class*=code-styler-show-langicons]) .code-styler-header-container-specific [class^=code-styler-header-language-tag],
body:not(.code-styler-show-langicons-always) .code-styler-header-container [class^=code-styler-header-language-tag],
body .code-styler-header-container-specific:not(:has(div > img.code-styler-icon)) [class^=code-styler-header-language-tag] {
border-top-left-radius: 0 !important;
border-bottom-left-radius: 0 !important;
}
body:not([class*=code-styler-show-langicons]):not([class*=code-styler-show-langnames]) .code-styler-header-container-specific .code-styler-header-text,
body:not(.code-styler-show-langicons-always):not(.code-styler-show-langnames) .code-styler-header-container .code-styler-header-text,
body .code-styler-header-container-specific:not(:has([class^=code-styler-header-language-tag-])) .code-styler-header-text {
padding-left: var(--header-spacing);
}
div:has(> img.code-styler-icon) {
display: inline-flex;
justify-content: center;
align-content: center;
flex-direction: column;
padding-top: calc(1em * var(--header-inner-vertical-padding));
padding-bottom: calc(1em * var(--header-inner-vertical-padding));
padding-left: var(--header-spacing);
padding-right: var(--header-spacing);
transition: padding ease-in-out var(--duration-button);
}
.code-styler-icon {
width: var(--language-icon-size);
height: var(--language-icon-size);
filter: var(--language-icon-filter);
margin: 0 !important;
border: none !important;
}
pre.code-styler-pre [class^=code-styler-line-highlighted] > .code-styler-line-text {
background-image: linear-gradient(90deg, var(--gradient-background-colour) 0% var(--gradient-highlights-colour-stop), var(--code-styler-codeblock-background-colour) 100%);
}
.code-styler-line-highlighted {
--gradient-background-colour: var(--code-styler-default-highlight-colour) !important;
}
.code-styler-active-line-highlight .cm-active,
.code-styler-active-line-highlight-editor .cm-active {
background: linear-gradient(to right, var(--code-styler-active-editor-line-colour), var(--gradient-highlights-colour-stop), transparent) !important;
}
.code-styler-active-line-highlight .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active,
.code-styler-active-line-highlight-codeblock .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active {
background: linear-gradient(to right, var(--code-styler-active-codeblock-line-colour), var(--gradient-highlights-colour-stop), var(--code-styler-codeblock-background-colour)) !important;
}
.code-styler:not(.code-styler-show-line-numbers) .code-styler-line-number,
.code-styler-line-number-hide {
display: none;
}
.code-styler code > div:first-child > [class^=code-styler-line-number] {
box-shadow: 0px calc(-1 * var(--code-padding)) var(--code-styler-gutter-background-colour);
transition: box-shadow ease-in-out var(--duration-button);
}
.code-styler .code-styler-collapsed > code > div:first-child > [class^=code-styler-line-number] {
box-shadow: 0px 0px var(--code-styler-gutter-background-colour);
}
.code-styler code > div:last-child > [class^=code-styler-line-number] {
box-shadow: 0px var(--code-padding) var(--code-styler-gutter-background-colour);
}
.code-styler code > div:only-child > [class^=code-styler-line-number] {
box-shadow: 0px calc(-1 * var(--code-padding)) var(--code-styler-gutter-background-colour), 0px var(--code-padding) var(--code-styler-gutter-background-colour);
}
[class^=code-styler-line-number] {
padding-left: calc(4px + var(--language-border-width));
padding-right: 8px;
text-align: right;
min-width: var(--line-number-gutter-min-width);
background-color: var(--code-styler-gutter-background-colour);
font-size: var(--code-size);
font-family: var(--font-monospace);
color: var(--code-styler-gutter-text-colour);
user-select: none;
}
.markdown-source-view .HyperMD-codeblock .code-styler-line-number,
.markdown-source-view .HyperMD-codeblock .code-styler-line-number-specific {
padding-top: var(--line-number-height-correction);
position: absolute;
box-sizing: content-box;
display: inline-block;
height: 100%;
min-width: calc(var(--line-number-gutter-min-width) - 12px);
overflow-x: auto;
direction: rtl;
left: 0;
}
.markdown-source-view .HyperMD-codeblock-begin .code-styler-line-number,
.markdown-source-view .HyperMD-codeblock-begin .code-styler-line-number-specific,
.markdown-source-view .HyperMD-codeblock-end .code-styler-line-number,
.markdown-source-view .HyperMD-codeblock-end .code-styler-line-number-specific {
width: var(--line-number-gutter-width);
}
pre.code-styler-pre [class^=code-styler-line-number] {
white-space: nowrap;
grid-column: 1;
position: sticky;
top: -1px;
left: 0;
border-top: var(--line-number-height-correction) solid transparent;
}
pre.code-styler-pre div:last-child > [class^=code-styler-line-number] {
width: unset;
}
.code-styler-gutter-highlight pre.code-styler-pre [class*=code-styler-line-highlighted] [class^=code-styler-line-number] {
background-color: var(--gradient-background-colour);
}
.code-styler-active-line-highlight.code-styler-gutter-highlight .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active [class^=code-styler-line-number],
.code-styler-active-line-highlight-codeblock.code-styler-gutter-highlight .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active [class^=code-styler-line-number],
.code-styler-gutter-highlight [class*=code-styler-line-highlighted] [class^=code-styler-line-number] {
background-color: rgba(0, 0, 0, 0);
}
.code-styler-gutter-active-line .cm-active [class^=code-styler-line-number] {
color: var(--code-styler-gutter-active-text-colour);
}
.code-styler.code-styler-show-line-numbers .markdown-source-view .HyperMD-codeblock:has(.code-styler-line-number),
.code-styler.code-styler-show-line-numbers .markdown-source-view .HyperMD-codeblock:has(.code-styler-line-number-specific) {
padding-left: calc(12px + var(--language-border-width) + var(--line-number-gutter-width) + var(--line-number-gutter-padding)) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line]::before {
content: none !important;
}
pre.code-styler-pre > code > div[class*=code-styler-line] {
display: contents !important;
}
pre.code-styler-pre .code-styler-line-text {
flex-basis: 100%;
padding-left: var(--line-number-gutter-padding);
grid-column: 2;
}
.HyperMD-codeblock:has(> .cm-widgetBuffer) {
white-space: nowrap;
}
.HyperMD-codeblock:has(> .cm-widgetBuffer) > .cm-hmd-codeblock {
white-space: break-spaces;
}
pre.code-styler-pre::-webkit-scrollbar,
pre.code-styler-pre > code::-webkit-scrollbar {
width: var(--code-padding) !important;
height: var(--code-padding) !important;
}
pre.code-styler-pre.code-styler-collapsed::-webkit-scrollbar,
pre.code-styler-pre.code-styler-collapsed code::-webkit-scrollbar {
display: none;
}
@keyframes outdent {
from {
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
clip-path: var(--polygon-in);
}
to {
margin-right: var(--copy-code-header-right-margin);
clip-path: var(--polygon-out);
}
}
@keyframes indent {
from {
margin-right: var(--copy-code-header-right-margin);
clip-path: var(--polygon-out);
}
to {
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
clip-path: var(--polygon-in);
}
}
@keyframes reverse-outdent {
from {
clip-path: var(--polygon-in);
}
to {
clip-path: var(--polygon-out);
}
}
@keyframes reverse-indent {
from {
clip-path: var(--polygon-out);
}
to {
clip-path: var(--polygon-in);
}
}
.markdown-rendered pre.code-styler-pre button {
transition: visibility var(--duration-button), opacity var(--duration-button);
visibility: visible;
opacity: 1;
display: unset !important;
color: var(--code-styler-button-colour) !important;
background: transparent !important;
box-shadow: none;
font-family: var(--font-interface);
font-size: var(--font-ui-smaller);
margin: 0;
padding: 0 !important;
border: none !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
pre.code-styler-pre:not(.code-styler-collapsed):not(:hover) button,
pre.code-styler-pre.code-styler-collapsed button,
pre.code-styler-pre:not(.code-styler-collapsed):not(:hover) [class^=code-styler-header-container]::after {
visibility: hidden;
opacity: 0;
}
[class^=code-styler-header-container]::after {
position: relative;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
margin-right: var(--header-button-spacing);
content: "\200b";
width: 20px;
height: 20px;
background-color: var(--code-styler-button-colour);
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M16 22 6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
mask-repeat: no-repeat;
visibility: visible;
opacity: 1;
scale: 0.8;
transition:
transform var(--duration-button) ease-out,
visibility var(--duration-button),
opacity var(--duration-button),
scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
}
pre.code-styler-pre.code-styler-collapsed [class^=code-styler-header-container]::after,
.markdown-source-view :not(pre.code-styler-pre) > [class^=code-styler-header-container]:not(:has(+ .HyperMD-codeblock-begin))::after {
transform: rotate(-90deg);
}
[class^=code-styler-header-container]:hover::after {
scale: 1;
}
body:not(.code-styler-show-langicons-always):not(.code-styler-show-langnames-always) pre.code-styler-pre:has(.code-styler-header-container) button.copy-code-button,
body:not(.code-styler-show-langnames-always) pre.code-styler-pre:not(:has(.code-styler-header-container-specific)):not(:has(.code-styler-header-container img.code-styler-icon)) button.copy-code-button,
body pre.code-styler-pre:not([class*=language-]):has(.code-styler-header-container) button.copy-code-button {
top: calc(0.5 * var(--font-text-size) * 0.875 * var(--line-height-normal)) !important;
--copy-code-header-right-margin: 12px;
}
body:not(.code-styler-show-langicons-always):not(.code-styler-show-langnames-always) .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container + .HyperMD-codeblock-begin,
body:not(.code-styler-show-langnames-always) .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has(img.code-styler-icon)) + .HyperMD-codeblock-begin,
body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has([class*=code-styler-header-language-tag-])) + .HyperMD-codeblock-begin {
overflow: hidden;
}
body:not(.code-styler-show-langicons-always):not(.code-styler-show-langnames-always) .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container + .HyperMD-codeblock-begin span.code-block-flair,
body:not(.code-styler-show-langnames-always) .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has(img.code-styler-icon)) + .HyperMD-codeblock-begin span.code-block-flair,
body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has([class*=code-styler-header-language-tag-])) + .HyperMD-codeblock-begin span.code-block-flair {
top: calc(0.5 * var(--font-text-size) * 0.875 * var(--line-height-normal)) !important;
--copy-code-header-right-margin: 12px;
}
pre.code-styler-pre button.copy-code-button {
transform: translateY(-50%);
top: max(calc(0.5 * var(--container-height) * 1), calc(0.5 * var(--container-min-height) * 1)) !important;
bottom: unset !important;
}
pre.code-styler-pre button.copy-code-button,
pre.code-styler-pre button.run-code-button,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair {
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
will-change: margin-right, clip-path;
clip-path: var(--polygon-in);
}
pre.code-styler-pre button.copy-code-button:not(:active),
pre.code-styler-pre button.run-code-button:not(:active),
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:not(:active) {
animation: indent var(--duration-button);
}
pre.code-styler-pre button.copy-code-button:hover,
pre.code-styler-pre button.run-code-button:hover,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:hover {
background-color: transparent;
animation: outdent var(--duration-button);
margin-right: var(--copy-code-header-right-margin);
clip-path: var(--polygon-out);
}
pre.code-styler-pre button.copy-code-button:active,
pre.code-styler-pre button.run-code-button:active,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:active {
scale: 0.95;
transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
}
pre.code-styler-pre button.copy-code-button::before,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::before {
content: "\200b";
display: inline-block;
width: 14px;
height: 14px;
padding-right: 4px;
background-color: var(--code-styler-button-colour);
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M28 10v18H10V10h18m0-2H10a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2Z'/%3E%3Cpath d='M4 18H2V4a2 2 0 0 1 2-2h14v2H4Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M28 10v18H10V10h18m0-2H10a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2Z'/%3E%3Cpath d='M4 18H2V4a2 2 0 0 1 2-2h14v2H4Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E");
mask-repeat: no-repeat;
vertical-align: 1px;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair {
transform: translateY(-50%);
font-size: 0;
top: min(calc(-0.5 * var(--container-height) * 1.1 - var(--header-separator-width)), calc(-0.5 * var(--container-min-height) * 1.1 - var(--header-separator-width))) !important;
right: 0;
visibility: hidden;
padding: 0;
position: absolute;
line-height: initial !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair > * {
width: 0px;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::before {
visibility: visible;
opacity: 1;
vertical-align: -1px;
font-size: var(--font-ui-smaller);
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::after {
visibility: visible;
opacity: 1;
font-size: var(--font-ui-smaller);
content: "Copy";
color: var(--code-styler-button-colour);
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock-begin.code-styler-line {
overflow: visible;
}
/* src/css/inlineCode.css */
body {
--code-styler-inline-font-weight: 400;
--code-styler-inline-border-radius: 6px;
--code-styler-inline-padding-vertical: 5px;
--code-styler-inline-padding-horizontal: 5px;
--code-styler-inline-margin-horizontal: 0px;
--code-styler-inline-colour: var(--code-normal);
--code-styler-inline-colour-active: var(--code-normal);
--code-styler-inline-background-colour: var(--code-background);
}
.code-styler .cm-s-obsidian span.cm-inline-code,
.code-styler .markdown-rendered :not(pre) > code {
font-weight: var(--code-styler-inline-font-weight);
color: var(--code-styler-inline-colour);
background-color: var(--code-styler-inline-background-colour) !important;
border-radius: var(--code-styler-inline-border-radius) !important;
padding: var(--code-styler-inline-padding-vertical) var(--code-styler-inline-padding-horizontal) !important;
margin: 0px var(--code-styler-inline-margin-horizontal) !important;
}
.code-styler .cm-s-obsidian span.cm-formatting-code {
color: var(--code-styler-inline-colour-active);
display: inline !important;
}
.code-styler .cm-s-obsidian span.code-styler-inline-opener ~ span.cm-inline-code:not(.cm-formatting-code) {
margin-left: 0px !important;
padding-left: 0px !important;
border-radius: 0px var(--code-styler-inline-border-radius) var(--code-styler-inline-border-radius) 0px !important;
}
.code-styler .cm-s-obsidian span.code-styler-inline-opener,
.code-styler .cm-s-obsidian span.cm-formatting-code:has(+ span.cm-inline-code:not(.cm-formatting-code)) {
color: var(--code-styler-inline-colour-active);
border-radius: var(--code-styler-inline-border-radius) 0px 0px var(--code-styler-inline-border-radius) !important;
padding-left: var(--code-styler-inline-padding-horizontal) !important;
padding-right: 0px !important;
margin-left: var(--code-styler-inline-margin-horizontal) !important;
margin-right: 0px !important;
}
.code-styler .cm-s-obsidian span.cm-formatting-code + span.cm-inline-code:not(.cm-formatting-code) {
color: var(--code-styler-inline-colour-active);
border-radius: 0px !important;
padding-left: 0px !important;
padding-right: 0px !important;
margin: 0px 0px !important;
}
.code-styler .cm-s-obsidian span.cm-inline-code:not(.cm-formatting-code) + span.cm-formatting-code {
color: var(--code-styler-inline-colour-active);
border-radius: 0px var(--code-styler-inline-border-radius) var(--code-styler-inline-border-radius) 0px !important;
padding-left: 0px !important;
padding-right: var(--code-styler-inline-padding-horizontal) !important;
margin-left: 0px !important;
margin-right: var(--code-styler-inline-margin-horizontal) !important;
}
body.code-styler span.code-styler-inline-opener > span > img.code-styler-inline-icon:not([class*=emoji]) {
height: calc(var(--code-size) * 1.2);
margin-bottom: 2px !important;
vertical-align: middle;
display: inline !important;
}
.code-styler span.code-styler-inline-opener .code-styler-inline-title {
font-weight: var(--code-styler-inline-title-font-weight);
color: var(--code-styler-inline-title-colour);
}
.code-styler span.code-styler-inline-opener .code-styler-inline-title::after {
content: "\ff5c";
color: var(--code-styler-inline-title-color);
}
.code-styler span.code-styler-inline-opener span:has(> img.code-styler-inline-icon) {
padding-right: 8px;
}
.code-styler .cm-s-obsidian span.cm-inline-code .code-styler-inline-parameters {
color: var(--code-comment);
}
/* src/css/pdfExport.css */
div.print {
--line-wrapping: pre-wrap !important;
}
.code-styler div.print pre.code-styler-pre code {
max-height: unset !important;
}
.code-styler div.print pre.code-styler-pre.code-styler-collapsed code {
display: none !important;
}
/* src/css/pickr.css */
.pickr {
position: relative;
overflow: visible;
transform: translateY(0);
}
.pickr * {
box-sizing: border-box;
outline: none;
border: none;
appearance: none;
-webkit-appearance: none;
}
.pickr .pcr-button {
position: relative;
height: 2em;
width: 2em;
padding: 0.5em;
cursor: pointer;
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
"Roboto",
"Helvetica Neue",
Arial,
sans-serif;
border-radius: .15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>') no-repeat center;
background-size: 0;
transition: all 0.3s;
}
.pickr .pcr-button::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
border-radius: .15em;
z-index: -1;
}
.pickr .pcr-button::before {
z-index: initial;
}
.pickr .pcr-button::after {
position: absolute;
content: "";
top: 0;
left: 0;
height: 100%;
width: 100%;
transition: background 0.3s;
background: var(--pcr-color);
border-radius: .15em;
}
.pickr .pcr-button.clear {
background-size: 70%;
}
.pickr .pcr-button.clear::before {
opacity: 0;
}
.pickr .pcr-button.clear:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color);
}
.pickr .pcr-button.disabled {
cursor: not-allowed;
}
.pickr *,
.pcr-app * {
box-sizing: border-box;
outline: none;
border: none;
appearance: none;
-webkit-appearance: none;
}
.pickr input:focus,
.pickr input.pcr-active,
.pickr button:focus,
.pickr button.pcr-active,
.pcr-app input:focus,
.pcr-app input.pcr-active,
.pcr-app button:focus,
.pcr-app button.pcr-active {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color);
}
.pickr .pcr-palette,
.pickr .pcr-slider,
.pcr-app .pcr-palette,
.pcr-app .pcr-slider {
transition: box-shadow 0.3s;
}
.pickr .pcr-palette:focus,
.pickr .pcr-slider:focus,
.pcr-app .pcr-palette:focus,
.pcr-app .pcr-slider:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(0, 0, 0, 0.25);
}
.pcr-app {
position: fixed;
display: flex;
flex-direction: column;
z-index: 10000;
border-radius: 0.1em;
background: #fff;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0s 0.3s;
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
"Roboto",
"Helvetica Neue",
Arial,
sans-serif;
box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.1), 0 0 1em 0 rgba(0, 0, 0, 0.03);
left: 0;
top: 0;
}
.pcr-app.visible {
transition: opacity 0.3s;
visibility: visible;
opacity: 1;
}
.pcr-app .pcr-swatches {
display: flex;
flex-wrap: wrap;
margin-top: 0.75em;
}
.pcr-app .pcr-swatches.pcr-last {
margin: 0;
}
@supports (display: grid) {
.pcr-app .pcr-swatches {
display: grid;
align-items: center;
grid-template-columns: repeat(auto-fit, 1.75em);
}
}
.pcr-app .pcr-swatches > button {
font-size: 1em;
position: relative;
width: calc(1.75em - 10px);
height: calc(1.75em - 10px);
border-radius: 0.15em;
cursor: pointer;
margin: 2.5px;
flex-shrink: 0;
justify-self: center;
transition: all 0.15s;
overflow: hidden;
background: transparent;
z-index: 1;
}
.pcr-app .pcr-swatches > button::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 6px;
border-radius: .15em;
z-index: -1;
}
.pcr-app .pcr-swatches > button::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--pcr-color);
border: 1px solid rgba(0, 0, 0, 0.05);
border-radius: 0.15em;
box-sizing: border-box;
}
.pcr-app .pcr-swatches > button:hover {
filter: brightness(1.05);
}
.pcr-app .pcr-swatches > button:not(.pcr-active) {
box-shadow: none;
}
.pcr-app .pcr-interaction {
display: flex;
flex-wrap: wrap;
align-items: center;
margin: 0 -0.2em 0 -0.2em;
}
.pcr-app .pcr-interaction > * {
margin: 0 0.2em;
}
.pcr-app .pcr-interaction input {
letter-spacing: 0.07em;
font-size: 0.75em;
text-align: center;
cursor: pointer;
color: #75797e;
background: #f1f3f4;
border-radius: .15em;
transition: all 0.15s;
padding: 0.45em 0.5em;
margin-top: 0.75em;
}
.pcr-app .pcr-interaction input:hover {
filter: brightness(0.975);
}
.pcr-app .pcr-interaction input:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(66, 133, 244, 0.75);
}
.pcr-app .pcr-interaction .pcr-result {
color: #75797e;
text-align: left;
flex: 1 1 8em;
min-width: 8em;
transition: all 0.2s;
border-radius: .15em;
background: #f1f3f4;
cursor: text;
}
.pcr-app .pcr-interaction .pcr-result::-moz-selection {
background: #4285f4;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-result::selection {
background: #4285f4;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-type.active {
color: #fff;
background: #4285f4;
}
.pcr-app .pcr-interaction .pcr-save,
.pcr-app .pcr-interaction .pcr-cancel,
.pcr-app .pcr-interaction .pcr-clear {
color: #fff;
width: auto;
}
.pcr-app .pcr-interaction .pcr-save,
.pcr-app .pcr-interaction .pcr-cancel,
.pcr-app .pcr-interaction .pcr-clear {
color: #fff;
}
.pcr-app .pcr-interaction .pcr-save:hover,
.pcr-app .pcr-interaction .pcr-cancel:hover,
.pcr-app .pcr-interaction .pcr-clear:hover {
filter: brightness(0.925);
}
.pcr-app .pcr-interaction .pcr-save {
background: #4285f4;
}
.pcr-app .pcr-interaction .pcr-clear,
.pcr-app .pcr-interaction .pcr-cancel {
background: #f44250;
}
.pcr-app .pcr-interaction .pcr-clear:focus,
.pcr-app .pcr-interaction .pcr-cancel:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(244, 66, 80, 0.75);
}
.pcr-app .pcr-selection .pcr-picker {
position: absolute;
height: 18px;
width: 18px;
border: 2px solid #fff;
border-radius: 100%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pcr-app .pcr-selection .pcr-color-palette,
.pcr-app .pcr-selection .pcr-color-chooser,
.pcr-app .pcr-selection .pcr-color-opacity {
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
display: flex;
flex-direction: column;
cursor: grab;
cursor: -webkit-grab;
}
.pcr-app .pcr-selection .pcr-color-palette:active,
.pcr-app .pcr-selection .pcr-color-chooser:active,
.pcr-app .pcr-selection .pcr-color-opacity:active {
cursor: grabbing;
cursor: -webkit-grabbing;
}
.pcr-app[data-theme=nano] {
width: 14.25em;
max-width: 95vw;
}
.pcr-app[data-theme=nano] .pcr-swatches {
margin-top: .6em;
padding: 0 .6em;
}
.pcr-app[data-theme=nano] .pcr-interaction {
padding: 0 .6em .6em .6em;
}
.pcr-app[data-theme=nano] .pcr-selection {
display: grid;
grid-gap: .6em;
grid-template-columns: 1fr 4fr;
grid-template-rows: 5fr auto auto;
align-items: center;
height: 10.5em;
width: 100%;
align-self: flex-start;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview {
grid-area: 2 / 1 / 4 / 1;
height: 100%;
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
margin-left: .6em;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-last-color {
display: none;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color {
position: relative;
background: var(--pcr-color);
width: 2em;
height: 2em;
border-radius: 50em;
overflow: hidden;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
border-radius: .15em;
z-index: -1;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette {
grid-area: 1 / 1 / 2 / 3;
width: 100%;
height: 100%;
z-index: 1;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette {
border-radius: .15em;
width: 100%;
height: 100%;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
border-radius: .15em;
z-index: -1;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser {
grid-area: 2 / 2 / 2 / 2;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity {
grid-area: 3 / 2 / 3 / 2;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser,
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity {
height: 0.5em;
margin: 0 .6em;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-picker,
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-picker {
top: 50%;
transform: translateY(-50%);
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider,
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider {
flex-grow: 1;
border-radius: 50em;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider {
background: linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red);
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider {
background: linear-gradient(to right, transparent, black), url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 100%, 0.25em;
}
.pcr-app .pcr-swatches > button {
padding: 0;
}
/* src/css/pluginCompatibility.css */
pre.code-styler-pre code ~ code.language-output {
display: block;
margin-bottom: 0;
padding-bottom: calc(2.5 * var(--code-padding)) !important;
padding-left: calc(var(--line-number-gutter-padding)) !important;
border-top: var(--header-separator-width) solid var(--code-styler-header-separator-colour);
}
pre.code-styler-pre.code-styler-collapsed code ~ code.language-output {
border-top-color: transparent;
border-top-width: 0;
}
pre.code-styler-pre:hover code ~ code.language-output {
margin-bottom: 0;
}
pre.code-styler-pre code ~ code.language-output input.interactive-stdin {
color: var(--text-normal);
background-color: var(--code-styler-codeblock-background-colour);
padding: 2px 8px;
border-color: var(--code-comment);
border-style: solid;
border-radius: 5px;
border-width: 1px;
}
pre.code-styler-pre code ~ code.language-output hr {
display: none;
}
pre.code-styler-pre button.run-code-button {
--copy-code-header-right-margin: 12px;
--dent-difference: 24px;
height: 14px;
margin-bottom: 6px !important;
}
pre.code-styler-pre.code-styler-collapsed button.run-code-button {
top: 500px;
}
pre.code-styler-pre button.run-code-button::before {
content: "\200b";
display: inline-block;
width: 14px;
height: 14px;
padding-right: 4px;
background-color: var(--code-styler-button-colour);
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
mask-repeat: no-repeat;
vertical-align: 0px;
}
pre.code-styler-pre button.clear-button-disabled,
pre.code-styler-pre button.run-button-disabled {
display: none !important;
}
pre.code-styler-pre button.clear-button {
height: 14px;
margin-bottom: 6px !important;
margin-left: calc(var(--language-border-width) + 12px);
will-change: margin-right, clip-path;
clip-path: var(--polygon-in);
}
pre.code-styler-pre button.clear-button::before {
content: "\200b";
display: inline-block;
width: 14px;
height: 14px;
padding-right: 4px;
background-color: var(--code-styler-button-colour);
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 4 6 14l1.41 1.41L15 7.83V28h2V7.83l7.59 7.58L26 14 16 4z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 4 6 14l1.41 1.41L15 7.83V28h2V7.83l7.59 7.58L26 14 16 4z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
mask-repeat: no-repeat;
vertical-align: 0px;
}
pre.code-styler-pre button.clear-button:not(:active) {
animation: reverse-indent var(--duration-button);
}
pre.code-styler-pre button.clear-button:hover {
background-color: transparent;
animation: reverse-outdent var(--duration-button);
margin-right: var(--copy-code-header-right-margin);
clip-path: var(--polygon-out);
}
pre.code-styler-pre button.clear-button:active {
scale: 0.95;
transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator {
color: none;
background: none;
z-index: 10;
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator::before {
box-shadow: none;
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator svg {
color: var(--code-styler-button-colour);
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator svg:hover {
color: var(--code-styler-button-active-colour);
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator.visible {
transform: translateX(0);
}
.block-language-preview pre.code-styler-pre code {
white-space: unset;
}
pre.code-styler-pre span.code-block-line_num-wrap,
pre.code-styler-pre div.code-block-highlight-wrap {
display: none;
}
.markdown-source-view.mod-cm6 .cm-embed-block .code-styler-pre-parent + .edit-block-button::after {
content: "Edit Block";
font-size: var(--font-ui-smaller);
padding-left: 4px;
}
.markdown-source-view.mod-cm6 .cm-embed-block:not(:hover) .code-styler-pre-parent + .edit-block-button {
visibility: hidden;
opacity: 0;
}
.markdown-source-view.mod-cm6 .cm-embed-block .code-styler-pre-parent + .edit-block-button {
--copy-code-header-right-margin: calc(2.2 * var(--header-button-spacing));
--dent-difference: 0px;
--polygon-in: polygon(0 0, 18px 0, 18px 36px, 0 36px);
transition: visibility var(--duration-button), opacity var(--duration-button);
visibility: visible;
opacity: 1;
z-index: 10;
transform: translateY(-50%);
top: max(calc(0.5 * var(--container-height) * 1), calc(0.5 * var(--container-min-height) * 1));
margin: 0;
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
will-change: margin-right, clip-path;
clip-path: var(--polygon-in);
padding: 0;
}
body:not(.code-styler-show-langicons-always):not(.code-styler-show-langnames-always) .cm-embed-block .code-styler-pre-parent:has(pre.code-styler-pre .code-styler-header-container) + .edit-block-button,
body:not(.code-styler-show-langnames-always) .cm-embed-block .code-styler-pre-parent:not(:has(pre.code-styler-pre .code-styler-header-container-specific)):not(:has(pre.code-styler-pre .code-styler-header-container img.code-styler-icon)) + .edit-block-button,
body .cm-embed-block .code-styler-pre-parent:has(pre.code-styler-pre:not([class*=language-]) .code-styler-header-container) + .edit-block-button {
--copy-code-header-right-margin: 4px;
top: calc(0.5 * var(--font-text-size) * 0.875 * var(--line-height-normal));
}
.markdown-source-view.mod-cm6 .cm-embed-block:hover .code-styler-pre-parent + .edit-block-button:hover {
background: transparent;
animation: reverse-outdent var(--duration-button);
margin-right: var(--copy-code-header-right-margin);
clip-path: var(--polygon-out);
}
.markdown-source-view.mod-cm6 .cm-embed-block:hover .code-styler-pre-parent + .edit-block-button:active {
scale: 0.95;
transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
}
div.block-language-include pre.code-styler-pre button.copy-code-button {
margin: 0;
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
}
div.block-language-include pre.code-styler-pre button.copy-code-button:hover {
margin-right: var(--copy-code-header-right-margin);
}
/* src/styles.css */
/*! Complicated */
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2Nzcy9jb2RlYmxvY2tzLmNzcyIsICJzcmMvY3NzL2lubGluZUNvZGUuY3NzIiwgInNyYy9jc3MvcGRmRXhwb3J0LmNzcyIsICJzcmMvY3NzL3BpY2tyLmNzcyIsICJzcmMvY3NzL3BsdWdpbkNvbXBhdGliaWxpdHkuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiogRGVmaW5lIENTUyBWYXJpYWJsZXMgKi9cbmJvZHkge1xuXHQvKiBDb2RlYmxvY2sgQm9keSAqL1xuXHQtLWJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdC0tZ3JhZGllbnQtYmFja2dyb3VuZC1jb2xvdXI6IHRyYW5zcGFyZW50O1xuXHQtLWNvZGUtcGFkZGluZzogOHB4O1xuXHQtLWNvbnRhaW5lci1oZWlnaHQ6IGNhbGModmFyKC0tbGFuZ3VhZ2UtaWNvbi1zaXplKSArIDIgKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykgKiB2YXIoLS1oZWFkZXItZm9udC1zaXplKSk7XG5cdC0tY29udGFpbmVyLW1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLWhlYWRlci1mb250LXNpemUpICsgMiAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSAqIHZhcigtLWhlYWRlci1mb250LXNpemUpKSAqIHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCkpO1xuXHQtLWxhbmd1YWdlLWJvcmRlci1jb2xvdXI6IHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cik7XG5cdC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoOiAwcHg7XG5cblx0LyogSGVhZGVyICovXG5cdC0taGVhZGVyLWZvbnQtc2l6ZTogdmFyKC0tY29kZS1zaXplKTtcblx0LS1oZWFkZXItcGFkZGluZzogMHB4O1xuXHQtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nOiAwLjM7XG5cdC0taGVhZGVyLXNwYWNpbmc6IDE1cHg7XG5cdC0taGVhZGVyLWJ1dHRvbi1zcGFjaW5nOiAxNHB4O1xuXHQtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGg6IDJweDtcblx0LS1oZWFkZXItc2VwYXJhdG9yLXdpZHRoLXBhZGRpbmc6IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpO1xuXHQtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXI6IG5vbmU7XG5cdC0tY29sbGFwc2VkLWJvdHRvbS1ib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG5cdC0tbGFuZ3VhZ2UtaWNvbi1zaXplOiAyOHB4O1xuXHQtLWxhbmd1YWdlLWljb24tZmlsdGVyOiBub25lO1xuXG5cdC8qIExpbmVzICovXG5cdC0tZ3JhZGllbnQtaGlnaGxpZ2h0cy1jb2xvdXItc3RvcDogMTAwJTtcblxuXHQvKiBMaW5lIE51bWJlcnMgKi9cblx0LS1saW5lLW51bWJlci1oZWlnaHQtY29ycmVjdGlvbjogMnB4O1xuXHQtLWxpbmUtbnVtYmVyLWd1dHRlci1wYWRkaW5nOiAxNnB4O1xuXHQtLWxpbmUtbnVtYmVyLWd1dHRlci1taW4td2lkdGg6IDMyLjY3cHg7XG5cblx0LyogTGluZSBUZXh0ICovXG5cdC0tbGluZS13cmFwcGluZzogcHJlLXdyYXA7XG5cdC0tbGluZS1hY3RpdmUtd3JhcHBpbmc6IHZhcigtLWxpbmUtd3JhcHBpbmcpO1xuXG5cdC8qIEJ1dHRvbnMgKi9cblx0LS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0LS1jb2RlLXN0eWxlci1idXR0b24tYWN0aXZlLWNvbG91cjogd2hpdGU7XG5cdC0tZHVyYXRpb24tYnV0dG9uOiAyNDBtcztcblx0LS1kZW50LWRpZmZlcmVuY2U6IDMwcHg7XG5cdC0tcG9seWdvbi1pbjogcG9seWdvbigwIDAsIDE2cHggMCwgMTZweCAzNnB4LCAwIDM2cHgpO1xuXHQtLXBvbHlnb24tb3V0OiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IGNhbGMoMyAqIHZhcigtLWhlYWRlci1idXR0b24tc3BhY2luZykpO1xufVxuXG4vKiogUHJlIGVsZW1lbnRzICovXG4uY29kZS1zdHlsZXItcHJlLXBhcmVudHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRtaW4taGVpZ2h0OiB1bnNldDtcblx0cGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlW2NsYXNzKj0nbGFuZ3VhZ2UtJ10ge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWxhbmd1YWdlLWJvcmRlci1jb2xvdXIpLCB2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCksIHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikgMTAwJSkgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgY29kZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZSA+IGNvZGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IGF1dG87XG5cdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0cGFkZGluZy10b3A6IHZhcigtLWNvZGUtcGFkZGluZykgIWltcG9ydGFudDtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWNvZGUtcGFkZGluZykgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IG1heC1oZWlnaHQsIHBhZGRpbmcsIGJvcmRlci10b3A7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0bWF4LWhlaWdodDogdW5zZXQ7XG5cdG92ZXJmbG93LXg6IG92ZXJsYXk7XG5cdHdoaXRlLXNwYWNlOiB2YXIoLS1saW5lLXdyYXBwaW5nKTtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlLndyYXBwZWQgPiBjb2RlIHtcblx0LS1saW5lLXdyYXBwaW5nOiBwcmUtd3JhcDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlLnVud3JhcHBlZCA+IGNvZGUge1xuXHQtLWxpbmUtd3JhcHBpbmc6IHByZTtcblx0LS1saW5lLWFjdGl2ZS13cmFwcGluZzogcHJlO1xufVxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmUudW53cmFwcGVkLWluYWN0aXZlID4gY29kZSB7XG5cdC0tbGluZS13cmFwcGluZzogcHJlO1xuXHQtLWxpbmUtYWN0aXZlLXdyYXBwaW5nOiBwcmUtd3JhcDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlIGNvZGU6bm90KDpoYXMoID4gaW5wdXRbc3R5bGUqPVwiZGlzcGxheTogaW5saW5lO1wiXSkpOmFjdGl2ZSB7XG5cdC0tbGluZS13cmFwcGluZzogdmFyKC0tbGluZS1hY3RpdmUtd3JhcHBpbmcpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1jb2xsYXBzZWQgPiBjb2RlIHtcblx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcblx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcblx0bWF4LWhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmU6OmJlZm9yZSxcbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlOjphZnRlciB7XG5cdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1lbWJlZC1ibG9jayBwcmUuY29kZS1zdHlsZXItcHJlIHtcblx0bWFyZ2luOiAxZW0gMHB4O1xufVxuXG4vKiogRWRpdGluZyBNb2RlIEJvZHkgKi9cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4ge1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgLm1hcmtkb3duLXNvdXJjZS12aWV3IFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lXCJdLkh5cGVyTUQtY29kZWJsb2NrLWVuZCB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmdpY29ucy1hbHdheXMpOm5vdCguY29kZS1zdHlsZXItc2hvdy1sYW5nbmFtZXMtYWx3YXlzKSAubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyICsgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luLFxuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ25hbWVzLWFsd2F5cykgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoOmhhcyggaW1nLmNvZGUtc3R5bGVyLWljb24pKSArIC5IeXBlck1ELWNvZGVibG9jay1iZWdpbixcbmJvZHkgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoOmhhcyhbY2xhc3MqPSdjb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLSddKSkgKyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4sXG5ib2R5IC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KFtjbGFzc149J2NvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXInXSkgKyBbY2xhc3MqPVwiY29kZS1zdHlsZXItbGluZVwiXS5IeXBlck1ELWNvZGVibG9jay1iZWdpbixcbmJvZHkgLm1hcmtkb3duLXNvdXJjZS12aWV3IFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lXCJdLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luOm50aC1vZi10eXBlKDEpIHsgLyo/IERlcGVuZGluZyBvbiBoZWFkZXIgdmlzaWJpbGl0eSAqL1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1ncmFkaWVudC1iYWNrZ3JvdW5kLWNvbG91cikgdmFyKC0tZ3JhZGllbnQtaGlnaGxpZ2h0cy1jb2xvdXItc3RvcCksIHRyYW5zcGFyZW50IDEwMCUpLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCkgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddW2NsYXNzKj0nbGFuZ3VhZ2UtJ10ge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWxhbmd1YWdlLWJvcmRlci1jb2xvdXIpLCB2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpLCB2YXIoLS1ncmFkaWVudC1iYWNrZ3JvdW5kLWNvbG91cikgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoKSB2YXIoLS1ncmFkaWVudC1oaWdobGlnaHRzLWNvbG91ci1zdG9wKSwgdHJhbnNwYXJlbnQgMTAwJSksIHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddW2NsYXNzKj0nbGFuZ3VhZ2UtJ10gW2NsYXNzXj0nY29kZS1zdHlsZXItbGluZS1udW1iZXInXSB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpO1xufVxuXG4vKiogSGVhZGVyIHN0eWxpbmcgKi9cbi8qISBDb21wbGljYXRlZCAqL1xuYm9keTpub3QoW2NsYXNzKj0nY29kZS1zdHlsZXItc2hvdy1sYW5naWNvbnMnXSkgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItc3BlY2lmaWMgZGl2Omhhcyg+IGltZy5jb2RlLXN0eWxlci1pY29uKSxcbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmdpY29ucy1hbHdheXMpIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyIGRpdjpoYXMoPiBpbWcuY29kZS1zdHlsZXItaWNvbikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLyohIENvbXBsaWNhdGVkICovXG5ib2R5Om5vdChbY2xhc3MqPSdjb2RlLXN0eWxlci1zaG93LWxhbmduYW1lcyddKSAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci1zcGVjaWZpYyBbY2xhc3NePVwiY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZ1wiXSxcbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmduYW1lcy1hbHdheXMpIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyIFtjbGFzc149XCJjb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnXCJdIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi8qISBDb21wbGljYXRlZCAqL1xuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ2ljb25zLWFsd2F5cyk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmduYW1lcy1hbHdheXMpIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLFxuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ25hbWVzLWFsd2F5cykgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXI6bm90KDpoYXMoIGltZy5jb2RlLXN0eWxlci1pY29uKSkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbmJvZHkgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pLFxuYm9keSBwcmUuY29kZS1zdHlsZXItcHJlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSkgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5bY2xhc3NePSdjb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyJ10ge1xuXHRmb250LXNpemU6IHZhcigtLWhlYWRlci1mb250LXNpemUpO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0aGVpZ2h0OiB2YXIoLS1jb250YWluZXItaGVpZ2h0KTtcblx0bWluLWhlaWdodDogdmFyKC0tY29udGFpbmVyLW1pbi1oZWlnaHQpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLXBhZGRpbmcpO1xuXHRtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDsgIFxuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiBbY2xhc3NePSdjb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyJ10ge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKSAwJSx2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpKSwgdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXNlcGFyYXRvci1jb2xvdXIpIGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpKSwgdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXNlcGFyYXRvci1jb2xvdXIpIDEwMCUpIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkgYm90dG9tLzEwMCUgYm9yZGVyLWJveCBuby1yZXBlYXQsdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLWNvbG91cikgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpO1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aCk7XG5cdGJvcmRlci10b3A6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXIpO1xuXHRib3JkZXItbGVmdDogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWJvcmRlcik7XG5cdGJvcmRlci1yaWdodDogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWJvcmRlcik7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIFtjbGFzc149J2NvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXInXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpIHNvbGlkIHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1zZXBhcmF0b3ItY29sb3VyKTtcbn1cbi8qISBDb21wbGljYXRlZCAqL1xuLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiBbY2xhc3NePSdjb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyJ106bm90KDpoYXMoKyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4pKSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIDAlLHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cikgMTAwJSkgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoKSBib3R0b20vMTAwJSBib3JkZXItYm94IG5vLXJlcGVhdCx2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLXBhZGRpbmcpO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYm9yZGVyKTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sbGFwc2VkLWJvdHRvbS1ib3JkZXIpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1jb2xsYXBzZWQgW2NsYXNzXj0nY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciddIHtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sbGFwc2VkLWJvdHRvbS1ib3JkZXIpO1xufVxuW2NsYXNzXj0nY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciddIFtjbGFzc149XCJjb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnXCJdIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWhlYWRlci1zcGFjaW5nKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0taGVhZGVyLXNwYWNpbmcpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWhlYWRlci1zcGFjaW5nKTtcblx0cGFkZGluZy10b3A6IGNhbGMoMWVtICogdmFyKC0taGVhZGVyLWlubmVyLXZlcnRpY2FsLXBhZGRpbmcpKTtcblx0cGFkZGluZy1ib3R0b206IGNhbGMoMWVtICogdmFyKC0taGVhZGVyLWlubmVyLXZlcnRpY2FsLXBhZGRpbmcpKTtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwcHggMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLWJhY2tncm91bmQtY29sb3VyKTtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctdGV4dC1jb2xvdXIpO1xuXHRmb250LXdlaWdodDogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZy10ZXh0LWJvbGQsIG5vcm1hbCk7XG5cdGZvbnQtc3R5bGU6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctdGV4dC1pdGFsaWMsIG5vcm1hbCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyBlYXNlLWluLW91dCB2YXIoLS1kdXJhdGlvbi1idXR0b24pLCBwYWRkaW5nIGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbi5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gW2NsYXNzXj0nY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciddOm5vdCg6aGFzKCsgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luKSkgW2NsYXNzXj1cImNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWdcIl0sXG5wcmUuY29kZS1zdHlsZXItcHJlLmNvZGUtc3R5bGVyLWNvbGxhcHNlZCBbY2xhc3NePSdjb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyJ10gW2NsYXNzXj1cImNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWdcIl0ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cbi5jb2RlLXN0eWxlci1oZWFkZXItdGV4dCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmctbGVmdDogMHB4O1xuXHRwYWRkaW5nLXRvcDogY2FsYygxZW0gKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykpO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYygxZW0gKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykpO1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItdGV4dC1jb2xvdXIpO1xuXHRmb250LXdlaWdodDogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXRpdGxlLXRleHQtYm9sZCwgbm9ybWFsKTtcblx0Zm9udC1zdHlsZTogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXRpdGxlLXRleHQtaXRhbGljLCBub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBwYWRkaW5nIGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbmJvZHk6bm90KFtjbGFzcyo9J2NvZGUtc3R5bGVyLXNob3ctbGFuZ2ljb25zJ10pIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLXNwZWNpZmljIFtjbGFzc149XCJjb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnXCJdLFxuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ2ljb25zLWFsd2F5cykgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIgW2NsYXNzXj1cImNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWdcIl0sXG5ib2R5IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLXNwZWNpZmljOm5vdCg6aGFzKCBkaXYgPiBpbWcuY29kZS1zdHlsZXItaWNvbikpIFtjbGFzc149XCJjb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnXCJdIHsgLyo/IERlcGVuZGluZyBvbiBoZWFkZXIgdmlzaWJpbGl0eSAqL1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbi8qISBDb21wbGljYXRlZCAqL1xuYm9keTpub3QoW2NsYXNzKj0nY29kZS1zdHlsZXItc2hvdy1sYW5naWNvbnMnXSk6bm90KFtjbGFzcyo9J2NvZGUtc3R5bGVyLXNob3ctbGFuZ25hbWVzJ10pIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLXNwZWNpZmljIC5jb2RlLXN0eWxlci1oZWFkZXItdGV4dCxcbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmdpY29ucy1hbHdheXMpOm5vdCguY29kZS1zdHlsZXItc2hvdy1sYW5nbmFtZXMpIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyIC5jb2RlLXN0eWxlci1oZWFkZXItdGV4dCxcbmJvZHkgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItc3BlY2lmaWM6bm90KDpoYXMoIFtjbGFzc149XCJjb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLVwiXSkpIC5jb2RlLXN0eWxlci1oZWFkZXItdGV4dCB7IC8qPyBEZXBlbmRpbmcgb24gaGVhZGVyIHZpc2liaWxpdHkgKi9cblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1oZWFkZXItc3BhY2luZyk7XG59XG5kaXY6aGFzKD4gaW1nLmNvZGUtc3R5bGVyLWljb24pIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmctdG9wOiBjYWxjKDFlbSAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSk7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKDFlbSAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSk7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0taGVhZGVyLXNwYWNpbmcpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1oZWFkZXItc3BhY2luZyk7XG5cdHRyYW5zaXRpb246IHBhZGRpbmcgZWFzZS1pbi1vdXQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcbn1cbi5jb2RlLXN0eWxlci1pY29uIHtcblx0d2lkdGg6IHZhcigtLWxhbmd1YWdlLWljb24tc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tbGFuZ3VhZ2UtaWNvbi1zaXplKTtcblx0ZmlsdGVyOiB2YXIoLS1sYW5ndWFnZS1pY29uLWZpbHRlcik7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqIExpbmVzICovXG5wcmUuY29kZS1zdHlsZXItcHJlIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtaGlnaGxpZ2h0ZWQnXSA+IC5jb2RlLXN0eWxlci1saW5lLXRleHQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWdyYWRpZW50LWJhY2tncm91bmQtY29sb3VyKSAwJSB2YXIoLS1ncmFkaWVudC1oaWdobGlnaHRzLWNvbG91ci1zdG9wKSwgdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKSAxMDAlKTtcbn1cbi5jb2RlLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkIHtcblx0LS1ncmFkaWVudC1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tY29kZS1zdHlsZXItZGVmYXVsdC1oaWdobGlnaHQtY29sb3VyKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodCAuY20tYWN0aXZlLFxuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodC1lZGl0b3IgLmNtLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tY29kZS1zdHlsZXItYWN0aXZlLWVkaXRvci1saW5lLWNvbG91ciksIHZhcigtLWdyYWRpZW50LWhpZ2hsaWdodHMtY29sb3VyLXN0b3ApLCB0cmFuc3BhcmVudCkgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQgLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9ja1tjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lXCJdLmNtLWFjdGl2ZSxcbi5jb2RlLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQtY29kZWJsb2NrIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPVwiY29kZS1zdHlsZXItbGluZVwiXS5jbS1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWNvZGUtc3R5bGVyLWFjdGl2ZS1jb2RlYmxvY2stbGluZS1jb2xvdXIpLCB2YXIoLS1ncmFkaWVudC1oaWdobGlnaHRzLWNvbG91ci1zdG9wKSwgdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKSkgIWltcG9ydGFudDtcbn1cblxuLyoqIExpbmUgbnVtYmVycyAqL1xuLmNvZGUtc3R5bGVyOm5vdCguY29kZS1zdHlsZXItc2hvdy1saW5lLW51bWJlcnMpIC5jb2RlLXN0eWxlci1saW5lLW51bWJlcixcbi5jb2RlLXN0eWxlci1saW5lLW51bWJlci1oaWRlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5jb2RlLXN0eWxlciBjb2RlID4gZGl2OmZpcnN0LWNoaWxkID4gW2NsYXNzXj0nY29kZS1zdHlsZXItbGluZS1udW1iZXInXSB7IC8qPyBNYWludGFpbiBndXR0ZXIgY29sb3VyIHdoZW4gcGFkZGVkICovXG5cdGJveC1zaGFkb3c6IDBweCBjYWxjKC0xICogdmFyKC0tY29kZS1wYWRkaW5nKSkgdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWJhY2tncm91bmQtY29sb3VyKTtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyBlYXNlLWluLW91dCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxuLmNvZGUtc3R5bGVyIC5jb2RlLXN0eWxlci1jb2xsYXBzZWQgPiBjb2RlID4gZGl2OmZpcnN0LWNoaWxkID4gW2NsYXNzXj0nY29kZS1zdHlsZXItbGluZS1udW1iZXInXSB7IC8qPyBNYWludGFpbiBndXR0ZXIgY29sb3VyIHdoZW4gcGFkZGVkICovXG5cdGJveC1zaGFkb3c6IDBweCAwcHggdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWJhY2tncm91bmQtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlciBjb2RlID4gZGl2Omxhc3QtY2hpbGQgPiBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHsgLyo/IE1haW50YWluIGd1dHRlciBjb2xvdXIgd2hlbiBwYWRkZWQgKi9cblx0Ym94LXNoYWRvdzogMHB4IHZhcigtLWNvZGUtcGFkZGluZykgdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWJhY2tncm91bmQtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlciBjb2RlID4gZGl2Om9ubHktY2hpbGQgPiBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHsgLyo/IE1haW50YWluIGd1dHRlciBjb2xvdXIgd2hlbiBwYWRkZWQgKi9cblx0Ym94LXNoYWRvdzogMHB4IGNhbGMoLTEgKiB2YXIoLS1jb2RlLXBhZGRpbmcpKSB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYmFja2dyb3VuZC1jb2xvdXIpLDBweCB2YXIoLS1jb2RlLXBhZGRpbmcpIHZhcigtLWNvZGUtc3R5bGVyLWd1dHRlci1iYWNrZ3JvdW5kLWNvbG91cik7XG59XG5bY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKDRweCArIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkpO1xuXHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRtaW4td2lkdGg6IHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci1taW4td2lkdGgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuXHRmb250LXNpemU6IHZhcigtLWNvZGUtc2l6ZSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItdGV4dC1jb2xvdXIpO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2sgLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyLFxuLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jayAuY29kZS1zdHlsZXItbGluZS1udW1iZXItc3BlY2lmaWMge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tbGluZS1udW1iZXItaGVpZ2h0LWNvcnJlY3Rpb24pO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLXdpZHRoOiBjYWxjKHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci1taW4td2lkdGgpIC0gMTJweCk7XG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdGRpcmVjdGlvbjogcnRsO1xuXHRsZWZ0OiAwO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jay1iZWdpbiAuY29kZS1zdHlsZXItbGluZS1udW1iZXIsXG4ubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luIC5jb2RlLXN0eWxlci1saW5lLW51bWJlci1zcGVjaWZpYyxcbi5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2stZW5kIC5jb2RlLXN0eWxlci1saW5lLW51bWJlcixcbi5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2stZW5kIC5jb2RlLXN0eWxlci1saW5lLW51bWJlci1zcGVjaWZpYyB7XG5cdHdpZHRoOiB2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItd2lkdGgpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMDtcblx0Ym9yZGVyLXRvcDogdmFyKC0tbGluZS1udW1iZXItaGVpZ2h0LWNvcnJlY3Rpb24pIHNvbGlkIHRyYW5zcGFyZW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBkaXY6bGFzdC1jaGlsZCA+IFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10ge1xuXHR3aWR0aDogdW5zZXQ7XG59XG4uY29kZS1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCBwcmUuY29kZS1zdHlsZXItcHJlIFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkXCJdIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmFkaWVudC1iYWNrZ3JvdW5kLWNvbG91cik7XG59XG4uY29kZS1zdHlsZXItYWN0aXZlLWxpbmUtaGlnaGxpZ2h0LmNvZGUtc3R5bGVyLWd1dHRlci1oaWdobGlnaHQgLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9ja1tjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lXCJdLmNtLWFjdGl2ZSBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddLFxuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodC1jb2RlYmxvY2suY29kZS1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uY20tYWN0aXZlIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10sXG4uY29kZS1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCBbY2xhc3MqPVwiY29kZS1zdHlsZXItbGluZS1oaWdobGlnaHRlZFwiXSBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cbi5jb2RlLXN0eWxlci1ndXR0ZXItYWN0aXZlLWxpbmUgLmNtLWFjdGl2ZSBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlcidde1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWFjdGl2ZS10ZXh0LWNvbG91cik7XG59XG4uY29kZS1zdHlsZXIuY29kZS1zdHlsZXItc2hvdy1saW5lLW51bWJlcnMgLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jazpoYXMoLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyKSxcbi5jb2RlLXN0eWxlci5jb2RlLXN0eWxlci1zaG93LWxpbmUtbnVtYmVycyAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrOmhhcyguY29kZS1zdHlsZXItbGluZS1udW1iZXItc3BlY2lmaWMpIHtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKDEycHggKyB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpICsgdmFyKC0tbGluZS1udW1iZXItZ3V0dGVyLXdpZHRoKSArIHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci1wYWRkaW5nKSkgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddOjpiZWZvcmUge1xuXHRjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKiBMaW5lIHRleHQgKi9cbnByZS5jb2RlLXN0eWxlci1wcmUgPiBjb2RlID4gZGl2W2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddIHtcblx0ZGlzcGxheTogY29udGVudHMgIWltcG9ydGFudDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgLmNvZGUtc3R5bGVyLWxpbmUtdGV4dCB7XG5cdGZsZXgtYmFzaXM6IDEwMCU7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tbGluZS1udW1iZXItZ3V0dGVyLXBhZGRpbmcpO1xuXHRncmlkLWNvbHVtbjogMjtcbn1cbi5IeXBlck1ELWNvZGVibG9jazpoYXMoPiAuY20td2lkZ2V0QnVmZmVyKSB7IC8qPyBQcmV2ZW50IExpbmUgV3JhcHMgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5IeXBlck1ELWNvZGVibG9jazpoYXMoPiAuY20td2lkZ2V0QnVmZmVyKSA+IC5jbS1obWQtY29kZWJsb2NrIHsgLyo/IFByZXZlbnQgTGluZSBXcmFwcyAqL1xuXHR3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xufVxuXG4vKiogU2Nyb2xsIEJhciAqL1xucHJlLmNvZGUtc3R5bGVyLXByZTo6LXdlYmtpdC1zY3JvbGxiYXIsXG5wcmUuY29kZS1zdHlsZXItcHJlID4gY29kZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogdmFyKC0tY29kZS1wYWRkaW5nKSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IHZhcigtLWNvZGUtcGFkZGluZykgIWltcG9ydGFudDtcbn1cblxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1jb2xsYXBzZWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLFxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1jb2xsYXBzZWQgY29kZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiogQnV0dG9ucyAqL1xuQGtleWZyYW1lcyBvdXRkZW50IHtcblx0ZnJvbSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKSAtIHZhcigtLWRlbnQtZGlmZmVyZW5jZSkpO1xuXHRcdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1pbik7XG5cdH1cblx0dG8ge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pO1xuXHRcdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGluZGVudCB7XG5cdGZyb20ge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pO1xuXHRcdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xuXHR9XG5cdHRvIHtcblx0XHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pIC0gdmFyKC0tZGVudC1kaWZmZXJlbmNlKSk7XG5cdFx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcblx0fVxufVxuQGtleWZyYW1lcyByZXZlcnNlLW91dGRlbnQge1xuXHRmcm9tIHtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24taW4pO1xuXHR9XG5cdHRvIHtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcblx0fVxufVxuQGtleWZyYW1lcyByZXZlcnNlLWluZGVudCB7XG5cdGZyb20ge1xuXHRcdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xuXHR9XG5cdHRvIHtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24taW4pO1xuXHR9XG59XG4ubWFya2Rvd24tcmVuZGVyZWQgcHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24ge1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgdmFyKC0tZHVyYXRpb24tYnV0dG9uKSwgb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRvcGFjaXR5OiAxO1xuXHRkaXNwbGF5OiB1bnNldCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItYnV0dG9uLWNvbG91cikgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZTpub3QoLmNvZGUtc3R5bGVyLWNvbGxhcHNlZCk6bm90KDpob3ZlcikgYnV0dG9uLFxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1jb2xsYXBzZWQgYnV0dG9uLFxucHJlLmNvZGUtc3R5bGVyLXByZTpub3QoLmNvZGUtc3R5bGVyLWNvbGxhcHNlZCk6bm90KDpob3ZlcikgW2NsYXNzXj0nY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciddOjphZnRlciB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0b3BhY2l0eTogMFxufVxuW2NsYXNzXj0nY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciddOjphZnRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW46IGF1dG87XG5cdG1hcmdpbi1yaWdodDogdmFyKC0taGVhZGVyLWJ1dHRvbi1zcGFjaW5nKTtcblx0Y29udGVudDogXCJcXDIwMGJcIjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItYnV0dG9uLWNvbG91cik7XG5cdC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMicgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0NwYXRoIGQ9J00xNiAyMiA2IDEybDEuNC0xLjQgOC42IDguNiA4LjYtOC42TDI2IDEyeicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDMydjMySDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHQtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInIGZpbGw9J25vbmUnIHN0cm9rZT0nY3VycmVudENvbG9yJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOScvJTNFJTNDL3N2ZyUzRVwiKTtcblx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0b3BhY2l0eTogMTtcblx0c2NhbGU6IDAuODtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tYnV0dG9uKSBlYXNlLW91dCwgdmlzaWJpbGl0eSB2YXIoLS1kdXJhdGlvbi1idXR0b24pLCBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLWJ1dHRvbiksIHNjYWxlIHZhcigtLWR1cmF0aW9uLWJ1dHRvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4xNCwgMC4zLCAxKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItY29sbGFwc2VkIFtjbGFzc149J2NvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXInXTo6YWZ0ZXIsXG4ubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IFtjbGFzc149J2NvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXInXTpub3QoOmhhcygrIC5IeXBlck1ELWNvZGVibG9jay1iZWdpbikpOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5bY2xhc3NePSdjb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyJ106aG92ZXI6OmFmdGVyIHtcblx0c2NhbGU6IDE7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmdpY29ucy1hbHdheXMpOm5vdCguY29kZS1zdHlsZXItc2hvdy1sYW5nbmFtZXMtYWx3YXlzKSBwcmUuY29kZS1zdHlsZXItcHJlOmhhcyggLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIpIGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uLFxuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ25hbWVzLWFsd2F5cykgcHJlLmNvZGUtc3R5bGVyLXByZTpub3QoOmhhcyggLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItc3BlY2lmaWMpKTpub3QoOmhhcyggLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIgaW1nLmNvZGUtc3R5bGVyLWljb24pKSBidXR0b24uY29weS1jb2RlLWJ1dHRvbixcbmJvZHkgcHJlLmNvZGUtc3R5bGVyLXByZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pOmhhcyguY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcikgYnV0dG9uLmNvcHktY29kZS1idXR0b24geyAvKj8gRGVwZW5kaW5nIG9uIGhlYWRlciB2aXNpYmlsaXR5ICovXG5cdHRvcDogY2FsYygwLjUgKiB2YXIoLS1mb250LXRleHQtc2l6ZSkgKiAwLjg3NSAqIHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCkpICFpbXBvcnRhbnQ7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IDEycHg7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmdpY29ucy1hbHdheXMpOm5vdCguY29kZS1zdHlsZXItc2hvdy1sYW5nbmFtZXMtYWx3YXlzKSAubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyICsgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luLFxuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ25hbWVzLWFsd2F5cykgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoOmhhcyggaW1nLmNvZGUtc3R5bGVyLWljb24pKSArIC5IeXBlck1ELWNvZGVibG9jay1iZWdpbixcbmJvZHkgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoOmhhcyhbY2xhc3MqPSdjb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLSddKSkgKyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4geyAvKj8gRGVwZW5kaW5nIG9uIGhlYWRlciB2aXNpYmlsaXR5ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmdpY29ucy1hbHdheXMpOm5vdCguY29kZS1zdHlsZXItc2hvdy1sYW5nbmFtZXMtYWx3YXlzKSAubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyICsgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luIHNwYW4uY29kZS1ibG9jay1mbGFpcixcbmJvZHk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmduYW1lcy1hbHdheXMpIC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXI6bm90KDpoYXMoIGltZy5jb2RlLXN0eWxlci1pY29uKSkgKyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4gc3Bhbi5jb2RlLWJsb2NrLWZsYWlyLFxuYm9keSAubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyOm5vdCg6aGFzKFtjbGFzcyo9J2NvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctJ10pKSArIC5IeXBlck1ELWNvZGVibG9jay1iZWdpbiBzcGFuLmNvZGUtYmxvY2stZmxhaXIgeyAvKj8gRGVwZW5kaW5nIG9uIGhlYWRlciB2aXNpYmlsaXR5ICovXG5cdHRvcDogY2FsYygwLjUgKiB2YXIoLS1mb250LXRleHQtc2l6ZSkgKiAwLjg3NSAqIHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCkpICFpbXBvcnRhbnQ7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IDEycHg7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR0b3A6IG1heChjYWxjKDAuNSAqIHZhcigtLWNvbnRhaW5lci1oZWlnaHQpICogMSksY2FsYygwLjUgKiB2YXIoLS1jb250YWluZXItbWluLWhlaWdodCkgKiAxKSkgIWltcG9ydGFudDtcblx0Ym90dG9tOiB1bnNldCAhaW1wb3J0YW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY29weS1jb2RlLWJ1dHRvbixcbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbiwgLyo/IEV4ZWN1dGUgQ29kZSBQbHVnaW4gQ29tcGF0aWJpbGl0eSAqL1xuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyIHtcblx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKSAtIHZhcigtLWRlbnQtZGlmZmVyZW5jZSkpO1xuXHR3aWxsLWNoYW5nZTogbWFyZ2luLXJpZ2h0LCBjbGlwLXBhdGg7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1pbik7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uOm5vdCg6YWN0aXZlKSxcbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbjpub3QoOmFjdGl2ZSksIC8qPyBFeGVjdXRlIENvZGUgUGx1Z2luIENvbXBhdGliaWxpdHkgKi9cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpcjpub3QoOmFjdGl2ZSkge1xuXHRhbmltYXRpb246IGluZGVudCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY29weS1jb2RlLWJ1dHRvbjpob3ZlcixcbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbjpob3ZlciwgLyo/IEV4ZWN1dGUgQ29kZSBQbHVnaW4gQ29tcGF0aWJpbGl0eSAqL1xuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyOmhvdmVye1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YW5pbWF0aW9uOiBvdXRkZW50IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pO1xuXHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b246YWN0aXZlLFxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24ucnVuLWNvZGUtYnV0dG9uOmFjdGl2ZSwgLyo/IEV4ZWN1dGUgQ29kZSBQbHVnaW4gQ29tcGF0aWJpbGl0eSAqL1xuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyOmFjdGl2ZSB7XG5cdHNjYWxlOiAwLjk1O1xuXHR0cmFuc2l0aW9uOiBzY2FsZSB2YXIoLS1kdXJhdGlvbi1idXR0b24pIGN1YmljLWJlemllcigwLjQsIDAuMTQsIDAuMywgMSk7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uOjpiZWZvcmUsXG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDE0cHg7XG5cdGhlaWdodDogMTRweDtcblx0cGFkZGluZy1yaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyKTtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTI4IDEwdjE4SDEwVjEwaDE4bTAtMkgxMGEyIDIgMCAwIDAtMiAydjE4YTIgMiAwIDAgMCAyIDJoMThhMiAyIDAgMCAwIDItMlYxMGEyIDIgMCAwIDAtMi0yWicvJTNFJTNDcGF0aCBkPSdNNCAxOEgyVjRhMiAyIDAgMCAxIDItMmgxNHYySDRaJy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMzJ2MzJIMHonIGRhdGEtbmFtZT0nJmx0O1RyYW5zcGFyZW50IFJlY3RhbmdsZSZndDsnLyUzRSUzQy9zdmclM0VcIik7XG5cdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J00yOCAxMHYxOEgxMFYxMGgxOG0wLTJIMTBhMiAyIDAgMCAwLTIgMnYxOGEyIDIgMCAwIDAgMiAyaDE4YTIgMiAwIDAgMCAyLTJWMTBhMiAyIDAgMCAwLTItMlonLyUzRSUzQ3BhdGggZD0nTTQgMThIMlY0YTIgMiAwIDAgMSAyLTJoMTR2Mkg0WicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDMydjMySDB6JyBkYXRhLW5hbWU9JyZsdDtUcmFuc3BhcmVudCBSZWN0YW5nbGUmZ3Q7Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogMXB4O1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRmb250LXNpemU6IDA7XG5cdHRvcDogbWluKGNhbGMoLTAuNSAqIHZhcigtLWNvbnRhaW5lci1oZWlnaHQpICogMS4xIC0gdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aCkpLGNhbGMoLTAuNSAqIHZhcigtLWNvbnRhaW5lci1taW4taGVpZ2h0KSAqIDEuMSAtIHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpKSkgIWltcG9ydGFudDtcblx0cmlnaHQ6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsaW5lLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpciA+ICoge1xuXHR3aWR0aDogMHB4O1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyOjpiZWZvcmUge1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRvcGFjaXR5OiAxO1xuXHR2ZXJ0aWNhbC1hbGlnbjogLTFweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyOjphZnRlciB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdG9wYWNpdHk6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29udGVudDogJ0NvcHknO1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItYnV0dG9uLWNvbG91cik7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4uY29kZS1zdHlsZXItbGluZSB7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuIiwgIi8qKiBEZWZpbmUgQ1NTIFZhcmlhYmxlcyAqL1xuYm9keSB7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWZvbnQtd2VpZ2h0OiA0MDA7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWJvcmRlci1yYWRpdXM6IDZweDtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtcGFkZGluZy12ZXJ0aWNhbDogNXB4O1xuXHQtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWw6IDVweDtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtbWFyZ2luLWhvcml6b250YWw6IDBweDtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtY29sb3VyOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmU6IHZhcigtLWNvZGUtbm9ybWFsKTtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG59XG5cbi5jb2RlLXN0eWxlciAuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWlubGluZS1jb2RlLFxuLmNvZGUtc3R5bGVyIC5tYXJrZG93bi1yZW5kZXJlZCA6bm90KHByZSkgPiBjb2RlIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1mb250LXdlaWdodCk7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtY29sb3VyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcblx0cGFkZGluZzogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLXBhZGRpbmctdmVydGljYWwpIHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMHB4IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1tYXJnaW4taG9yaXpvbnRhbCkgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWZvcm1hdHRpbmctY29kZSB7IC8qPyBTdGFuZGFsb25lIGJhY2t0aWNrcyAqL1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmUpO1xuXHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAuY20tcy1vYnNpZGlhbiBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIgfiBzcGFuLmNtLWlubGluZS1jb2RlOm5vdCguY20tZm9ybWF0dGluZy1jb2RlKSB7XG5cdG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMHB4IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtYm9yZGVyLXJhZGl1cykgMHB4ICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgLmNtLXMtb2JzaWRpYW4gc3Bhbi5jb2RlLXN0eWxlci1pbmxpbmUtb3BlbmVyLFxuLmNvZGUtc3R5bGVyIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20tZm9ybWF0dGluZy1jb2RlOmhhcygrIHNwYW4uY20taW5saW5lLWNvZGU6bm90KC5jbS1mb3JtYXR0aW5nLWNvZGUpKSB7Lyo/IEZpcnN0IGJhY2t0aWNrICovXG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtY29sb3VyLWFjdGl2ZSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAwcHggMHB4IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLW1hcmdpbi1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20tZm9ybWF0dGluZy1jb2RlICsgc3Bhbi5jbS1pbmxpbmUtY29kZTpub3QoLmNtLWZvcm1hdHRpbmctY29kZSkgeyAvKj8gSW5uZXIgY29kZSB3aXRoIGJhY2t0aWNrcyAqL1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmUpO1xuXHRib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMHB4IDBweCAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20taW5saW5lLWNvZGU6bm90KC5jbS1mb3JtYXR0aW5nLWNvZGUpICsgc3Bhbi5jbS1mb3JtYXR0aW5nLWNvZGUgey8qPyBMYXN0IGJhY2t0aWNrICovXG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtY29sb3VyLWFjdGl2ZSk7XG5cdGJvcmRlci1yYWRpdXM6IDBweCB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtYm9yZGVyLXJhZGl1cykgdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWJvcmRlci1yYWRpdXMpIDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtcGFkZGluZy1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLW1hcmdpbi1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xufVxuYm9keS5jb2RlLXN0eWxlciBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIgPiBzcGFuID4gaW1nLmNvZGUtc3R5bGVyLWlubGluZS1pY29uOm5vdChbY2xhc3MqPVwiZW1vamlcIl0pIHtcblx0aGVpZ2h0OiBjYWxjKHZhcigtLWNvZGUtc2l6ZSkgKiAxLjIpO1xuXHRtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgc3Bhbi5jb2RlLXN0eWxlci1pbmxpbmUtb3BlbmVyIC5jb2RlLXN0eWxlci1pbmxpbmUtdGl0bGUge1xuXHRmb250LXdlaWdodDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLXRpdGxlLWZvbnQtd2VpZ2h0KTtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS10aXRsZS1jb2xvdXIpO1xufVxuLmNvZGUtc3R5bGVyIHNwYW4uY29kZS1zdHlsZXItaW5saW5lLW9wZW5lciAuY29kZS1zdHlsZXItaW5saW5lLXRpdGxlOjphZnRlciB7XG5cdGNvbnRlbnQ6ICdcXEZGNUMnO1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLXRpdGxlLWNvbG9yKTtcbn1cbi5jb2RlLXN0eWxlciBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIgc3BhbjpoYXMoID4gaW1nLmNvZGUtc3R5bGVyLWlubGluZS1pY29uKSB7XG5cdHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5jb2RlLXN0eWxlciAuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWlubGluZS1jb2RlIC5jb2RlLXN0eWxlci1pbmxpbmUtcGFyYW1ldGVycyB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLWNvbW1lbnQpO1xufVxuIiwgImRpdi5wcmludCB7XG5cdC0tbGluZS13cmFwcGluZzogcHJlLXdyYXAgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBkaXYucHJpbnQgcHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIHtcblx0bWF4LWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBkaXYucHJpbnQgcHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1jb2xsYXBzZWQgY29kZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsICIvKiogUGlja3IgMS44LjIgTUlUIHwgaHR0cHM6Ly9naXRodWIuY29tL1NpbW9ud2VwL3BpY2tyICovXG4ucGlja3Ige3Bvc2l0aW9uOiByZWxhdGl2ZTtvdmVyZmxvdzogdmlzaWJsZTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCl9ICAucGlja3IgKiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtvdXRsaW5lOiBub25lO2JvcmRlcjogbm9uZTthcHBlYXJhbmNlOiBub25lOy13ZWJraXQtYXBwZWFyYW5jZTogbm9uZX0gIC5waWNrciAucGNyLWJ1dHRvbiB7cG9zaXRpb246IHJlbGF0aXZlO2hlaWdodDogMmVtO3dpZHRoOiAyZW07cGFkZGluZzogMC41ZW07Y3Vyc29yOiBwb2ludGVyO2ZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtib3JkZXItcmFkaXVzOiAuMTVlbTtiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUwIDUwXCIgc3Ryb2tlPVwiJTIzNDI0NDVBXCIgc3Ryb2tlLXdpZHRoPVwiNXB4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiPjxwYXRoIGQ9XCJNNDUsNDVMNSw1XCI+PC9wYXRoPjxwYXRoIGQ9XCJNNDUsNUw1LDQ1XCI+PC9wYXRoPjwvc3ZnPicpIG5vLXJlcGVhdCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOiAwO3RyYW5zaXRpb246IGFsbCAwLjNzfSAgLnBpY2tyIC5wY3ItYnV0dG9uOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTtjb250ZW50OiAnJzt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2JvcmRlci1yYWRpdXM6IC4xNWVtO3otaW5kZXg6IC0xfSAgLnBpY2tyIC5wY3ItYnV0dG9uOjpiZWZvcmUge3otaW5kZXg6IGluaXRpYWx9ICAucGlja3IgLnBjci1idXR0b246OmFmdGVyIHtwb3NpdGlvbjogYWJzb2x1dGU7Y29udGVudDogJyc7dG9wOiAwO2xlZnQ6IDA7aGVpZ2h0OiAxMDAlO3dpZHRoOiAxMDAlO3RyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztiYWNrZ3JvdW5kOiB2YXIoLS1wY3ItY29sb3IpO2JvcmRlci1yYWRpdXM6IC4xNWVtfSAgLnBpY2tyIC5wY3ItYnV0dG9uLmNsZWFyIHtiYWNrZ3JvdW5kLXNpemU6IDcwJX0gIC5waWNrciAucGNyLWJ1dHRvbi5jbGVhcjo6YmVmb3JlIHtvcGFjaXR5OiAwfSAgLnBpY2tyIC5wY3ItYnV0dG9uLmNsZWFyOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHZhcigtLXBjci1jb2xvcil9ICAucGlja3IgLnBjci1idXR0b24uZGlzYWJsZWQge2N1cnNvcjogbm90LWFsbG93ZWR9ICAucGlja3IgKiwgLnBjci1hcHAgKiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtvdXRsaW5lOiBub25lO2JvcmRlcjogbm9uZTthcHBlYXJhbmNlOiBub25lOy13ZWJraXQtYXBwZWFyYW5jZTogbm9uZX0gIC5waWNrciBpbnB1dDpmb2N1cywgLnBpY2tyIGlucHV0LnBjci1hY3RpdmUsIC5waWNrciBidXR0b246Zm9jdXMsIC5waWNrciBidXR0b24ucGNyLWFjdGl2ZSwgLnBjci1hcHAgaW5wdXQ6Zm9jdXMsIC5wY3ItYXBwIGlucHV0LnBjci1hY3RpdmUsIC5wY3ItYXBwIGJ1dHRvbjpmb2N1cywgLnBjci1hcHAgYnV0dG9uLnBjci1hY3RpdmUge2JveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpLCAwIDAgMCAzcHggdmFyKC0tcGNyLWNvbG9yKX0gIC5waWNrciAucGNyLXBhbGV0dGUsIC5waWNrciAucGNyLXNsaWRlciwgLnBjci1hcHAgLnBjci1wYWxldHRlLCAucGNyLWFwcCAucGNyLXNsaWRlciB7dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzfSAgLnBpY2tyIC5wY3ItcGFsZXR0ZTpmb2N1cywgLnBpY2tyIC5wY3Itc2xpZGVyOmZvY3VzLCAucGNyLWFwcCAucGNyLXBhbGV0dGU6Zm9jdXMsIC5wY3ItYXBwIC5wY3Itc2xpZGVyOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSl9ICAucGNyLWFwcCB7cG9zaXRpb246IGZpeGVkO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjt6LWluZGV4OiAxMDAwMDtib3JkZXItcmFkaXVzOiAwLjFlbTtiYWNrZ3JvdW5kOiAjZmZmO29wYWNpdHk6IDA7dmlzaWJpbGl0eTogaGlkZGVuO3RyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdmlzaWJpbGl0eSAwcyAwLjNzO2ZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtib3gtc2hhZG93OiAwIDAuMTVlbSAxLjVlbSAwIHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwIDFlbSAwIHJnYmEoMCwgMCwgMCwgMC4wMyk7bGVmdDogMDt0b3A6IDB9ICAucGNyLWFwcC52aXNpYmxlIHt0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7dmlzaWJpbGl0eTogdmlzaWJsZTtvcGFjaXR5OiAxfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyB7ZGlzcGxheTogZmxleDtmbGV4LXdyYXA6IHdyYXA7bWFyZ2luLXRvcDogMC43NWVtfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcy5wY3ItbGFzdCB7bWFyZ2luOiAwfSAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7ICAucGNyLWFwcCAucGNyLXN3YXRjaGVzIHtkaXNwbGF5OiBncmlkO2FsaWduLWl0ZW1zOiBjZW50ZXI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIDEuNzVlbSl9ICB9ICAucGNyLWFwcCAucGNyLXN3YXRjaGVzID4gYnV0dG9uIHtmb250LXNpemU6IDFlbTtwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IGNhbGMoMS43NWVtIC0gMTBweCk7aGVpZ2h0OiBjYWxjKDEuNzVlbSAtIDEwcHgpO2JvcmRlci1yYWRpdXM6IDAuMTVlbTtjdXJzb3I6IHBvaW50ZXI7bWFyZ2luOiAyLjVweDtmbGV4LXNocmluazogMDtqdXN0aWZ5LXNlbGY6IGNlbnRlcjt0cmFuc2l0aW9uOiBhbGwgMC4xNXM7b3ZlcmZsb3c6IGhpZGRlbjtiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDt6LWluZGV4OiAxfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjo6YmVmb3JlIHtwb3NpdGlvbjogYWJzb2x1dGU7Y29udGVudDogJyc7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO2JhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTogNnB4O2JvcmRlci1yYWRpdXM6IC4xNWVtO3otaW5kZXg6IC0xfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjo6YWZ0ZXIge2NvbnRlbnQ6ICcnO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7YmFja2dyb3VuZDogdmFyKC0tcGNyLWNvbG9yKTtib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO2JvcmRlci1yYWRpdXM6IDAuMTVlbTtib3gtc2l6aW5nOiBib3JkZXItYm94fSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDEuMDUpfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjpub3QoLnBjci1hY3RpdmUpIHtib3gtc2hhZG93OiBub25lfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiB7ZGlzcGxheTogZmxleDtmbGV4LXdyYXA6IHdyYXA7YWxpZ24taXRlbXM6IGNlbnRlcjttYXJnaW46IDAgLTAuMmVtIDAgLTAuMmVtfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiA+ICoge21hcmdpbjogMCAwLjJlbX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQge2xldHRlci1zcGFjaW5nOiAwLjA3ZW07Zm9udC1zaXplOiAwLjc1ZW07dGV4dC1hbGlnbjogY2VudGVyO2N1cnNvcjogcG9pbnRlcjtjb2xvcjogIzc1Nzk3ZTtiYWNrZ3JvdW5kOiAjZjFmM2Y0O2JvcmRlci1yYWRpdXM6IC4xNWVtO3RyYW5zaXRpb246IGFsbCAwLjE1cztwYWRkaW5nOiAwLjQ1ZW0gMC41ZW07bWFyZ2luLXRvcDogMC43NWVtfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiBpbnB1dDpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDAuOTc1KX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQ6Zm9jdXMge2JveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpLCAwIDAgMCAzcHggcmdiYSg2NiwgMTMzLCAyNDQsIDAuNzUpfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdCB7Y29sb3I6ICM3NTc5N2U7dGV4dC1hbGlnbjogbGVmdDtmbGV4OiAxIDEgOGVtO21pbi13aWR0aDogOGVtO3RyYW5zaXRpb246IGFsbCAwLjJzO2JvcmRlci1yYWRpdXM6IC4xNWVtO2JhY2tncm91bmQ6ICNmMWYzZjQ7Y3Vyc29yOiB0ZXh0fSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdDo6LW1vei1zZWxlY3Rpb24ge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItcmVzdWx0OjpzZWxlY3Rpb24ge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItdHlwZS5hY3RpdmUge2NvbG9yOiAjZmZmO2JhY2tncm91bmQ6ICM0Mjg1ZjR9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3Itc2F2ZSwgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNhbmNlbCwgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyIHtjb2xvcjogI2ZmZjt3aWR0aDogYXV0b30gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1zYXZlLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2xlYXIge2NvbG9yOiAjZmZmfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXNhdmU6aG92ZXIsIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jYW5jZWw6aG92ZXIsIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jbGVhcjpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDAuOTI1KX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1zYXZlIHtiYWNrZ3JvdW5kOiAjNDI4NWY0fSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsIHtiYWNrZ3JvdW5kOiAjZjQ0MjUwfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyOmZvY3VzLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHJnYmEoMjQ0LCA2NiwgODAsIDAuNzUpfSAgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1waWNrZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTtoZWlnaHQ6IDE4cHg7d2lkdGg6IDE4cHg7Ym9yZGVyOiAycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOiAxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmV9ICAucGNyLWFwcCAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGUsIC5wY3ItYXBwIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5IHtwb3NpdGlvbjogcmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTstbW96LXVzZXItc2VsZWN0OiBub25lOy1tcy11c2VyLXNlbGVjdDogbm9uZTt1c2VyLXNlbGVjdDogbm9uZTtkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Y3Vyc29yOiBncmFiO2N1cnNvcjogLXdlYmtpdC1ncmFifSAgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wYWxldHRlOmFjdGl2ZSwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1jaG9vc2VyOmFjdGl2ZSwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5OmFjdGl2ZSB7Y3Vyc29yOiBncmFiYmluZztjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmd9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10ge3dpZHRoOiAxNC4yNWVtO21heC13aWR0aDogOTV2d30gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXN3YXRjaGVzIHttYXJnaW4tdG9wOiAuNmVtO3BhZGRpbmc6IDAgLjZlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLWludGVyYWN0aW9uIHtwYWRkaW5nOiAwIC42ZW0gLjZlbSAuNmVtfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIHtkaXNwbGF5OiBncmlkO2dyaWQtZ2FwOiAuNmVtO2dyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDRmcjtncmlkLXRlbXBsYXRlLXJvd3M6IDVmciBhdXRvIGF1dG87YWxpZ24taXRlbXM6IGNlbnRlcjtoZWlnaHQ6IDEwLjVlbTt3aWR0aDogMTAwJTthbGlnbi1zZWxmOiBmbGV4LXN0YXJ0fSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcHJldmlldyB7Z3JpZC1hcmVhOiAyIC8gMSAvIDQgLyAxO2hlaWdodDogMTAwJTt3aWR0aDogMTAwJTtkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiByb3c7anVzdGlmeS1jb250ZW50OiBjZW50ZXI7bWFyZ2luLWxlZnQ6IC42ZW19ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wcmV2aWV3IC5wY3ItbGFzdC1jb2xvciB7ZGlzcGxheTogbm9uZX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yIHtwb3NpdGlvbjogcmVsYXRpdmU7YmFja2dyb3VuZDogdmFyKC0tcGNyLWNvbG9yKTt3aWR0aDogMmVtO2hlaWdodDogMmVtO2JvcmRlci1yYWRpdXM6IDUwZW07b3ZlcmZsb3c6IGhpZGRlbn0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTtjb250ZW50OiAnJzt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2JvcmRlci1yYWRpdXM6IC4xNWVtO3otaW5kZXg6IC0xfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSB7Z3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAzO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTt6LWluZGV4OiAxfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSAucGNyLXBhbGV0dGUge2JvcmRlci1yYWRpdXM6IC4xNWVtO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGUgLnBjci1wYWxldHRlOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTtjb250ZW50OiAnJzt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2JvcmRlci1yYWRpdXM6IC4xNWVtO3otaW5kZXg6IC0xfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciB7Z3JpZC1hcmVhOiAyIC8gMiAvIDIgLyAyfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSB7Z3JpZC1hcmVhOiAzIC8gMiAvIDMgLyAyfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSB7aGVpZ2h0OiAwLjVlbTttYXJnaW46IDAgLjZlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIgLnBjci1waWNrZXIsIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1waWNrZXIge3RvcDogNTAlO3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIgLnBjci1zbGlkZXIsIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1zbGlkZXIge2ZsZXgtZ3JvdzogMTtib3JkZXItcmFkaXVzOiA1MGVtfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciAucGNyLXNsaWRlciB7YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZWQsICNmZjAsIGxpbWUsIGN5YW4sIGJsdWUsICNmMGYsIHJlZCl9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5IC5wY3Itc2xpZGVyIHtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCBibGFjayksIHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTogMTAwJSwgMC4yNWVtfVxuLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCAiLyoqIEV4ZWN1dGUgQ29kZSBQbHVnaW4gKi9cbnByZS5jb2RlLXN0eWxlci1wcmUgY29kZSB+IGNvZGUubGFuZ3VhZ2Utb3V0cHV0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKDIuNSAqIHZhcigtLWNvZGUtcGFkZGluZykpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItcGFkZGluZykpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci10b3A6IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpIHNvbGlkIHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1zZXBhcmF0b3ItY29sb3VyKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItY29sbGFwc2VkIGNvZGUgfiBjb2RlLmxhbmd1YWdlLW91dHB1dCB7XG5cdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItdG9wLXdpZHRoOiAwO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZTpob3ZlciBjb2RlIH4gY29kZS5sYW5ndWFnZS1vdXRwdXQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIH4gY29kZS5sYW5ndWFnZS1vdXRwdXQgaW5wdXQuaW50ZXJhY3RpdmUtc3RkaW4ge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29kZS1jb21tZW50KTtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgY29kZSB+IGNvZGUubGFuZ3VhZ2Utb3V0cHV0IGhyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbiB7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IDEycHg7XG5cdC0tZGVudC1kaWZmZXJlbmNlOiAyNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG5cdG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1jb2xsYXBzZWQgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbiB7XG5cdHRvcDogNTAwcHg7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5ydW4tY29kZS1idXR0b246OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDE0cHg7XG5cdGhlaWdodDogMTRweDtcblx0cGFkZGluZy1yaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyKTtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTcgMjhhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLjQ4Mi0uODc2bDIwIDExYTEgMSAwIDAgMSAwIDEuNzUybC0yMCAxMUExIDEgMCAwIDEgNyAyOFonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0LXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTcgMjhhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLjQ4Mi0uODc2bDIwIDExYTEgMSAwIDAgMSAwIDEuNzUybC0yMCAxMUExIDEgMCAwIDEgNyAyOFonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dmVydGljYWwtYWxpZ246IDBweDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNsZWFyLWJ1dHRvbi1kaXNhYmxlZCxcbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1idXR0b24tZGlzYWJsZWQge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jbGVhci1idXR0b24ge1xuXHRoZWlnaHQ6IDE0cHg7XG5cdG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpICsgMTJweCk7XG5cdHdpbGwtY2hhbmdlOiBtYXJnaW4tcmlnaHQsIGNsaXAtcGF0aDtcblx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNsZWFyLWJ1dHRvbjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXDIwMGJcIjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxNHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xuXHQtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDcGF0aCBkPSdNMTYgNCA2IDE0bDEuNDEgMS40MUwxNSA3LjgzVjI4aDJWNy44M2w3LjU5IDcuNThMMjYgMTQgMTYgNHonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0LXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTE2IDQgNiAxNGwxLjQxIDEuNDFMMTUgNy44M1YyOGgyVjcuODNsNy41OSA3LjU4TDI2IDE0IDE2IDR6Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMzJ2MzJIMHonIGRhdGEtbmFtZT0nJmx0O1RyYW5zcGFyZW50IFJlY3RhbmdsZSZndDsnLyUzRSUzQy9zdmclM0VcIik7XG5cdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHZlcnRpY2FsLWFsaWduOiAwcHg7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jbGVhci1idXR0b246bm90KDphY3RpdmUpIHtcblx0YW5pbWF0aW9uOiByZXZlcnNlLWluZGVudCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY2xlYXItYnV0dG9uOmhvdmVye1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YW5pbWF0aW9uOiByZXZlcnNlLW91dGRlbnQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbik7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY2xlYXItYnV0dG9uOmFjdGl2ZSB7XG5cdHNjYWxlOiAwLjk1O1xuXHR0cmFuc2l0aW9uOiBzY2FsZSB2YXIoLS1kdXJhdGlvbi1idXR0b24pIGN1YmljLWJlemllcigwLjQsIDAuMTQsIDAuMywgMSk7XG59XG4uY29kZS1zdHlsZXItcHJlLXBhcmVudC5oYXMtcnVuLWNvZGUtYnV0dG9uIC5sb2FkLXN0YXRlLWluZGljYXRvciB7XG5cdGNvbG9yOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHR6LWluZGV4OiAxMDtcbn1cbi5jb2RlLXN0eWxlci1wcmUtcGFyZW50Lmhhcy1ydW4tY29kZS1idXR0b24gLmxvYWQtc3RhdGUtaW5kaWNhdG9yOjpiZWZvcmUge1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQuaGFzLXJ1bi1jb2RlLWJ1dHRvbiAubG9hZC1zdGF0ZS1pbmRpY2F0b3Igc3ZnIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xufVxuLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQuaGFzLXJ1bi1jb2RlLWJ1dHRvbiAubG9hZC1zdGF0ZS1pbmRpY2F0b3Igc3ZnOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1hY3RpdmUtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlci1wcmUtcGFyZW50Lmhhcy1ydW4tY29kZS1idXR0b24gLmxvYWQtc3RhdGUtaW5kaWNhdG9yLnZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qKiBFbWJlZCBDb2RlIFBsdWdpbiAqL1xuLmJsb2NrLWxhbmd1YWdlLXByZXZpZXcgcHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIHtcblx0d2hpdGUtc3BhY2U6IHVuc2V0O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBzcGFuLmNvZGUtYmxvY2stbGluZV9udW0td3JhcCxcbnByZS5jb2RlLXN0eWxlci1wcmUgZGl2LmNvZGUtYmxvY2staGlnaGxpZ2h0LXdyYXAge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50ICsgLmVkaXQtYmxvY2stYnV0dG9uOjphZnRlciB7XG5cdGNvbnRlbnQ6ICdFZGl0IEJsb2NrJztcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRwYWRkaW5nLWxlZnQ6IDRweDtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1lbWJlZC1ibG9jazpub3QoOmhvdmVyKSAuY29kZS1zdHlsZXItcHJlLXBhcmVudCArIC5lZGl0LWJsb2NrLWJ1dHRvbiB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0b3BhY2l0eTogMFxufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50ICsgLmVkaXQtYmxvY2stYnV0dG9uIHtcblx0LS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbjogY2FsYygyLjIgKiB2YXIoLS1oZWFkZXItYnV0dG9uLXNwYWNpbmcpKTtcblx0LS1kZW50LWRpZmZlcmVuY2U6IDBweDtcblx0LS1wb2x5Z29uLWluOiBwb2x5Z29uKDAgMCwgMThweCAwLCAxOHB4IDM2cHgsIDAgMzZweCk7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSB2YXIoLS1kdXJhdGlvbi1idXR0b24pLCBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdG9wYWNpdHk6IDE7XG5cdHotaW5kZXg6IDEwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRvcDogbWF4KGNhbGMoMC41ICogdmFyKC0tY29udGFpbmVyLWhlaWdodCkgKiAxKSxjYWxjKDAuNSAqIHZhcigtLWNvbnRhaW5lci1taW4taGVpZ2h0KSAqIDEpKTtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pIC0gdmFyKC0tZGVudC1kaWZmZXJlbmNlKSk7XG5cdHdpbGwtY2hhbmdlOiBtYXJnaW4tcmlnaHQsIGNsaXAtcGF0aDtcblx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcblx0cGFkZGluZzogMDtcbn1cbi8qISBDb21wbGljYXRlZCAqL1xuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ2ljb25zLWFsd2F5cyk6bm90KC5jb2RlLXN0eWxlci1zaG93LWxhbmduYW1lcy1hbHdheXMpIC5jbS1lbWJlZC1ibG9jayAuY29kZS1zdHlsZXItcHJlLXBhcmVudDpoYXMoIHByZS5jb2RlLXN0eWxlci1wcmUgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIpICsgLmVkaXQtYmxvY2stYnV0dG9uLFxuYm9keTpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGFuZ25hbWVzLWFsd2F5cykgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50Om5vdCg6aGFzKCBwcmUuY29kZS1zdHlsZXItcHJlIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLXNwZWNpZmljKSk6bm90KDpoYXMoIHByZS5jb2RlLXN0eWxlci1wcmUgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIgaW1nLmNvZGUtc3R5bGVyLWljb24pKSArIC5lZGl0LWJsb2NrLWJ1dHRvbixcbmJvZHkgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50OmhhcyggcHJlLmNvZGUtc3R5bGVyLXByZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyKSArIC5lZGl0LWJsb2NrLWJ1dHRvbiB7IC8qPyBEZXBlbmRpbmcgb24gaGVhZGVyIHZpc2liaWxpdHkgKi9cblx0LS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbjogNHB4O1xuXHR0b3A6IGNhbGMoMC41ICogdmFyKC0tZm9udC10ZXh0LXNpemUpICogMC44NzUgKiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpKTtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1lbWJlZC1ibG9jazpob3ZlciAuY29kZS1zdHlsZXItcHJlLXBhcmVudCArIC5lZGl0LWJsb2NrLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRhbmltYXRpb246IHJldmVyc2Utb3V0ZGVudCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLW91dCk7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZW1iZWQtYmxvY2s6aG92ZXIgLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQgKyAuZWRpdC1ibG9jay1idXR0b246YWN0aXZlIHtcblx0c2NhbGU6IDAuOTU7XG5cdHRyYW5zaXRpb246IHNjYWxlIHZhcigtLWR1cmF0aW9uLWJ1dHRvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4xNCwgMC4zLCAxKTtcbn1cblxuLyoqIEZpbGUgSW5jbHVkZSBQbHVnaW4gKi9cbmRpdi5ibG9jay1sYW5ndWFnZS1pbmNsdWRlIHByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b24ge1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbikgLSB2YXIoLS1kZW50LWRpZmZlcmVuY2UpKTtcbn1cbmRpdi5ibG9jay1sYW5ndWFnZS1pbmNsdWRlIHByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b246aG92ZXIge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQTtBQUVDLG1CQUFpQjtBQUNqQixnQ0FBOEI7QUFDOUIsa0JBQWdCO0FBQ2hCLHNCQUFvQixLQUFLLElBQUksc0JBQXNCLEVBQUUsRUFBRSxFQUFFLElBQUksaUNBQWlDLEVBQUUsSUFBSTtBQUNwRywwQkFBd0IsS0FBSyxDQUFDLElBQUksb0JBQW9CLEVBQUUsRUFBRSxFQUFFLElBQUksaUNBQWlDLEVBQUUsSUFBSSxxQkFBcUIsRUFBRSxJQUFJO0FBQ2xJLDRCQUEwQixJQUFJO0FBQzlCLDJCQUF5QjtBQUd6QixzQkFBb0IsSUFBSTtBQUN4QixvQkFBa0I7QUFDbEIsbUNBQWlDO0FBQ2pDLG9CQUFrQjtBQUNsQiwyQkFBeUI7QUFDekIsNEJBQTBCO0FBQzFCLG9DQUFrQyxJQUFJO0FBQ3RDLCtCQUE2QjtBQUM3Qiw2QkFBMkIsRUFBRSxNQUFNO0FBQ25DLHdCQUFzQjtBQUN0QiwwQkFBd0I7QUFHeEIscUNBQW1DO0FBR25DLG1DQUFpQztBQUNqQyxnQ0FBOEI7QUFDOUIsa0NBQWdDO0FBR2hDLG1CQUFpQjtBQUNqQiwwQkFBd0IsSUFBSTtBQUc1QiwrQkFBNkIsSUFBSTtBQUNqQyxzQ0FBb0M7QUFDcEMscUJBQW1CO0FBQ25CLHFCQUFtQjtBQUNuQixnQkFBYyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUU7QUFDaEQsaUJBQWUsUUFBUSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFO0FBQ2pELG1DQUFpQyxLQUFLLEVBQUUs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 */